ee6b228b6a
This commit makes the `clean::Type::is_same` non-commutative, so that a generic `impl` matches a concrete return, but a generic return does not match a concrete `impl`. It makes slice and vector Write for `u8` not match on every generic return value.
27 lines
720 B
Rust
27 lines
720 B
Rust
#![feature(doc_notable_trait)]
|
|
|
|
#[doc(notable_trait)]
|
|
pub trait SomeTrait {}
|
|
|
|
pub struct SomeStruct;
|
|
pub struct OtherStruct;
|
|
impl SomeTrait for &[SomeStruct] {}
|
|
|
|
// @has doc_notable_trait_slice/fn.bare_fn_matches.html
|
|
// @snapshot bare_fn_matches - '//script[@id="notable-traits-data"]'
|
|
pub fn bare_fn_matches() -> &'static [SomeStruct] {
|
|
&[]
|
|
}
|
|
|
|
// @has doc_notable_trait_slice/fn.bare_fn_no_matches.html
|
|
// @count - '//script[@id="notable-traits-data"]' 0
|
|
pub fn bare_fn_no_matches() -> &'static [OtherStruct] {
|
|
&[]
|
|
}
|
|
|
|
// @has doc_notable_trait_slice/fn.bare_fn_mut_no_matches.html
|
|
// @count - '//script[@id="notable-traits-data"]' 0
|
|
pub fn bare_fn_mut_no_matches() -> &'static mut [SomeStruct] {
|
|
&mut []
|
|
}
|