mirror of
https://github.com/rust-lang/rust.git
synced 2024-12-18 03:25:55 +00:00
24 lines
572 B
Rust
24 lines
572 B
Rust
|
//@ check-fail
|
||
|
|
||
|
#![feature(auto_traits)]
|
||
|
#![deny(where_clauses_object_safety)]
|
||
|
|
||
|
auto trait AutoTrait {}
|
||
|
|
||
|
trait Trait {
|
||
|
fn static_lifetime_bound(&self) where Self: 'static {}
|
||
|
|
||
|
fn arg_lifetime_bound<'a>(&self, _arg: &'a ()) where Self: 'a {}
|
||
|
|
||
|
fn autotrait_bound(&self) where Self: AutoTrait {}
|
||
|
}
|
||
|
|
||
|
impl Trait for () {}
|
||
|
|
||
|
fn main() {
|
||
|
let trait_object = &() as &dyn Trait;
|
||
|
trait_object.static_lifetime_bound();
|
||
|
trait_object.arg_lifetime_bound(&());
|
||
|
trait_object.autotrait_bound(); //~ ERROR: the trait bound `dyn Trait: AutoTrait` is not satisfied
|
||
|
}
|