From e31a1368fda9c5b4b4bc39e69754b19d36dff8c2 Mon Sep 17 00:00:00 2001 From: Christian Poveda Date: Sat, 23 Nov 2019 15:00:14 -0500 Subject: [PATCH] Extend test for const_mut_refs feature --- .../consts/const-mut-refs/const_mut_refs.rs | 27 ++++++++++++++++--- 1 file changed, 23 insertions(+), 4 deletions(-) diff --git a/src/test/ui/consts/const-mut-refs/const_mut_refs.rs b/src/test/ui/consts/const-mut-refs/const_mut_refs.rs index 36174b2843d..99006a20b1b 100644 --- a/src/test/ui/consts/const-mut-refs/const_mut_refs.rs +++ b/src/test/ui/consts/const-mut-refs/const_mut_refs.rs @@ -6,12 +6,31 @@ struct Foo { x: usize } -const fn bar(foo: &mut Foo) -> usize { +const fn foo() -> Foo { + Foo { x: 0 } +} + +impl Foo { + const fn bar(&mut self) -> usize { + self.x = 1; + self.x + } + +} + +const fn baz(foo: &mut Foo) -> usize { let x = &mut foo.x; - *x = 1; + *x = 2; *x } -fn main() { - let _: [(); bar(&mut Foo { x: 0 })] = [(); 1]; +const fn bazz(foo: &mut Foo) -> usize { + foo.x = 3; + foo.x +} + +fn main() { + let _: [(); foo().bar()] = [(); 1]; + let _: [(); baz(&mut foo())] = [(); 2]; + let _: [(); bazz(&mut foo())] = [(); 3]; }