// Ensure that there are straightforward ways to define "empty" / "trivial" / "unit" trait aliases // which don't impose any constraints when used as a bound (since they expand to nothing). //@ check-pass #![feature(trait_alias)] trait Empty =; trait Trivial = where; trait Unit = where Self:; fn check() {} fn main() { check::<()>(); // OK. "`(): Empty`" is trivially satisfied check::(); // OK. `Empty` is truly empty and isn't implicitly bounded by `Sized`. }