diff options
Diffstat (limited to 'src/test/ui/rfc-2632-const-trait-impl/tilde-const-invalid-places.rs')
-rw-r--r-- | src/test/ui/rfc-2632-const-trait-impl/tilde-const-invalid-places.rs | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/src/test/ui/rfc-2632-const-trait-impl/tilde-const-invalid-places.rs b/src/test/ui/rfc-2632-const-trait-impl/tilde-const-invalid-places.rs new file mode 100644 index 000000000..b4302f3e7 --- /dev/null +++ b/src/test/ui/rfc-2632-const-trait-impl/tilde-const-invalid-places.rs @@ -0,0 +1,29 @@ +#![feature(const_trait_impl)] +#![feature(associated_type_bounds)] + +trait T {} +struct S; +impl T for S {} + +fn rpit() -> impl ~const T { S } +//~^ ERROR `~const` is not allowed + +fn apit(_: impl ~const T) {} +//~^ ERROR `~const` is not allowed + +fn rpit_assoc_bound() -> impl IntoIterator<Item: ~const T> { Some(S) } +//~^ ERROR `~const` is not allowed + +fn apit_assoc_bound(_: impl IntoIterator<Item: ~const T>) {} +//~^ ERROR `~const` is not allowed + +fn generic<P: ~const T>() {} +//~^ ERROR `~const` is not allowed + +fn where_clause<P>() where P: ~const T {} +//~^ ERROR `~const` is not allowed + +struct TildeQuestion<T: ~const ?Sized>(std::marker::PhantomData<T>); +//~^ ERROR `~const` and `?` are mutually exclusive + +fn main() {} |