about summary refs log tree commit diff
path: root/tests/rustdoc/trait-object-safe.rs
blob: 8b028ad2e134ae1d67c8ac2042f7ea8f5f67e2ae (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
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'
// @count - '//*[@class="object-safety-info"]' 0
// @count - '//*[@id="object-safety"]' 0
pub struct Foo;