Closed
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