-
Notifications
You must be signed in to change notification settings - Fork 13.6k
Closed
Labels
A-const-evalArea: Constant evaluation, covers all const contexts (static, const fn, ...)Area: Constant evaluation, covers all const contexts (static, const fn, ...)A-diagnosticsArea: Messages for errors, warnings, and lintsArea: Messages for errors, warnings, and lintsD-papercutDiagnostics: An error or lint that needs small tweaks.Diagnostics: An error or lint that needs small tweaks.D-terseDiagnostics: An error or lint that doesn't give enough information about the problem at hand.Diagnostics: An error or lint that doesn't give enough information about the problem at hand.T-compilerRelevant to the compiler team, which will review and decide on the PR/issue.Relevant to the compiler team, which will review and decide on the PR/issue.requires-nightlyThis issue requires a nightly compiler in some way.This issue requires a nightly compiler in some way.
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
A-const-evalArea: Constant evaluation, covers all const contexts (static, const fn, ...)Area: Constant evaluation, covers all const contexts (static, const fn, ...)A-diagnosticsArea: Messages for errors, warnings, and lintsArea: Messages for errors, warnings, and lintsD-papercutDiagnostics: An error or lint that needs small tweaks.Diagnostics: An error or lint that needs small tweaks.D-terseDiagnostics: An error or lint that doesn't give enough information about the problem at hand.Diagnostics: An error or lint that doesn't give enough information about the problem at hand.T-compilerRelevant to the compiler team, which will review and decide on the PR/issue.Relevant to the compiler team, which will review and decide on the PR/issue.requires-nightlyThis issue requires a nightly compiler in some way.This issue requires a nightly compiler in some way.
Type
Projects
Milestone
Relationships
Development
Select code repository
Activity
mibac138 commentedon May 4, 2020
@rustbot claim
Rollup merge of rust-lang#71902 - mibac138:const-feature-diag, r=varkor