blob: 9a93d01ed06e95e6808dba7806921b63300cca04 (
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
  | 
// Tests that specializing trait impls must be at least as const as the default impl.
#![feature(const_trait_impl, effects)]
#![feature(min_specialization)]
#[const_trait]
trait Value {
    fn value() -> u32;
}
impl<T> const Value for T {
    default fn value() -> u32 {
        0
    }
}
struct FortyTwo;
impl Value for FortyTwo { //~ ERROR cannot specialize on const impl with non-const impl
    fn value() -> u32 {
        println!("You can't do that (constly)");
        42
    }
}
fn main() {}
 
  |