27 lines
673 B
Rust
27 lines
673 B
Rust
// https://github.com/rust-lang/rust/issues/50159
|
|
#![crate_name = "foo"]
|
|
|
|
pub trait Signal {
|
|
type Item;
|
|
}
|
|
|
|
pub trait Signal2 {
|
|
type Item2;
|
|
}
|
|
|
|
impl<B, C> Signal2 for B
|
|
where
|
|
B: Signal<Item = C>,
|
|
{
|
|
type Item2 = C;
|
|
}
|
|
|
|
// @has foo/struct.Switch.html
|
|
// @has - '//h3[@class="code-header"]' 'impl<B> Send for Switch<B>where <B as Signal>::Item: Send'
|
|
// @has - '//h3[@class="code-header"]' 'impl<B> Sync for Switch<B>where <B as Signal>::Item: Sync'
|
|
// @count - '//*[@id="implementations-list"]//*[@class="impl"]' 0
|
|
// @count - '//*[@id="synthetic-implementations-list"]//*[@class="impl"]' 6
|
|
pub struct Switch<B: Signal> {
|
|
pub inner: <B as Signal2>::Item2,
|
|
}
|