b17e6680d6
Fixes #109543. When checking paths in HIR typeck, we don't want to check for const predicates since all we want might just be a function pointer. Therefore we move this to MIR constck and check that bounds are met during MIR constck.
17 lines
815 B
Plaintext
17 lines
815 B
Plaintext
error[E0277]: the trait bound `(): ~const Tr` is not satisfied in `fn(()) -> i32 {<() as Tr>::a}`
|
|
--> $DIR/const-closure-trait-method-fail.rs:16:23
|
|
|
|
|
LL | const _: () = assert!(need_const_closure(Tr::a) == 42);
|
|
| ^^^^^^^^^^^^^^^^^^^^^^^^^ within `fn(()) -> i32 {<() as Tr>::a}`, the trait `~const Tr` is not implemented for `()`
|
|
|
|
|
note: the trait `Tr` is implemented for `()`, but that implementation is not `const`
|
|
--> $DIR/const-closure-trait-method-fail.rs:16:23
|
|
|
|
|
LL | const _: () = assert!(need_const_closure(Tr::a) == 42);
|
|
| ^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
= note: required because it appears within the type `fn(()) -> i32 {<() as Tr>::a}`
|
|
|
|
error: aborting due to previous error
|
|
|
|
For more information about this error, try `rustc --explain E0277`.
|