2023-07-01 12:13:26 -05:00
|
|
|
#![crate_name = "foo"]
|
|
|
|
|
2024-06-21 07:03:08 -05:00
|
|
|
//@ has 'foo/trait.Unsafe.html'
|
|
|
|
//@ has - '//*[@class="object-safety-info"]' 'This trait is not object safe.'
|
|
|
|
//@ has - '//*[@id="object-safety"]' 'Object Safety'
|
2023-07-01 12:13:26 -05:00
|
|
|
pub trait Unsafe {
|
|
|
|
fn foo() -> Self;
|
|
|
|
}
|
|
|
|
|
2024-06-21 07:03:08 -05:00
|
|
|
//@ has 'foo/trait.Unsafe2.html'
|
|
|
|
//@ has - '//*[@class="object-safety-info"]' 'This trait is not object safe.'
|
|
|
|
//@ has - '//*[@id="object-safety"]' 'Object Safety'
|
2023-07-01 12:13:26 -05:00
|
|
|
pub trait Unsafe2<T> {
|
|
|
|
fn foo(i: T);
|
|
|
|
}
|
|
|
|
|
2024-06-21 07:03:08 -05:00
|
|
|
//@ has 'foo/trait.Safe.html'
|
|
|
|
//@ !has - '//*[@class="object-safety-info"]' ''
|
|
|
|
//@ !has - '//*[@id="object-safety"]' ''
|
2023-07-01 12:13:26 -05:00
|
|
|
pub trait Safe {
|
|
|
|
fn foo(&self);
|
|
|
|
}
|
|
|
|
|
2024-06-21 07:03:08 -05:00
|
|
|
//@ has 'foo/struct.Foo.html'
|
|
|
|
//@ count - '//*[@class="object-safety-info"]' 0
|
|
|
|
//@ count - '//*[@id="object-safety"]' 0
|
2023-07-01 12:13:26 -05:00
|
|
|
pub struct Foo;
|