Skip to content

Commit aa6db80

Browse files
Remove lifetime param from parser functions
1 parent 86a97c4 commit aa6db80

File tree

9 files changed

+73
-77
lines changed

9 files changed

+73
-77
lines changed

compiler/rustc_attr_parsing/src/attributes/allow_unstable.rs

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -17,9 +17,9 @@ impl<S: Stage> CombineAttributeParser<S> for AllowInternalUnstableParser {
1717
]);
1818
const TEMPLATE: AttributeTemplate = template!(Word, List: &["feat1, feat2, ..."]);
1919

20-
fn extend<'c>(
21-
cx: &'c mut AcceptContext<'_, '_, S>,
22-
args: &'c ArgParser,
20+
fn extend(
21+
cx: &mut AcceptContext<'_, '_, S>,
22+
args: &ArgParser,
2323
) -> impl IntoIterator<Item = Self::Item> {
2424
parse_unstable(cx, args, <Self as CombineAttributeParser<S>>::PATH[0])
2525
.into_iter()
@@ -39,9 +39,9 @@ impl<S: Stage> CombineAttributeParser<S> for UnstableFeatureBoundParser {
3939
]);
4040
const TEMPLATE: AttributeTemplate = template!(Word, List: &["feat1, feat2, ..."]);
4141

42-
fn extend<'c>(
43-
cx: &'c mut AcceptContext<'_, '_, S>,
44-
args: &'c ArgParser,
42+
fn extend(
43+
cx: &mut AcceptContext<'_, '_, S>,
44+
args: &ArgParser,
4545
) -> impl IntoIterator<Item = Self::Item> {
4646
if !cx.features().staged_api() {
4747
cx.emit_err(session_diagnostics::StabilityOutsideStd { span: cx.attr_span });
@@ -67,10 +67,10 @@ impl<S: Stage> CombineAttributeParser<S> for AllowConstFnUnstableParser {
6767
]);
6868
const TEMPLATE: AttributeTemplate = template!(Word, List: &["feat1, feat2, ..."]);
6969

70-
fn extend<'c>(
71-
cx: &'c mut AcceptContext<'_, '_, S>,
72-
args: &'c ArgParser,
73-
) -> impl IntoIterator<Item = Self::Item> + 'c {
70+
fn extend(
71+
cx: &mut AcceptContext<'_, '_, S>,
72+
args: &ArgParser,
73+
) -> impl IntoIterator<Item = Self::Item> {
7474
parse_unstable(cx, args, <Self as CombineAttributeParser<S>>::PATH[0])
7575
}
7676
}

compiler/rustc_attr_parsing/src/attributes/cfg.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -35,9 +35,9 @@ const CFG_ATTR_TEMPLATE: AttributeTemplate = template!(
3535
"https://doc.rust-lang.org/reference/conditional-compilation.html#the-cfg_attr-attribute"
3636
);
3737

38-
pub fn parse_cfg<'c, S: Stage>(
39-
cx: &'c mut AcceptContext<'_, '_, S>,
40-
args: &'c ArgParser,
38+
pub fn parse_cfg<S: Stage>(
39+
cx: &mut AcceptContext<'_, '_, S>,
40+
args: &ArgParser,
4141
) -> Option<CfgEntry> {
4242
let ArgParser::List(list) = args else {
4343
cx.expected_list(cx.attr_span);

compiler/rustc_attr_parsing/src/attributes/codegen_attrs.rs

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -472,10 +472,10 @@ impl<S: Stage> AttributeParser<S> for UsedParser {
472472
}
473473
}
474474

475-
fn parse_tf_attribute<'c, S: Stage>(
476-
cx: &'c mut AcceptContext<'_, '_, S>,
477-
args: &'c ArgParser,
478-
) -> impl IntoIterator<Item = (Symbol, Span)> + 'c {
475+
fn parse_tf_attribute<S: Stage>(
476+
cx: &mut AcceptContext<'_, '_, S>,
477+
args: &ArgParser,
478+
) -> impl IntoIterator<Item = (Symbol, Span)> {
479479
let mut features = Vec::new();
480480
let ArgParser::List(list) = args else {
481481
cx.expected_list(cx.attr_span);
@@ -529,10 +529,10 @@ impl<S: Stage> CombineAttributeParser<S> for TargetFeatureParser {
529529
};
530530
const TEMPLATE: AttributeTemplate = template!(List: &["enable = \"feat1, feat2\""]);
531531

532-
fn extend<'c>(
533-
cx: &'c mut AcceptContext<'_, '_, S>,
534-
args: &'c ArgParser,
535-
) -> impl IntoIterator<Item = Self::Item> + 'c {
532+
fn extend(
533+
cx: &mut AcceptContext<'_, '_, S>,
534+
args: &ArgParser,
535+
) -> impl IntoIterator<Item = Self::Item> {
536536
parse_tf_attribute(cx, args)
537537
}
538538

@@ -567,10 +567,10 @@ impl<S: Stage> CombineAttributeParser<S> for ForceTargetFeatureParser {
567567
Allow(Target::Method(MethodKind::TraitImpl)),
568568
]);
569569

