Skip to content

Commit

Permalink
tests: object-safety section in traits
Browse files Browse the repository at this point in the history
  • Loading branch information
poliorcetics committed Oct 29, 2023
1 parent 40556b9 commit a119158
Show file tree
Hide file tree
Showing 2 changed files with 34 additions and 0 deletions.
7 changes: 7 additions & 0 deletions tests/rustdoc/sidebar-items.rs
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@
// @has - '//*[@class="sidebar-elems"]//section//a' 'Output'
// @has - '//div[@class="sidebar-elems"]//h3/a[@href="#provided-associated-types"]' 'Provided Associated Types'
// @has - '//*[@class="sidebar-elems"]//section//a' 'Extra'
// @has - '//div[@class="sidebar-elems"]//h3/a[@href="#object-safety"]' 'Object Safety'
pub trait Foo {
const FOO: usize;
const BAR: u32 = 0;
Expand All @@ -24,6 +25,12 @@ pub trait Foo {
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 - '//div[@class="sidebar-elems"]//h3/a[@href="#fields"]' 'Fields'
// @has - '//*[@class="sidebar-elems"]//section//a[@href="#structfield.f"]' 'f'
Expand Down
27 changes: 27 additions & 0 deletions tests/rustdoc/trait-object-safe.rs
Original file line number Diff line number Diff line change
@@ -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;

0 comments on commit a119158

Please sign in to comment.