summaryrefslogtreecommitdiffstats
path: root/tests/ui/impl-trait/issue-55872-1.rs
blob: f36a310ddf31061b96eeb9473acd4b4e88a43969 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#![feature(impl_trait_in_assoc_type)]

pub trait Bar {
    type E: Copy;

    fn foo<T>() -> Self::E;
}

impl<S: Default> Bar for S {
    type E = impl Copy;

    fn foo<T: Default>() -> Self::E {
        //~^ ERROR impl has stricter requirements than trait
        //~| ERROR the trait bound `S: Copy` is not satisfied in `(S, T)` [E0277]
        //~| ERROR the trait bound `T: Copy` is not satisfied in `(S, T)` [E0277]
        (S::default(), T::default())
    }
}

fn main() {}