570-
fn extend<'c>(
571-
cx: &'c mut AcceptContext<'_, '_, S>,
572-
args: &'c ArgParser,
573-
) -> impl IntoIterator<Item = Self::Item> + 'c {
570+
fn extend(
571+
cx: &mut AcceptContext<'_, '_, S>,
572+
args: &ArgParser,
573+
) -> impl IntoIterator<Item = Self::Item> {
574574
parse_tf_attribute(cx, args)
575575
}
576576
}

compiler/rustc_attr_parsing/src/attributes/debugger.rs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -16,10 +16,10 @@ impl<S: Stage> CombineAttributeParser<S> for DebuggerViualizerParser {
1616
type Item = DebugVisualizer;
1717
const CONVERT: ConvertFn<Self::Item> = |v, _| AttributeKind::DebuggerVisualizer(v);
1818

19-
fn extend<'c>(
20-
cx: &'c mut AcceptContext<'_, '_, S>,
21-
args: &'c ArgParser,
22-
) -> impl IntoIterator<Item = Self::Item> + 'c {
19+
fn extend(
20+
cx: &mut AcceptContext<'_, '_, S>,
21+
args: &ArgParser,
22+
) -> impl IntoIterator<Item = Self::Item> {
2323
let Some(l) = args.list() else {
2424
cx.expected_list(args.span().unwrap_or(cx.attr_span));
2525
return None;

compiler/rustc_attr_parsing/src/attributes/doc.rs

Lines changed: 29 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ use thin_vec::ThinVec;
1010
use super::prelude::{ALL_TARGETS, AllowedTargets};
1111
use super::{AcceptMapping, AttributeParser};
1212
use crate::context::{AcceptContext, FinalizeContext, Stage};
13-
use crate::parser::{ArgParser, MetaItemOrLitParser, MetaItemParser, PathParser};
13+
use crate::parser::{ArgParser, MetaItemOrLitParser, MetaItemParser, OwnedPathParser};
1414
use crate::session_diagnostics::{
1515
DocAliasBadChar, DocAliasEmpty, DocAliasMalformed, DocAliasStartEnd, DocAttributeNotAttribute,
1616
DocKeywordNotKeyword,
@@ -43,10 +43,10 @@ fn check_attribute<S: Stage>(
4343
false
4444
}
4545

46-
fn parse_keyword_and_attribute<'c, S, F>(
47-
cx: &'c mut AcceptContext<'_, '_, S>,
48-
path: &PathParser<'_>,
49-
args: &ArgParser<'_>,
46+
fn parse_keyword_and_attribute<S, F>(
47+
cx: &mut AcceptContext<'_, '_, S>,
48+
path: &OwnedPathParser,
49+
args: &ArgParser,
5050
attr_value: &mut Option<(Symbol, Span)>,
5151
callback: F,
5252
) where
@@ -82,10 +82,10 @@ pub(crate) struct DocParser {
8282
}
8383

8484
impl DocParser {
85-
fn parse_single_test_doc_attr_item<'c, S: Stage>(
85+
fn parse_single_test_doc_attr_item<S: Stage>(
8686
&mut self,
87-
cx: &'c mut AcceptContext<'_, '_, S>,
88-
mip: &'c MetaItemParser<'_>,
87+
cx: &mut AcceptContext<'_, '_, S>,
88+
mip: &MetaItemParser,
8989
) {
9090
let path = mip.path();
9191
let args = mip.args();
@@ -132,9 +132,9 @@ impl DocParser {
132132
}
133133
}
134134

135-
fn add_alias<'c, S: Stage>(
135+
fn add_alias<S: Stage>(
136136
&mut self,
137-
cx: &'c mut AcceptContext<'_, '_, S>,
137+
cx: &mut AcceptContext<'_, '_, S>,
138138
alias: Symbol,
139139
span: Span,
140140
) {
@@ -167,11 +167,11 @@ impl DocParser {
167167
self.attribute.aliases.insert(alias, span);
168168
}
169169

170-
fn parse_alias<'c, S: Stage>(
170+
fn parse_alias<S: Stage>(
171171
&mut self,
172-
cx: &'c mut AcceptContext<'_, '_, S>,
173-
path: &PathParser<'_>,
174-
args: &ArgParser<'_>,
172+
cx: &mut AcceptContext<'_, '_, S>,
173+
path: &OwnedPathParser,
174+
args: &ArgParser,
175175
) {
176176
match args {
177177
ArgParser::NoArgs => {
@@ -197,11 +197,11 @@ impl DocParser {
197197
}
198198
}
199199

200-
fn parse_inline<'c, S: Stage>(
200+
fn parse_inline<S: Stage>(
201201
&mut self,
202-
cx: &'c mut AcceptContext<'_, '_, S>,
203-
path: &PathParser<'_>,
204-
args: &ArgParser<'_>,
202+
cx: &mut AcceptContext<'_, '_, S>,
203+
path: &OwnedPathParser,
204+
args: &ArgParser,
205205
inline: DocInline,
206206
) {
207207
if let Err(span) = args.no_args() {
@@ -212,11 +212,7 @@ impl DocParser {
212212
self.attribute.inline.push((inline, path.span()));
213213
}
214214

215-
fn parse_cfg<'c, S: Stage>(
216-
&mut self,
217-
cx: &'c mut AcceptContext<'_, '_, S>,
218-
args: &ArgParser<'_>,
219-
) {
215+
fn parse_cfg<S: Stage>(&mut self, cx: &mut AcceptContext<'_, '_, S>, args: &ArgParser) {
220216
// This function replaces cases like `cfg(all())` with `true`.
221217
fn simplify_cfg(cfg_entry: &mut CfgEntry) {
222218
match cfg_entry {
@@ -236,11 +232,11 @@ impl DocParser {
236232
}
237233
}
238234

239-
fn parse_auto_cfg<'c, S: Stage>(
235+
fn parse_auto_cfg<S: Stage>(
240236
&mut self,
241-
cx: &'c mut AcceptContext<'_, '_, S>,
242-
path: &PathParser<'_>,
243-
args: &ArgParser<'_>,
237+
cx: &mut AcceptContext<'_, '_, S>,
238+
path: &OwnedPathParser,
239+
args: &ArgParser,
244240
) {
245241
match args {
246242
ArgParser::NoArgs => {
@@ -343,10 +339,10 @@ impl DocParser {
343339
}
344340
}
345341

346-
fn parse_single_doc_attr_item<'c, S: Stage>(
342+
fn parse_single_doc_attr_item<S: Stage>(
347343
&mut self,
348-
cx: &'c mut AcceptContext<'_, '_, S>,
349-
mip: &MetaItemParser<'_>,
344+
cx: &mut AcceptContext<'_, '_, S>,
345+
mip: &MetaItemParser,
350346
) {
351347
let path = mip.path();
352348
let args = mip.args();
@@ -506,10 +502,10 @@ impl DocParser {
506502
}
507503
}
508504

509-
fn accept_single_doc_attr<'c, S: Stage>(
505+
fn accept_single_doc_attr<S: Stage>(
510506
&mut self,
511-
cx: &'c mut AcceptContext<'_, '_, S>,
512-
args: &'c ArgParser<'_>,
507+
cx: &mut AcceptContext<'_, '_, S>,
508+
args: &ArgParser,
513509
) {
514510
match args {
515511
ArgParser::NoArgs => {

compiler/rustc_attr_parsing/src/attributes/link_attrs.rs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -62,10 +62,10 @@ impl<S: Stage> CombineAttributeParser<S> for LinkParser {
6262
], "https://doc.rust-lang.org/reference/items/external-blocks.html#the-link-attribute");
6363
const ALLOWED_TARGETS: AllowedTargets = AllowedTargets::AllowList(ALL_TARGETS); //FIXME Still checked fully in `check_attr.rs`
6464

65-
fn extend<'c>(
66-
cx: &'c mut AcceptContext<'_, '_, S>,
67-
args: &'c ArgParser,
68-
) -> impl IntoIterator<Item = Self::Item> + 'c {
65+
fn extend(
66+
cx: &mut AcceptContext<'_, '_, S>,
67+
args: &ArgParser,
68+
) -> impl IntoIterator<Item = Self::Item> {
6969
let items = match args {
7070
ArgParser::List(list) => list,
7171
// This is an edgecase added because making this a hard error would break too many crates

compiler/rustc_attr_parsing/src/attributes/mod.rs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -315,10 +315,10 @@ pub(crate) trait CombineAttributeParser<S: Stage>: 'static {
315315
const TEMPLATE: AttributeTemplate;
316316

317317
/// Converts a single syntactical attribute to a number of elements of the semantic attribute, or [`AttributeKind`]
318-
fn extend<'c>(
319-
cx: &'c mut AcceptContext<'_, '_, S>,
320-
args: &'c ArgParser,
321-
) -> impl IntoIterator<Item = Self::Item> + 'c;
318+
fn extend(
319+
cx: &mut AcceptContext<'_, '_, S>,
320+
args: &ArgParser,
321+
) -> impl IntoIterator<Item = Self::Item>;
322322
}
323323

324324
/// Use in combination with [`CombineAttributeParser`].

compiler/rustc_attr_parsing/src/attributes/repr.rs

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -26,10 +26,10 @@ impl<S: Stage> CombineAttributeParser<S> for ReprParser {
2626
"https://doc.rust-lang.org/reference/type-layout.html#representations"
2727
);
2828

29-
fn extend<'c>(
30-
cx: &'c mut AcceptContext<'_, '_, S>,
31-
args: &'c ArgParser,
32-
) -> impl IntoIterator<Item = Self::Item> + 'c {
29+
fn extend(
30+
cx: &mut AcceptContext<'_, '_, S>,
31+
args: &ArgParser,
32+
) -> impl IntoIterator<Item = Self::Item> {
3333
let mut reprs = Vec::new();
3434

3535
let Some(list) = args.list() else {
@@ -275,7 +275,7 @@ impl AlignParser {
275275
const PATH: &'static [Symbol] = &[sym::rustc_align];
276276
const TEMPLATE: AttributeTemplate = template!(List: &["<alignment in bytes>"]);
277277

278-
fn parse<'c, S: Stage>(&mut self, cx: &'c mut AcceptContext<'_, '_, S>, args: &'c ArgParser) {
278+
fn parse<S: Stage>(&mut self, cx: &mut AcceptContext<'_, '_, S>, args: &ArgParser) {
279279
match args {
280280
ArgParser::NoArgs | ArgParser::NameValue(_) => {
281281
cx.expected_list(cx.attr_span);
@@ -332,7 +332,7 @@ impl AlignStaticParser {
332332
const PATH: &'static [Symbol] = &[sym::rustc_align_static];
333333
const TEMPLATE: AttributeTemplate = AlignParser::TEMPLATE;
334334

335-
fn parse<'c, S: Stage>(&mut self, cx: &'c mut AcceptContext<'_, '_, S>, args: &'c ArgParser) {
335+
fn parse<S: Stage>(&mut self, cx: &mut AcceptContext<'_, '_, S>, args: &ArgParser) {
336336
self.0.parse(cx, args)
337337
}
338338
}

compiler/rustc_attr_parsing/src/interface.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -342,7 +342,7 @@ impl<'sess, S: Stage> AttributeParser<'sess, S> {
342342
// blob
343343
// a
344344
if is_doc_attribute
345-
&& let ArgParser::NameValue(nv) = args
345+
&& let ArgParser::NameValue(nv) = &args
346346
// If not a string key/value, it should emit an error, but to make
347347
// things simpler, it's handled in `DocParser` because it's simpler to
348348
// emit an error with `AcceptContext`.

0 commit comments

Comments
 (0)