summaryrefslogtreecommitdiffstats
path: root/src/test/ui/did_you_mean/bad-assoc-ty.stderr
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/ui/did_you_mean/bad-assoc-ty.stderr')
-rw-r--r--src/test/ui/did_you_mean/bad-assoc-ty.stderr243
1 files changed, 243 insertions, 0 deletions
diff --git a/src/test/ui/did_you_mean/bad-assoc-ty.stderr b/src/test/ui/did_you_mean/bad-assoc-ty.stderr
new file mode 100644
index 000000000..2326af934
--- /dev/null
+++ b/src/test/ui/did_you_mean/bad-assoc-ty.stderr
@@ -0,0 +1,243 @@
+error: missing angle brackets in associated item path
+ --> $DIR/bad-assoc-ty.rs:1:10
+ |
+LL | type A = [u8; 4]::AssocTy;
+ | ^^^^^^^^^^^^^^^^ help: try: `<[u8; 4]>::AssocTy`
+
+error: missing angle brackets in associated item path
+ --> $DIR/bad-assoc-ty.rs:5:10
+ |
+LL | type B = [u8]::AssocTy;
+ | ^^^^^^^^^^^^^ help: try: `<[u8]>::AssocTy`
+
+error: missing angle brackets in associated item path
+ --> $DIR/bad-assoc-ty.rs:9:10
+ |
+LL | type C = (u8)::AssocTy;
+ | ^^^^^^^^^^^^^ help: try: `<(u8)>::AssocTy`
+
+error: missing angle brackets in associated item path
+ --> $DIR/bad-assoc-ty.rs:13:10
+ |
+LL | type D = (u8, u8)::AssocTy;
+ | ^^^^^^^^^^^^^^^^^ help: try: `<(u8, u8)>::AssocTy`
+
+error: missing angle brackets in associated item path
+ --> $DIR/bad-assoc-ty.rs:17:10
+ |
+LL | type E = _::AssocTy;
+ | ^^^^^^^^^^ help: try: `<_>::AssocTy`
+
+error: missing angle brackets in associated item path
+ --> $DIR/bad-assoc-ty.rs:21:19
+ |
+LL | type F = &'static (u8)::AssocTy;
+ | ^^^^^^^^^^^^^ help: try: `<(u8)>::AssocTy`
+
+error: missing angle brackets in associated item path
+ --> $DIR/bad-assoc-ty.rs:27:10
+ |
+LL | type G = dyn 'static + (Send)::AssocTy;
+ | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `<dyn 'static + (Send)>::AssocTy`
+
+error: missing angle brackets in associated item path
+ --> $DIR/bad-assoc-ty.rs:46:10
+ |
+LL | type I = ty!()::AssocTy;
+ | ^^^^^^^^^^^^^^ help: try: `<ty!()>::AssocTy`
+
+error: missing angle brackets in associated item path
+ --> $DIR/bad-assoc-ty.rs:39:19
+ |
+LL | ($ty: ty) => ($ty::AssocTy);
+ | ^^^^^^^^^^^^ help: try: `<$ty>::AssocTy`
+...
+LL | type J = ty!(u8);
+ | ------- in this macro invocation
+ |
+ = note: this error originates in the macro `ty` (in Nightly builds, run with -Z macro-backtrace for more info)
+
+error[E0223]: ambiguous associated type
+ --> $DIR/bad-assoc-ty.rs:1:10
+ |
+LL | type A = [u8; 4]::AssocTy;
+ | ^^^^^^^^^^^^^^^^ help: use fully-qualified syntax: `<[u8; 4] as Trait>::AssocTy`
+
+error[E0223]: ambiguous associated type
+ --> $DIR/bad-assoc-ty.rs:5:10
+ |
+LL | type B = [u8]::AssocTy;
+ | ^^^^^^^^^^^^^ help: use fully-qualified syntax: `<[u8] as Trait>::AssocTy`
+
+error[E0223]: ambiguous associated type
+ --> $DIR/bad-assoc-ty.rs:9:10
+ |
+LL | type C = (u8)::AssocTy;
+ | ^^^^^^^^^^^^^ help: use fully-qualified syntax: `<u8 as Trait>::AssocTy`
+
+error[E0223]: ambiguous associated type
+ --> $DIR/bad-assoc-ty.rs:13:10
+ |
+LL | type D = (u8, u8)::AssocTy;
+ | ^^^^^^^^^^^^^^^^^ help: use fully-qualified syntax: `<(u8, u8) as Trait>::AssocTy`
+
+error[E0121]: the placeholder `_` is not allowed within types on item signatures for type aliases
+ --> $DIR/bad-assoc-ty.rs:17:10
+ |
+LL | type E = _::AssocTy;
+ | ^ not allowed in type signatures
+
+error[E0223]: ambiguous associated type
+ --> $DIR/bad-assoc-ty.rs:21:19
+ |
+LL | type F = &'static (u8)::AssocTy;
+ | ^^^^^^^^^^^^^ help: use fully-qualified syntax: `<u8 as Trait>::AssocTy`
+
+error[E0223]: ambiguous associated type
+ --> $DIR/bad-assoc-ty.rs:27:10
+ |
+LL | type G = dyn 'static + (Send)::AssocTy;
+ | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use fully-qualified syntax: `<(dyn Send + 'static) as Trait>::AssocTy`
+
+warning: trait objects without an explicit `dyn` are deprecated
+ --> $DIR/bad-assoc-ty.rs:33:10
+ |
+LL | type H = Fn(u8) -> (u8)::Output;
+ | ^^^^^^^^^^^^^^
+ |
+ = note: `#[warn(bare_trait_objects)]` on by default
+ = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
+ = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
+help: use `dyn`
+ |
+LL | type H = <dyn Fn(u8) -> (u8)>::Output;
+ | ++++ +
+
+error[E0223]: ambiguous associated type
+ --> $DIR/bad-assoc-ty.rs:33:10
+ |
+LL | type H = Fn(u8) -> (u8)::Output;
+ | ^^^^^^^^^^^^^^^^^^^^^^ help: use fully-qualified syntax: `<(dyn Fn(u8) -> u8 + 'static) as Trait>::Output`
+
+error[E0223]: ambiguous associated type
+ --> $DIR/bad-assoc-ty.rs:39:19
+ |
+LL | ($ty: ty) => ($ty::AssocTy);
+ | ^^^^^^^^^^^^ help: use fully-qualified syntax: `<u8 as Trait>::AssocTy`
+...
+LL | type J = ty!(u8);
+ | ------- in this macro invocation
+ |
+ = note: this error originates in the macro `ty` (in Nightly builds, run with -Z macro-backtrace for more info)
+
+error[E0223]: ambiguous associated type
+ --> $DIR/bad-assoc-ty.rs:46:10
+ |
+LL | type I = ty!()::AssocTy;
+ | ^^^^^^^^^^^^^^ help: use fully-qualified syntax: `<u8 as Trait>::AssocTy`
+
+error[E0121]: the placeholder `_` is not allowed within types on item signatures for functions
+ --> $DIR/bad-assoc-ty.rs:51:13
+ |
+LL | fn foo<X: K<_, _>>(x: X) {}
+ | ^ ^ not allowed in type signatures
+ | |
+ | not allowed in type signatures
+ |
+help: use type parameters instead
+ |
+LL | fn foo<X: K<T, T>, T>(x: X) {}
+ | ~ ~ +++
+
+error[E0121]: the placeholder `_` is not allowed within types on item signatures for functions
+ --> $DIR/bad-assoc-ty.rs:54:34
+ |
+LL | fn bar<F>(_: F) where F: Fn() -> _ {}
+ | ^ not allowed in type signatures
+ |
+help: use type parameters instead
+ |
+LL | fn bar<F, T>(_: F) where F: Fn() -> T {}
+ | +++ ~
+
+error[E0121]: the placeholder `_` is not allowed within types on item signatures for functions
+ --> $DIR/bad-assoc-ty.rs:57:19
+ |
+LL | fn baz<F: Fn() -> _>(_: F) {}
+ | ^ not allowed in type signatures
+ |
+help: use type parameters instead
+ |
+LL | fn baz<F: Fn() -> T, T>(_: F) {}
+ | ~+++
+
+error[E0121]: the placeholder `_` is not allowed within types on item signatures for structs
+ --> $DIR/bad-assoc-ty.rs:60:33
+ |
+LL | struct L<F>(F) where F: Fn() -> _;
+ | ^ not allowed in type signatures
+ |
+help: use type parameters instead
+ |
+LL | struct L<F, T>(F) where F: Fn() -> T;
+ | +++ ~
+
+error[E0121]: the placeholder `_` is not allowed within types on item signatures for structs
+ --> $DIR/bad-assoc-ty.rs:62:30
+ |
+LL | struct M<F> where F: Fn() -> _ {
+ | ^ not allowed in type signatures
+ |
+help: use type parameters instead
+ |
+LL | struct M<F, T> where F: Fn() -> T {
+ | +++ ~
+
+error[E0121]: the placeholder `_` is not allowed within types on item signatures for enums
+ --> $DIR/bad-assoc-ty.rs:66:28
+ |
+LL | enum N<F> where F: Fn() -> _ {
+ | ^ not allowed in type signatures
+ |
+help: use type parameters instead
+ |
+LL | enum N<F, T> where F: Fn() -> T {
+ | +++ ~
+
+error[E0121]: the placeholder `_` is not allowed within types on item signatures for unions
+ --> $DIR/bad-assoc-ty.rs:71:29
+ |
+LL | union O<F> where F: Fn() -> _ {
+ | ^ not allowed in type signatures
+ |
+help: use type parameters instead
+ |
+LL | union O<F, T> where F: Fn() -> T {
+ | +++ ~
+
+error[E0121]: the placeholder `_` is not allowed within types on item signatures for traits
+ --> $DIR/bad-assoc-ty.rs:76:29
+ |
+LL | trait P<F> where F: Fn() -> _ {
+ | ^ not allowed in type signatures
+ |
+help: use type parameters instead
+ |
+LL | trait P<F, T> where F: Fn() -> T {
+ | +++ ~
+
+error[E0121]: the placeholder `_` is not allowed within types on item signatures for functions
+ --> $DIR/bad-assoc-ty.rs:81:38
+ |
+LL | fn foo<F>(_: F) where F: Fn() -> _ {}
+ | ^ not allowed in type signatures
+ |
+help: use type parameters instead
+ |
+LL | fn foo<F, T>(_: F) where F: Fn() -> T {}
+ | +++ ~
+
+error: aborting due to 28 previous errors; 1 warning emitted
+
+Some errors have detailed explanations: E0121, E0223.
+For more information about an error, try `rustc --explain E0121`.