about summary refs log tree commit diff
diff options
context:
space:
mode:
authorCharlie Sheridan <Charlie@sirideain.org>2017-05-02 13:33:10 -0400
committerCharlie Sheridan <Charlie@sirideain.org>2017-05-02 13:33:10 -0400
commitdf5ab64d6cb881e59244182aedd9f652c3673630 (patch)
tree7c215a48c07b3bcf296528bb6754d75d58b6e787
parent96e2c34286099eea4f51daaadbb82a8fbe99e0f6 (diff)
downloadrust-df5ab64d6cb881e59244182aedd9f652c3673630.tar.gz
rust-df5ab64d6cb881e59244182aedd9f652c3673630.zip
Add test for Inherent static methods can be called with a non-well-formed Self-type.
-rw-r--r--src/test/compile-fail/issue-28848.rs23
1 files changed, 23 insertions, 0 deletions
diff --git a/src/test/compile-fail/issue-28848.rs b/src/test/compile-fail/issue-28848.rs
new file mode 100644
index 00000000000..3d23ce0ee4e
--- /dev/null
+++ b/src/test/compile-fail/issue-28848.rs
@@ -0,0 +1,23 @@
+// Copyright 2017 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+struct Foo<'a, 'b: 'a>(&'a &'b ());
+
+impl<'a, 'b> Foo<'a, 'b> {
+    fn xmute(a: &'b ()) -> &'a () {
+        unreachable!()
+    }
+}
+
+pub fn foo<'a, 'b>(u: &'b ()) -> &'a () {
+    Foo::<'a, 'b>::xmute(u) //~ ERROR lifetime bound not satisfied
+}
+
+fn main() {}
\ No newline at end of file