leo/compiler/tests/canonicalization/compound_assignment.leo

34 lines
576 B
Plaintext
Raw Normal View History

2021-03-27 00:02:59 +03:00
circuit Foo {
f: u8,
y: (u8, u8),
function z (mut self) -> u16 {
self.y.0 += 1u8;
return 1u16
}
2021-03-27 00:02:59 +03:00
}
function main() {
2021-03-26 08:52:58 +03:00
let x = 10u32;
x += 20;
2021-03-26 23:51:03 +03:00
console.assert(x == 30u32);
let y = [1u8, 2u8];
y[0] += 3u8;
console.assert(y[0] == 4u8);
let z = (1u8, 2u8);
z.1 += 3u8;
console.assert(z.1 == 5u8);
2021-03-27 00:02:59 +03:00
let foo = Foo { f: 6u8, y: (1u8, 1u8) };
2021-03-31 21:59:45 +03:00
foo.f += 2u8;
2021-03-27 00:02:59 +03:00
console.assert(foo.f == 8u8);
let a = [[0u8; 1]; 4];
a[2][0] += 1u8;
console.assert(a[2][0] == 1u8);
let b = [0u8; (4, 1)];
b[2][0] += 1u8;
console.assert(a[2][0] == 1u8);
}