diff options
Diffstat (limited to 'src/test/ui/never_type/issue-2149.rs')
-rw-r--r-- | src/test/ui/never_type/issue-2149.rs | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/src/test/ui/never_type/issue-2149.rs b/src/test/ui/never_type/issue-2149.rs new file mode 100644 index 000000000..d6426d2cf --- /dev/null +++ b/src/test/ui/never_type/issue-2149.rs @@ -0,0 +1,15 @@ +trait VecMonad<A> { + fn bind<B, F>(&self, f: F) where F: FnMut(A) -> Vec<B>; +} + +impl<A> VecMonad<A> for Vec<A> { + fn bind<B, F>(&self, mut f: F) where F: FnMut(A) -> Vec<B> { + let mut r = panic!(); + for elt in self { r = r + f(*elt); } + //~^ ERROR E0277 + } +} +fn main() { + ["hi"].bind(|x| [x] ); + //~^ ERROR no method named `bind` found +} |