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!
|