leo/tests/compiler/circuits/mutable_call_immutable_context.leo

31 lines
517 B
Plaintext
Raw Normal View History

2021-05-05 11:37:51 +03:00
/*
namespace: Compile
expectation: Pass
*/
2021-04-02 11:50:14 +03:00
circuit TestMe {
x: u8;
2021-04-02 11:50:14 +03:00
function test_me(mut self) -> u8 {
self.x += 1;
return self.x;
2021-04-02 11:50:14 +03:00
}
function new() -> Self {
return Self { x: 1u8 };
}
}
function my_fn() -> TestMe {
return TestMe { x: 0u8 };
2021-04-02 11:50:14 +03:00
}
function main () {
const t = TestMe {x: 6u8}.test_me();
console.assert(t == 7u8);
const u = my_fn().test_me();
console.assert(u == 1u8);
const v = TestMe::new().test_me();
console.assert(v == 2u8);
2021-05-05 11:37:51 +03:00
}