diff options
Diffstat (limited to 'tests/ui/parser/trait-object-trait-parens.rs')
-rw-r--r-- | tests/ui/parser/trait-object-trait-parens.rs | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/tests/ui/parser/trait-object-trait-parens.rs b/tests/ui/parser/trait-object-trait-parens.rs new file mode 100644 index 000000000..438034bc3 --- /dev/null +++ b/tests/ui/parser/trait-object-trait-parens.rs @@ -0,0 +1,23 @@ +trait Trait<'a> {} + +trait Obj {} + +fn f<T: (Copy) + (?Sized) + (for<'a> Trait<'a>)>() {} + +fn main() { + let _: Box<(Obj) + (?Sized) + (for<'a> Trait<'a>)>; + //~^ ERROR `?Trait` is not permitted in trait object types + //~| ERROR only auto traits can be used as additional traits + //~| WARN trait objects without an explicit `dyn` are deprecated + //~| WARN this is accepted in the current edition + let _: Box<?Sized + (for<'a> Trait<'a>) + (Obj)>; + //~^ ERROR `?Trait` is not permitted in trait object types + //~| ERROR only auto traits can be used as additional traits + //~| WARN trait objects without an explicit `dyn` are deprecated + //~| WARN this is accepted in the current edition + let _: Box<for<'a> Trait<'a> + (Obj) + (?Sized)>; + //~^ ERROR `?Trait` is not permitted in trait object types + //~| ERROR only auto traits can be used as additional traits + //~| WARN trait objects without an explicit `dyn` are deprecated + //~| WARN this is accepted in the current edition +} |