leo/tests/compiler/circuits/big_self_in_circuit_replacement.leo

33 lines
543 B
Plaintext
Raw Normal View History

/*
namespace: Compile
expectation: Pass
input_file: input/dummy.in
*/
circuit Foo {
2021-08-25 18:55:26 +03:00
x: u32;
2021-08-25 18:55:26 +03:00
function new() -> Self {
let new: Self = Self {
x: 1u32
};
2021-08-25 18:55:26 +03:00
return new;
}
2021-08-25 18:55:26 +03:00
function etc() {
let y = [0u32, 1, 2, 3];
y[Self {x: 0}.x] += 2;
}
function func(a: [Self; 3], y: (Self)) {
2021-08-25 18:55:26 +03:00
const x: Self = Foo {x: Self {x: 1}.x};
}
function self_circ(x: Self) {}
}
function main(y: bool) -> bool {
2021-08-25 18:55:26 +03:00
let foo: Foo = Foo::new();
return foo.x == 1u32 && y;
}