leo/tests/compiler/circuits/mut_self_variable_branch.leo

27 lines
415 B
Plaintext
Raw Normal View History

2021-05-05 11:37:51 +03:00
/*
namespace: Compile
expectation: Pass
2021-05-12 20:47:03 +03:00
input_file: input/dummy.in
2021-05-05 11:37:51 +03:00
*/
2020-12-17 00:02:31 +03:00
circuit Foo {
a: u8;
2020-12-17 00:02:31 +03:00
function set_a(mut self, condition: bool, new: u8) {
if condition {
self.a = new;
}
}
}
2021-05-12 20:47:03 +03:00
function main(y: bool) -> bool {
let f = Foo { a: 0u8 };
2020-12-17 00:02:31 +03:00
f.set_a(false, 1u8);
f.set_a(true, 1u8);
f.set_a(false, 2u8);
f.set_a(true, 2u8);
2021-07-01 23:40:29 +03:00
return (f.a == 2u8) == y;
2021-05-05 11:37:51 +03:00
}