Closed
Description
Generally, when one does something on nightly that would work with a feature gate, but the feature gate is missing, the error should indicate the missing gate. For some const features, that is currently not the case, for example:
#![feature(const_raw_ptr_deref)]
// missing gate: #![feature(const_mut_refs)]
const WRITE: () = unsafe {
*std::ptr::null_mut() = 0;
};
fn main() {
}
error[E0019]: constant contains unimplemented expression type
--> src/main.rs:5:5
|
5 | *std::ptr::null_mut() = 0;
| ^^^^^^^^^^^^^^^^^^^^^^^^^
error: aborting due to previous error
This got triggered by #71630, but is orthogonal to the discussion around the unleash flag in #71631.
(I did not try to exhaustively explore this issue for all const gates.)
Cc @rust-lang/wg-const-eval
This issue has been assigned to @mibac138 via this comment.
Metadata
Metadata
Assignees
Labels
Area: Constant evaluation, covers all const contexts (static, const fn, ...)Area: Messages for errors, warnings, and lintsDiagnostics: An error or lint that needs small tweaks.Diagnostics: An error or lint that doesn't give enough information about the problem at hand.Relevant to the compiler team, which will review and decide on the PR/issue.This issue requires a nightly compiler in some way.