]> git.lizzy.rs Git - rust.git/commitdiff
Fallout in tests -- break the object safety part into a separate file because error
authorNiko Matsakis <niko@alum.mit.edu>
Fri, 7 Aug 2015 14:59:28 +0000 (10:59 -0400)
committerNiko Matsakis <niko@alum.mit.edu>
Wed, 12 Aug 2015 21:58:56 +0000 (17:58 -0400)
will be in future reported by wfcheck, which runs in a later stage than
coherence

src/test/compile-fail/coherence-impl-trait-for-trait-object-safe.rs [new file with mode: 0644]
src/test/compile-fail/coherence-impl-trait-for-trait.rs

diff --git a/src/test/compile-fail/coherence-impl-trait-for-trait-object-safe.rs b/src/test/compile-fail/coherence-impl-trait-for-trait-object-safe.rs
new file mode 100644 (file)
index 0000000..ce6baeb
--- /dev/null
@@ -0,0 +1,19 @@
+// 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.
+
+// Test that we give suitable error messages when the user attempts to
+// impl a trait `Trait` for its own object type.
+
+// If the trait is not object-safe, we give a more tailored message
+// because we're such schnuckels:
+trait NotObjectSafe { fn eq(&self, other: Self); }
+impl NotObjectSafe for NotObjectSafe { } //~ ERROR E0372
+
+fn main() { }
index 332965cc94014ae89e9ecdb98abfe974c98d3ad9..cd75b0e34f24b5a791f1f0e767b4ab5344abddf8 100644 (file)
@@ -24,9 +24,4 @@ impl Baz for Baz { }   //~ ERROR E0371
 trait Other { }
 impl Other for Baz { } // OK, Other not a supertrait of Baz
 
-// If the trait is not object-safe, we give a more tailored message
-// because we're such schnuckels:
-trait NotObjectSafe { fn eq(&self, other: Self); }
-impl NotObjectSafe for NotObjectSafe { } //~ ERROR E0372
-
 fn main() { }