Repository navigation
1.95 beta regression: "malformed feature attribute input" #153764
Copy link
Copy link
Closed as not planned
Labels
A-attributesArea: Attributes (`#[…]`, `#![…]`)Area: Attributes (`#[…]`, `#![…]`)C-bugCategory: This is a bug.Category: This is a bug.P-mediumMedium priorityMedium priorityT-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.T-langRelevant to the language teamRelevant to the language teamdisposition-closeThis PR / issue is in PFCP or FCP with a disposition to close it.This PR / issue is in PFCP or FCP with a disposition to close it.finished-final-comment-periodThe final comment period is finished for this PR / Issue.The final comment period is finished for this PR / Issue.regression-from-stable-to-betaPerformance or correctness regression from stable to beta.Performance or correctness regression from stable to beta.relnotesMarks issues that should be documented in the release notes of the next release.Marks issues that should be documented in the release notes of the next release.
Milestone
Description
Regression found in the 1.95.0 beta crater run.
[INFO] [stdout] error[E0565]: malformed `feature` attribute input
[INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/assemble-core-0.2.0/src/unstable.rs:16:5
[INFO] [stdout] |
[INFO] [stdout] 16 | #[feature(feature = "text_factory")]
[INFO] [stdout] | ^^^^^^^^^^^^^^^^^^----------------^^
[INFO] [stdout] | | |
[INFO] [stdout] | | didn't expect any arguments here
[INFO] [stdout] | help: must be of the form: `#[feature(feature1, feature2, ...)]`
[INFO] [stdout] error[E0539]: malformed `feature` attribute input
[INFO] [stdout] --> src/models/whisper/mod.rs:1:1
[INFO] [stdout] |
[INFO] [stdout] 1 | #![feature("whisper")]
[INFO] [stdout] | ^^^^^^^^^^^---------^^
[INFO] [stdout] | | |
[INFO] [stdout] | | expected a valid identifier here
[INFO] [stdout] | help: must be of the form: `#![feature(feature1, feature2, ...)]`
- https://crater-reports.s3.amazonaws.com/beta-1.95-1/beta-2026-03-05/gh/MikeIvanichev.norma/log.txt
- https://crater-reports.s3.amazonaws.com/beta-1.95-3/1.95.0-beta.3/reg/norma-0.0.3/log.txt
[INFO] [stdout] error[E0539]: malformed `feature` attribute input
[INFO] [stdout] --> src/lib.rs:4:1
[INFO] [stdout] |
[INFO] [stdout] 4 | #[feature("serde_feature")]
[INFO] [stdout] | ^^^^^^^^^^---------------^^
[INFO] [stdout] | | |
[INFO] [stdout] | | expected a valid identifier here
[INFO] [stdout] | help: must be of the form: `#[feature(feature1, feature2, ...)]`
[INFO] [stdout] error[E0539]: malformed `feature` attribute input
[INFO] [stdout] --> src/lib.rs:4:1
[INFO] [stdout] |
[INFO] [stdout] 4 | #[feature("proc_macro_lib2")]
[INFO] [stdout] | ^^^^^^^^^^-----------------^^
[INFO] [stdout] | | |
[INFO] [stdout] | | expected a valid identifier here
[INFO] [stdout] | help: must be of the form: `#[feature(feature1, feature2, ...)]`
In four out of the five affected crates, it seems like the authors of the code intended to write cfg(feature = "something"). In starlane-primitive-macros, it seems the author wrote #[feature(....)] when they meant #![feature(....)], with a !
Metadata
Metadata
Assignees
Labels
A-attributesArea: Attributes (`#[…]`, `#![…]`)Area: Attributes (`#[…]`, `#![…]`)C-bugCategory: This is a bug.Category: This is a bug.P-mediumMedium priorityMedium priorityT-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.T-langRelevant to the language teamRelevant to the language teamdisposition-closeThis PR / issue is in PFCP or FCP with a disposition to close it.This PR / issue is in PFCP or FCP with a disposition to close it.finished-final-comment-periodThe final comment period is finished for this PR / Issue.The final comment period is finished for this PR / Issue.regression-from-stable-to-betaPerformance or correctness regression from stable to beta.Performance or correctness regression from stable to beta.relnotesMarks issues that should be documented in the release notes of the next release.Marks issues that should be documented in the release notes of the next release.
Activity
theemathas commentedon Mar 12, 2026
Presumably regressed in #152985. cc @JonathanBrouwer @jdonszelmann
apiraino commentedon Mar 12, 2026
Assigning priority (discussion on Zulip).
@rustbot label -I-prioritize +P-medium
JonathanBrouwer commentedon Mar 12, 2026
The regression is that the arguments of feature attributes on invalid targets used to be unchecked... ugh
Minimum reproducer:
We have the following options
Given that this is effectively a bug fix, the impact is relatively small, and unfixing this bug is a little annoying, I'd prefer option 1, but if anyone does not like this we can go for option 2 instead
cc @rust-lang/lang
jieyouxu commentedon Mar 12, 2026
The calculus is basically:
assemble-corelast updated 10 years agonormaprobably just a tiny diff (MikeIvanichev/norma@aa8289c) should befeature = "whisper"insteadisfetlooks toy-ishstarlane-primitive-macros0.3.21 is https://crates.io/crates/starlane-primitive-macros/0.3.21, repo https://github.com/starlane-io/starlane, 1.3k cumulative downloads, also looks like a toy repoI would recommend
with an explicit T-lang FCP. Or just let it slide with a compat relnotes if T-lang thinks that's fine.
24 remaining items
nikomatsakis commentedon Mar 18, 2026
@rfcbot reviewed
rust-rfcbot commentedon Mar 18, 2026
🔔 This is now entering its final comment period, as per the review above. 🔔
rust-rfcbot commentedon Mar 28, 2026
The final comment period, with a disposition to close, as per the review above, is now complete.
As the automated representative of the governance process, I would like to thank the author for their work and everyone else who contributed.
jieyouxu commentedon Mar 30, 2026
Triage: closing this regression issue as intended and accepted breakage as per FCP above.
rust195: Add a package for rust 1.95.0.
feat(deps): update dependency rust (#4)
build(deps): update rust to v1.95.0