1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
|
//@ compile-flags: --crate-type=lib
//@ revisions: current next
//@[next] compile-flags: -Znext-solver
#![feature(auto_traits)]
#![feature(unsafe_fields)]
#![allow(incomplete_features)]
enum UnsafeEnum {
Safe(u8),
Unsafe { unsafe field: u8 },
}
auto trait SafeAuto {}
fn impl_safe_auto(_: impl SafeAuto) {}
unsafe auto trait UnsafeAuto {}
fn impl_unsafe_auto(_: impl UnsafeAuto) {}
fn tests() {
impl_safe_auto(UnsafeEnum::Safe(42));
impl_unsafe_auto(UnsafeEnum::Safe(42));
//~^ ERROR the trait bound `UnsafeEnum: UnsafeAuto` is not satisfied
}
|