summaryrefslogtreecommitdiffstats
path: root/src/test/ui/generic-associated-types/gat-trait-path-parenthesised-args.stderr
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/ui/generic-associated-types/gat-trait-path-parenthesised-args.stderr')
-rw-r--r--src/test/ui/generic-associated-types/gat-trait-path-parenthesised-args.stderr74
1 files changed, 74 insertions, 0 deletions
diff --git a/src/test/ui/generic-associated-types/gat-trait-path-parenthesised-args.stderr b/src/test/ui/generic-associated-types/gat-trait-path-parenthesised-args.stderr
new file mode 100644
index 000000000..162214063
--- /dev/null
+++ b/src/test/ui/generic-associated-types/gat-trait-path-parenthesised-args.stderr
@@ -0,0 +1,74 @@
+error: lifetime in trait object type must be followed by `+`
+ --> $DIR/gat-trait-path-parenthesised-args.rs:7:29
+ |
+LL | fn foo<'a>(arg: Box<dyn X<Y('a) = &'a ()>>) {}
+ | ^^
+
+error: parenthesized generic arguments cannot be used in associated type constraints
+ --> $DIR/gat-trait-path-parenthesised-args.rs:7:27
+ |
+LL | fn foo<'a>(arg: Box<dyn X<Y('a) = &'a ()>>) {}
+ | ^^^^^
+ |
+help: use angle brackets instead
+ |
+LL | fn foo<'a>(arg: Box<dyn X<Y<'a> = &'a ()>>) {}
+ | ~ ~
+
+error: parenthesized generic arguments cannot be used in associated type constraints
+ --> $DIR/gat-trait-path-parenthesised-args.rs:14:27
+ |
+LL | fn bar<'a>(arg: Box<dyn X<Y() = ()>>) {}
+ | ^--
+ | |
+ | help: remove these parentheses
+
+error[E0107]: this associated type takes 1 lifetime argument but 0 lifetime arguments were supplied
+ --> $DIR/gat-trait-path-parenthesised-args.rs:7:27
+ |
+LL | fn foo<'a>(arg: Box<dyn X<Y('a) = &'a ()>>) {}
+ | ^ expected 1 lifetime argument
+ |
+note: associated type defined here, with 1 lifetime parameter: `'a`
+ --> $DIR/gat-trait-path-parenthesised-args.rs:4:8
+ |
+LL | type Y<'a>;
+ | ^ --
+help: add missing lifetime argument
+ |
+LL | fn foo<'a>(arg: Box<dyn X<Y('a, 'a) = &'a ()>>) {}
+ | +++
+
+error[E0107]: this associated type takes 0 generic arguments but 1 generic argument was supplied
+ --> $DIR/gat-trait-path-parenthesised-args.rs:7:27
+ |
+LL | fn foo<'a>(arg: Box<dyn X<Y('a) = &'a ()>>) {}
+ | ^---- help: remove these generics
+ | |
+ | expected 0 generic arguments
+ |
+note: associated type defined here, with 0 generic parameters
+ --> $DIR/gat-trait-path-parenthesised-args.rs:4:8
+ |
+LL | type Y<'a>;
+ | ^
+
+error[E0107]: this associated type takes 1 lifetime argument but 0 lifetime arguments were supplied
+ --> $DIR/gat-trait-path-parenthesised-args.rs:14:27
+ |
+LL | fn bar<'a>(arg: Box<dyn X<Y() = ()>>) {}
+ | ^ expected 1 lifetime argument
+ |
+note: associated type defined here, with 1 lifetime parameter: `'a`
+ --> $DIR/gat-trait-path-parenthesised-args.rs:4:8
+ |
+LL | type Y<'a>;
+ | ^ --
+help: add missing lifetime argument
+ |
+LL | fn bar<'a>(arg: Box<dyn X<Y('a) = ()>>) {}
+ | ++
+
+error: aborting due to 6 previous errors
+
+For more information about this error, try `rustc --explain E0107`.