From 42bbb38e6f1dc40eb965465fed2579108995a1ec Mon Sep 17 00:00:00 2001 From: Yordan Madzhunkov <52652109+yordanmadzhunkov@users.noreply.github.com> Date: Mon, 9 Oct 2023 17:23:04 +0300 Subject: [PATCH] chore(tests): Test trait override of MutableReference of struct (#3011) Co-authored-by: Yordan Madzhunkov --- .../trait_override_implementation/src/main.nr | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/tooling/nargo_cli/tests/execution_success/trait_override_implementation/src/main.nr b/tooling/nargo_cli/tests/execution_success/trait_override_implementation/src/main.nr index 18f51032bcf..f5f01c79ad6 100644 --- a/tooling/nargo_cli/tests/execution_success/trait_override_implementation/src/main.nr +++ b/tooling/nargo_cli/tests/execution_success/trait_override_implementation/src/main.nr @@ -40,6 +40,11 @@ impl F for Bar { fn f3(self) -> Field { 30 } } +impl F for &mut Bar { + fn f1(self) -> Field { 101 } + fn f5(self) -> Field { 505 } +} + fn main(x: Field) { let first = Foo::method2(x); assert(first == 3 * x); @@ -50,4 +55,17 @@ fn main(x: Field) { assert(bar.f3() == 30); assert(bar.f4() == 4); assert(bar.f5() == 50); + + let mut bar_mut = Bar{}; + assert((&mut bar_mut).f1() == 101); + assert((&mut bar_mut).f2() == 2); + assert((&mut bar_mut).f3() == 3); + assert((&mut bar_mut).f4() == 4); + assert((&mut bar_mut).f5() == 505); + + assert(bar_mut.f1() == 10); + assert(bar_mut.f2() == 2); + assert(bar_mut.f3() == 30); + assert(bar_mut.f4() == 4); + assert(bar_mut.f5() == 50); } \ No newline at end of file