# Code does not compile

**URL:** https://talk.remobjects.com/t/code-does-not-compile/33488
**Category:** Oxygene
**Created:** [June 9, 2026, 10:06am UTC](https://talk.remobjects.com/t/code-does-not-compile/33488 "2026-06-09T10:06:43Z")
**Posts on this page:** 3
**Page:** 1

<div class="post-metadata">

### Author: ![infokevercom](https://talk.remobjects.com/letter_avatar_proxy/v4/letter/i/779978/32.png) [@infokevercom](https://talk.remobjects.com/u/infokevercom)
#### Post date: [June 9, 2026, 10:06am UTC](https://talk.remobjects.com/t/code-does-not-compile/33488/1 "2026-06-09T10:06:43Z")

</div>

This code no longer compiles when using latest Elements compiler (13.x)

```auto
unit System_;

interface

type
   TDummy = class
   end;

  function AtomicDecrement(var Target: Integer; const Value: Integer := 1): Integer; 
  function AtomicIncrement(var Target: Integer; const Value: Integer := 1): Integer; 
  function AtomicDecrement(var Target: Int64; const Value: Int64 := 1): Int64; 
  function AtomicIncrement(var Target: Int64; const Value: Int64 := 1): Int64;

implementation

function AtomicDecrement(var Target: Integer; const Value: Integer := 1): Integer;
begin
  Target := Target - Value;
  Result := Target;
end;

function AtomicIncrement(var Target: Integer; const Value: Integer := 1): Integer;
begin
  Target := Target + Value;
  Result := Target;
end;

function AtomicDecrement(out Target: Int64; const Value: Int64 := 1): Int64;
begin
  Target := Target - Value;
  Result := Target;
end;

function AtomicIncrement(var Target: Int64; const Value: Int64 := 1): Int64;
begin
  Target := Target + Value;
  Result := Target;
end;

end.

```

The error I get is:  
(E58) Duplicate method “class function AtomicDecrement(out Target: Int64; Value: Int64): Int64” with same signature

This code did work with earlier (12.x) compiler

---

<div class="post-metadata">

### Author: ![kateryna](https://talk.remobjects.com/user_avatar/talk.remobjects.com/kateryna/32/22306_2.png) [@kateryna](https://talk.remobjects.com/u/kateryna)
#### Post date: [June 10, 2026, 10:06am UTC](https://talk.remobjects.com/t/code-does-not-compile/33488/2 "2026-06-10T10:06:05Z")

</div>

Hi!

You have `var Target`in the declaration and `out Target`in the implementation. I suppose you wanted to use `var` in the implementation too?

Regards, Kate

---

<div class="post-metadata">

### Author: ![infokevercom](https://talk.remobjects.com/letter_avatar_proxy/v4/letter/i/779978/32.png) [@infokevercom](https://talk.remobjects.com/u/infokevercom)
#### Post date: [June 10, 2026, 10:20am UTC](https://talk.remobjects.com/t/code-does-not-compile/33488/3 "2026-06-10T10:20:37Z")

</div>

> [@infokevercom](#):
>
> `AtomicDecrement`

Thanks, we totally missed that!
