25 lines
353 B
Plaintext
25 lines
353 B
Plaintext
|
operator `=`[T](a: var T, b: T) {
|
||
|
#pragma[magic: "GenericAssign"]
|
||
|
}
|
||
|
|
||
|
|
||
|
operator `+`(a, b: int): int {
|
||
|
#pragma[magic: "AddInt64", pure]
|
||
|
}
|
||
|
|
||
|
|
||
|
operator `+=`(a: var int, b: int) {
|
||
|
a = a + b;
|
||
|
}
|
||
|
|
||
|
|
||
|
fn identity(x: var int): int {
|
||
|
x += 1;
|
||
|
return x;
|
||
|
}
|
||
|
|
||
|
|
||
|
var x = 5;
|
||
|
identity(x);
|
||
|
# identity(38); # If you uncomment this, the compiler errors out!
|