about summary refs log tree commit diff
diff options
context:
space:
mode:
authorChristian Poveda <christianpoveda@protonmail.com>2019-11-23 15:00:14 -0500
committerChristian Poveda <christianpoveda@protonmail.com>2019-12-02 09:03:41 -0500
commite31a1368fda9c5b4b4bc39e69754b19d36dff8c2 (patch)
tree1ae95df3db5cb8d31ae663ce8eac250984d67da9
parentd92e9b7374bb2087e0eb4803bfabb030c1397bcd (diff)
downloadrust-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.rs25
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];
 }