1 error[E0277]: the trait bound `(): ~const Tr` is not satisfied in `fn(()) -> i32 {<() as Tr>::a}`
2 --> $DIR/const-closure-trait-method-fail.rs:16:42
4 LL | const _: () = assert!(need_const_closure(Tr::a) == 42);
5 | ------------------ ^^^^^ within `fn(()) -> i32 {<() as Tr>::a}`, the trait `~const Tr` is not implemented for `()`
7 | required by a bound introduced by this call
9 note: the trait `Tr` is implemented for `()`, but that implementation is not `const`
10 --> $DIR/const-closure-trait-method-fail.rs:16:42
12 LL | const _: () = assert!(need_const_closure(Tr::a) == 42);
14 = note: required because it appears within the type `fn(()) -> i32 {<() as Tr>::a}`
15 note: required by a bound in `need_const_closure`
16 --> $DIR/const-closure-trait-method-fail.rs:12:32
18 LL | const fn need_const_closure<T: ~const FnOnce(()) -> i32>(x: T) -> i32 {
19 | ^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `need_const_closure`
21 error: aborting due to previous error
23 For more information about this error, try `rustc --explain E0277`.