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