diff options
| author | Christian Poveda <christianpoveda@protonmail.com> | 2019-11-23 15:00:14 -0500 |
|---|---|---|
| committer | Christian Poveda <christianpoveda@protonmail.com> | 2019-12-02 09:03:41 -0500 |
| commit | e31a1368fda9c5b4b4bc39e69754b19d36dff8c2 (patch) | |
| tree | 1ae95df3db5cb8d31ae663ce8eac250984d67da9 | |
| parent | d92e9b7374bb2087e0eb4803bfabb030c1397bcd (diff) | |
| download | rust-e31a1368fda9c5b4b4bc39e69754b19d36dff8c2.tar.gz rust-e31a1368fda9c5b4b4bc39e69754b19d36dff8c2.zip | |
Extend test for const_mut_refs feature
| -rw-r--r-- | src/test/ui/consts/const-mut-refs/const_mut_refs.rs | 25 |
1 files changed, 22 insertions, 3 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 } +const fn bazz(foo: &mut Foo) -> usize { + foo.x = 3; + foo.x +} + fn main() { - let _: [(); bar(&mut Foo { x: 0 })] = [(); 1]; + let _: [(); foo().bar()] = [(); 1]; + let _: [(); baz(&mut foo())] = [(); 2]; + let _: [(); bazz(&mut foo())] = [(); 3]; } |
