tests: object-safety section in traits
This commit is contained in:
parent
40556b968c
commit
a119158eb3
2 changed files with 34 additions and 0 deletions
|
@ -14,6 +14,7 @@
|
||||||
// @has - '//*[@class="sidebar-elems"]//section//a' 'Output'
|
// @has - '//*[@class="sidebar-elems"]//section//a' 'Output'
|
||||||
// @has - '//div[@class="sidebar-elems"]//h3/a[@href="#provided-associated-types"]' 'Provided Associated Types'
|
// @has - '//div[@class="sidebar-elems"]//h3/a[@href="#provided-associated-types"]' 'Provided Associated Types'
|
||||||
// @has - '//*[@class="sidebar-elems"]//section//a' 'Extra'
|
// @has - '//*[@class="sidebar-elems"]//section//a' 'Extra'
|
||||||
|
// @has - '//div[@class="sidebar-elems"]//h3/a[@href="#object-safety"]' 'Object Safety'
|
||||||
pub trait Foo {
|
pub trait Foo {
|
||||||
const FOO: usize;
|
const FOO: usize;
|
||||||
const BAR: u32 = 0;
|
const BAR: u32 = 0;
|
||||||
|
@ -24,6 +25,12 @@ pub trait Foo {
|
||||||
fn bar() -> Self::Output;
|
fn bar() -> Self::Output;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// @has foo/trait.Safe.html
|
||||||
|
// @!has - '//div[@class="sidebar-elems"]//h3/a[@href="#object-safety"]' ''
|
||||||
|
pub trait Safe {
|
||||||
|
fn access(&self);
|
||||||
|
}
|
||||||
|
|
||||||
// @has foo/struct.Bar.html
|
// @has foo/struct.Bar.html
|
||||||
// @has - '//div[@class="sidebar-elems"]//h3/a[@href="#fields"]' 'Fields'
|
// @has - '//div[@class="sidebar-elems"]//h3/a[@href="#fields"]' 'Fields'
|
||||||
// @has - '//*[@class="sidebar-elems"]//section//a[@href="#structfield.f"]' 'f'
|
// @has - '//*[@class="sidebar-elems"]//section//a[@href="#structfield.f"]' 'f'
|
||||||
|
|
27
tests/rustdoc/trait-object-safe.rs
Normal file
27
tests/rustdoc/trait-object-safe.rs
Normal file
|
@ -0,0 +1,27 @@
|
||||||
|
#![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'
|
||||||
|
// @!has - '//*[@class="object-safety-info"]' ''
|
||||||
|
// @!has - '//*[@id="object-safety"]' ''
|
||||||
|
pub struct Foo;
|
Loading…
Add table
Add a link
Reference in a new issue