about summary refs log tree commit diff
diff options
context:
space:
mode:
authorJohannes Oertel <johannes.oertel@uni-due.de>2015-05-02 14:09:53 +0200
committerJohannes Oertel <johannes.oertel@uni-due.de>2015-05-02 15:22:27 +0200
commit42123b75f97312dbc4227390c38bc448ae5b9054 (patch)
tree3c257e6ee59ca4cce245f01c096a8e0287dbf8be
parent219385725185a6d7ece59ce881d0fcac4aedc4a3 (diff)
downloadrust-42123b75f97312dbc4227390c38bc448ae5b9054.tar.gz
rust-42123b75f97312dbc4227390c38bc448ae5b9054.zip
Add regression test for #19380
Closes #19380.
-rw-r--r--src/test/compile-fail/issue-19380.rs28
1 files changed, 28 insertions, 0 deletions
diff --git a/src/test/compile-fail/issue-19380.rs b/src/test/compile-fail/issue-19380.rs
new file mode 100644
index 00000000000..dbc0e410cf9
--- /dev/null
+++ b/src/test/compile-fail/issue-19380.rs
@@ -0,0 +1,28 @@
+// Copyright 2015 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.
+
+trait Qiz {
+  fn qiz();
+}
+
+struct Foo;
+impl Qiz for Foo {
+  fn qiz() {}
+}
+
+struct Bar {
+  foos: &'static [&'static (Qiz + 'static)]
+}
+
+const FOO : Foo = Foo;
+const BAR : Bar = Bar { foos: &[&FOO]};
+//~^ ERROR: cannot convert to a trait object because trait `Qiz` is not object-safe [E0038]
+
+fn main() { }