summaryrefslogtreecommitdiffstats
path: root/src/test/ui/specialization/defaultimpl/specialization-trait-not-implemented.stderr
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/ui/specialization/defaultimpl/specialization-trait-not-implemented.stderr')
-rw-r--r--src/test/ui/specialization/defaultimpl/specialization-trait-not-implemented.stderr44
1 files changed, 44 insertions, 0 deletions
diff --git a/src/test/ui/specialization/defaultimpl/specialization-trait-not-implemented.stderr b/src/test/ui/specialization/defaultimpl/specialization-trait-not-implemented.stderr
new file mode 100644
index 000000000..d1004a690
--- /dev/null
+++ b/src/test/ui/specialization/defaultimpl/specialization-trait-not-implemented.stderr
@@ -0,0 +1,44 @@
+warning: the feature `specialization` is incomplete and may not be safe to use and/or cause compiler crashes
+ --> $DIR/specialization-trait-not-implemented.rs:5:12
+ |
+LL | #![feature(specialization)]
+ | ^^^^^^^^^^^^^^
+ |
+ = note: `#[warn(incomplete_features)]` on by default
+ = note: see issue #31844 <https://github.com/rust-lang/rust/issues/31844> for more information
+ = help: consider using `min_specialization` instead, which is more stable and complete
+
+error[E0599]: the method `foo_one` exists for struct `MyStruct`, but its trait bounds were not satisfied
+ --> $DIR/specialization-trait-not-implemented.rs:22:29
+ |
+LL | struct MyStruct;
+ | ---------------
+ | |
+ | method `foo_one` not found for this struct
+ | doesn't satisfy `MyStruct: Foo`
+...
+LL | println!("{}", MyStruct.foo_one());
+ | ^^^^^^^ method cannot be called on `MyStruct` due to unsatisfied trait bounds
+ |
+note: trait bound `MyStruct: Foo` was not satisfied
+ --> $DIR/specialization-trait-not-implemented.rs:14:1
+ |
+LL | default impl<T> Foo for T {
+ | ^^^^^^^^^^^^^^^^---^^^^^-
+ | |
+ | unsatisfied trait bound introduced here
+note: the following trait must be implemented
+ --> $DIR/specialization-trait-not-implemented.rs:7:1
+ |
+LL | trait Foo {
+ | ^^^^^^^^^
+ = help: items from traits can only be used if the trait is implemented and in scope
+note: `Foo` defines an item `foo_one`, perhaps you need to implement it
+ --> $DIR/specialization-trait-not-implemented.rs:7:1
+ |
+LL | trait Foo {
+ | ^^^^^^^^^
+
+error: aborting due to previous error; 1 warning emitted
+
+For more information about this error, try `rustc --explain E0599`.