blob: 1dfc0fc0f3d6df9599426214ada3369f9574a11c [file] [log] [blame]
//@ run-rustfix
trait Trait {}
impl Trait for () {}
// this works
fn foo() -> impl Trait {
()
}
fn bar<T: Trait + std::marker::Sync>() -> impl Trait + std::marker::Sync + Send
where
T: Send,
{
() //~ ERROR mismatched types
}
fn other_bounds<T>() -> impl Trait
where
T: Trait,
Vec<usize>: Clone,
{
() //~ ERROR mismatched types
}
fn main() {
foo();
bar::<()>();
other_bounds::<()>();
}