mirror of
https://github.com/rust-lang/rust.git
synced 2025-04-30 12:07:40 +00:00
27 lines
571 B
Rust
27 lines
571 B
Rust
![]() |
//@ 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
|
||
|
}
|