summaryrefslogtreecommitdiffstats
path: root/src/test/ui/specialization/specialization-default-types.stderr
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/ui/specialization/specialization-default-types.stderr')
-rw-r--r--src/test/ui/specialization/specialization-default-types.stderr39
1 files changed, 39 insertions, 0 deletions
diff --git a/src/test/ui/specialization/specialization-default-types.stderr b/src/test/ui/specialization/specialization-default-types.stderr
new file mode 100644
index 000000000..5ba38face
--- /dev/null
+++ b/src/test/ui/specialization/specialization-default-types.stderr
@@ -0,0 +1,39 @@
+warning: the feature `specialization` is incomplete and may not be safe to use and/or cause compiler crashes
+ --> $DIR/specialization-default-types.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[E0308]: mismatched types
+ --> $DIR/specialization-default-types.rs:15:9
+ |
+LL | default type Output = Box<T>;
+ | ----------------------------- expected this associated type
+LL | default fn generate(self) -> Self::Output {
+ | ------------ expected `<T as Example>::Output` because of return type
+LL | Box::new(self)
+ | ^^^^^^^^^^^^^^ expected associated type, found struct `Box`
+ |
+ = note: expected associated type `<T as Example>::Output`
+ found struct `Box<T>`
+
+error[E0308]: mismatched types
+ --> $DIR/specialization-default-types.rs:25:5
+ |
+LL | fn trouble<T>(t: T) -> Box<T> {
+ | ------ expected `Box<T>` because of return type
+LL | Example::generate(t)
+ | ^^^^^^^^^^^^^^^^^^^^ expected struct `Box`, found associated type
+ |
+ = note: expected struct `Box<T>`
+ found associated type `<T as Example>::Output`
+ = help: consider constraining the associated type `<T as Example>::Output` to `Box<T>`
+ = note: for more information, visit https://doc.rust-lang.org/book/ch19-03-advanced-traits.html
+
+error: aborting due to 2 previous errors; 1 warning emitted
+
+For more information about this error, try `rustc --explain E0308`.