#![feature(const_trait_impl)]
#![feature(associated_type_bounds)]

#[const_trait]
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

struct TildeQuestion<T: ~const ?Sized>(std::marker::PhantomData<T>);
//~^ ERROR `~const` and `?` are mutually exclusive

fn main() {}
