mirror of
https://github.com/rust-lang/rust.git
synced 2024-11-26 00:34:06 +00:00
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.
59 lines
2.1 KiB
Plaintext
59 lines
2.1 KiB
Plaintext
error[E0277]: can't drop `NonTrivialDrop` in const contexts
|
|
--> $DIR/const-drop-fail.rs:26:23
|
|
|
|
|
LL | const _: () = check($exp);
|
|
| ^^^^^^^^^^^ the trait `~const Destruct` is not implemented for `NonTrivialDrop`
|
|
...
|
|
LL | / check_all! {
|
|
LL | | NonTrivialDrop,
|
|
LL | | ConstImplWithDropGlue(NonTrivialDrop),
|
|
LL | | }
|
|
| |_- in this macro invocation
|
|
|
|
|
note: the trait `Destruct` is implemented for `NonTrivialDrop`, but that implementation is not `const`
|
|
--> $DIR/const-drop-fail.rs:26:23
|
|
|
|
|
LL | const _: () = check($exp);
|
|
| ^^^^^^^^^^^
|
|
...
|
|
LL | / check_all! {
|
|
LL | | NonTrivialDrop,
|
|
LL | | ConstImplWithDropGlue(NonTrivialDrop),
|
|
LL | | }
|
|
| |_- in this macro invocation
|
|
= note: this error originates in the macro `check_all` (in Nightly builds, run with -Z macro-backtrace for more info)
|
|
|
|
error[E0277]: can't drop `NonTrivialDrop` in const contexts
|
|
--> $DIR/const-drop-fail.rs:26:23
|
|
|
|
|
LL | const _: () = check($exp);
|
|
| ^^^^^^^^^^^ within `ConstImplWithDropGlue`, the trait `~const Destruct` is not implemented for `NonTrivialDrop`
|
|
...
|
|
LL | / check_all! {
|
|
LL | | NonTrivialDrop,
|
|
LL | | ConstImplWithDropGlue(NonTrivialDrop),
|
|
LL | | }
|
|
| |_- in this macro invocation
|
|
|
|
|
note: the trait `Destruct` is implemented for `NonTrivialDrop`, but that implementation is not `const`
|
|
--> $DIR/const-drop-fail.rs:26:23
|
|
|
|
|
LL | const _: () = check($exp);
|
|
| ^^^^^^^^^^^
|
|
...
|
|
LL | / check_all! {
|
|
LL | | NonTrivialDrop,
|
|
LL | | ConstImplWithDropGlue(NonTrivialDrop),
|
|
LL | | }
|
|
| |_- in this macro invocation
|
|
note: required because it appears within the type `ConstImplWithDropGlue`
|
|
--> $DIR/const-drop-fail.rs:16:8
|
|
|
|
|
LL | struct ConstImplWithDropGlue(NonTrivialDrop);
|
|
| ^^^^^^^^^^^^^^^^^^^^^
|
|
= note: this error originates in the macro `check_all` (in Nightly builds, run with -Z macro-backtrace for more info)
|
|
|
|
error: aborting due to 2 previous errors
|
|
|
|
For more information about this error, try `rustc --explain E0277`.
|