about summary refs log tree commit diff
path: root/src/test/compile-fail
diff options
context:
space:
mode:
authorPaul Faria <Nashenas88@gmail.com>2015-06-14 02:49:00 -0400
committerPaul Faria <Nashenas88@gmail.com>2015-06-19 21:02:49 -0400
commit3f8a70b613d9e41dc6db11f1d267025bb26bf73d (patch)
tree82b5d79cab6b4ae0b812f6dc1a42da9018d87d1c /src/test/compile-fail
parent9adb3dfdcb2cab7a10d7ac7a48170672b3961fe8 (diff)
Fixed note message to display expression in recommendations
Diffstat (limited to 'src/test/compile-fail')
-rw-r--r--src/test/compile-fail/issue-18343.rs24
1 files changed, 18 insertions, 6 deletions
diff --git a/src/test/compile-fail/issue-18343.rs b/src/test/compile-fail/issue-18343.rs
index 3572e5084c1..802b21d211c 100644
--- a/src/test/compile-fail/issue-18343.rs
+++ b/src/test/compile-fail/issue-18343.rs
@@ -13,18 +13,30 @@ struct Obj<F> where F: FnMut() -> u32 {
     nfn: usize,
 }
 
+struct S<F> where F: FnMut() -> u32 {
+    v: Obj<F>,
+}
+
 fn func() -> u32 {
     0
 }
 
 fn main() {
-    let o = Obj { closure: || 42 };
+    let o = Obj { closure: || 42, nfn: 42 };
     o.closure(); //~ ERROR no method named `closure` found
-    //~^ NOTE use `(s.closure)(...)` if you meant to call the function stored in the `closure` field
-    let x = o.nfn(); //~ ERROR no method named `closure` found
-    //~^ NOTE did you mean `o.nfn`?
+    //~^ NOTE use `(o.closure)(...)` if you meant to call the function stored in the `closure` field
 
-    let b = Obj { closure: func };
+    // TODO move these to a new test for #2392
+    let x = o.nfn(); //~ ERROR no method named `nfn` found
+    //~^ NOTE did you mean to write `o.nfn`?
+
+    let b = Obj { closure: func, nfn: 5 };
     b.closure(); //~ ERROR no method named `closure` found
-    //~^ NOTE use `(s.closure)(...)` if you meant to call the function stored in the `closure` field
+    //~^ NOTE use `(b.closure)(...)` if you meant to call the function stored in the `closure` field
+
+    let s = S { v: b };
+    s.v.closure();//~ ERROR no method named `closure` found
+    //~^ NOTE use `(s.v.closure)(...)` if you meant to call the function stored in the `closure` field
+    s.v.nfn();//~ ERROR no method named `nfn` found
+    //~^ NOTE did you mean to write `s.v.nfn`?
 }