diff options
| author | Paul Faria <Nashenas88@gmail.com> | 2015-06-14 02:49:00 -0400 |
|---|---|---|
| committer | Paul Faria <Nashenas88@gmail.com> | 2015-06-19 21:02:49 -0400 |
| commit | 3f8a70b613d9e41dc6db11f1d267025bb26bf73d (patch) | |
| tree | 82b5d79cab6b4ae0b812f6dc1a42da9018d87d1c /src/test/compile-fail | |
| parent | 9adb3dfdcb2cab7a10d7ac7a48170672b3961fe8 (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.rs | 24 |
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`? } |
