summary refs log tree commit diff
path: root/tests/rustdoc/trait-object-safe.rs
blob: b4e986c8f69cda21ab2e1eb9aa2ebb498a07f54d (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;