about summary refs log tree commit diff
path: root/tests/ui/traits/const-traits/const-default-method-bodies.rs
blob: 27e828c7ab91a854c7faa5dec99fbdffe9d59953 (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
28
29
30
//@ compile-flags: -Znext-solver
#![feature(const_trait_impl)]

#[const_trait]
trait ConstDefaultFn: Sized {
    fn b(self);

    fn a(self) {
        self.b();
    }
}

struct NonConstImpl;
struct ConstImpl;

impl ConstDefaultFn for NonConstImpl {
    fn b(self) {}
}

impl const ConstDefaultFn for ConstImpl {
    fn b(self) {}
}

const fn test() {
    NonConstImpl.a();
    //~^ ERROR the trait bound `NonConstImpl: [const] ConstDefaultFn` is not satisfied
    ConstImpl.a();
}

fn main() {}