-
Notifications
You must be signed in to change notification settings - Fork 13.6k
Closed
Labels
A-diagnosticsArea: Messages for errors, warnings, and lintsArea: Messages for errors, warnings, and lintsE-mentorCall for participation: This issue has a mentor. Use #t-compiler/help on Zulip for discussion.Call for participation: This issue has a mentor. Use #t-compiler/help on Zulip for discussion.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.
Description
Code
pub struct DefaultLifetime<'a, 'b = 'static> {
_marker: std::marker::PhantomData<&'a &'b ()>,
}
Current output
error: expected one of `,`, `:`, or `>`, found `=`
--> src/lib.rs:20:39
|
20 | pub struct DefaultLifetime<'a, 'b = 'static> {
| -- ^ expected one of `,`, `:`, or `>`
| |
| maybe try to close unmatched angle bracket
Desired output
error: expected one of `,`, `:`, or `>`, found `=`
--> src/lib.rs:20:39
|
20 | pub struct DefaultLifetime<'a, 'b = 'static> {
| ^^^^^^^^^ lifetime parameters cannot have default values
Rationale and extra context
AFAIK, lifetime generic parameters are not currently allowed to have default values. Attempting to use the "obvious" syntax for setting a default lifetime is an opportunity to teach the user that this is not a supported feature, and certainly shouldn't claim that there's an unmatched angle bracket just because it didn't expect the =
during parsing.
This is happening on rustc 1.69.0-nightly (d7948c843 2023-01-26)
with the 2021 edition.
Other cases
No response
Anything else?
No response
Metadata
Metadata
Assignees
Labels
A-diagnosticsArea: Messages for errors, warnings, and lintsArea: Messages for errors, warnings, and lintsE-mentorCall for participation: This issue has a mentor. Use #t-compiler/help on Zulip for discussion.Call for participation: This issue has a mentor. Use #t-compiler/help on Zulip for discussion.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.