Skip to content

semantics of $($x:tt)?* were changed in Rust 2015, should revert #51416

Closed
@nikomatsakis

Description

@nikomatsakis

There has been a lot of discussion about the proper semantics of $($x:tt)?*. Ideally, ? would serve as the "optional" operator there, but that is not the semantics in stable Rust, where it serves as a separator. #49719 did a crater run which found no crates relying on the current behavior; however, that PR was merged without an official decision from the lang team on whether to change the behavior. We should revert that PR and then make an official decision (for example, one proposal implemented in #51336 is to change the behavior in the edition, though in that case we probably want a migration lint etc).

@pietroalbini is going to prepare the revert PR and backport

( cc @mark-i-m, @sgrif, @petrochenkov @alexreg @durka )

Metadata

Metadata

Assignees

Labels

P-highHigh priorityT-compilerRelevant to the compiler team, which will review and decide on the PR/issue.regression-from-stable-to-betaPerformance or correctness regression from stable to beta.

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions