Skip to content

Commit 8bca40a

Browse files
authored
Appease clippy::needless_return (#690)
Part of #155 Well... that's the biggest lint to fix 😅 Hopefully the new code shows why this might be cleaner in many instances.
1 parent 0d38622 commit 8bca40a

File tree

175 files changed

+904
-1012
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

175 files changed

+904
-1012
lines changed

.cargo/config.toml

-2
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,5 @@ rustflags = [
1414
"-A",
1515
"clippy::comparison_chain",
1616
"-A",
17-
"clippy::needless_return",
18-
"-A",
1917
"clippy::should_implement_trait",
2018
]

crates/codegen/ebnf/src/nodes.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -123,7 +123,7 @@ impl EbnfNode {
123123
pub fn precedence(&self) -> u8 {
124124
// We are specifying precedence "groups" instead of a flat list.
125125
// This separates members of the same precedence, like both "a b (c | d)" and "a | b | (c d)".
126-
return match self {
126+
match self {
127127
// Not an operator
128128
EbnfNode::WithComment { .. } => 0,
129129

@@ -142,6 +142,6 @@ impl EbnfNode {
142142
EbnfNode::ProductionRef { .. } | EbnfNode::Range { .. } | EbnfNode::Terminal { .. } => {
143143
4
144144
}
145-
};
145+
}
146146
}
147147
}

crates/codegen/ebnf/src/parser.rs

+20-34
Original file line numberDiff line numberDiff line change
@@ -13,50 +13,36 @@ impl EbnfNode {
1313
open,
1414
parser,
1515
close,
16-
} => {
17-
return Self::sequence(vec![
18-
Self::production_ref(&open.reference),
19-
Self::from_parser(parser),
20-
Self::production_ref(&close.reference),
21-
]);
22-
}
16+
} => Self::sequence(vec![
17+
Self::production_ref(&open.reference),
18+
Self::from_parser(parser),
19+
Self::production_ref(&close.reference),
20+
]),
2321

24-
ParserDefinition::OneOrMore(parser) => {
25-
return Self::one_or_more(Self::from_parser(parser));
26-
}
22+
ParserDefinition::OneOrMore(parser) => Self::one_or_more(Self::from_parser(parser)),
2723

28-
ParserDefinition::Optional(parser) => {
29-
return Self::optional(Self::from_parser(parser));
30-
}
24+
ParserDefinition::Optional(parser) => Self::optional(Self::from_parser(parser)),
3125

32-
ParserDefinition::Reference(name) => {
33-
return Self::production_ref(name);
34-
}
26+
ParserDefinition::Reference(name) => Self::production_ref(name),
3527

36-
ParserDefinition::SeparatedBy { parser, separator } => {
37-
return Self::sequence(vec![
28+
ParserDefinition::SeparatedBy { parser, separator } => Self::sequence(vec![
29+
Self::from_parser(parser),
30+
Self::zero_or_more(Self::sequence(vec![
31+
Self::production_ref(&separator.reference),
3832
Self::from_parser(parser),
39-
Self::zero_or_more(Self::sequence(vec![
40-
Self::production_ref(&separator.reference),
41-
Self::from_parser(parser),
42-
])),
43-
]);
44-
}
33+
])),
34+
]),
4535

4636
ParserDefinition::Sequence(parsers) => {
4737
return Self::sequence(parsers.iter().map(Self::from_parser).collect());
4838
}
4939

50-
ParserDefinition::TerminatedBy { parser, terminator } => {
51-
return Self::sequence(vec![
52-
Self::from_parser(parser),
53-
Self::production_ref(&terminator.reference),
54-
]);
55-
}
40+
ParserDefinition::TerminatedBy { parser, terminator } => Self::sequence(vec![
41+
Self::from_parser(parser),
42+
Self::production_ref(&terminator.reference),
43+
]),
5644

57-
ParserDefinition::ZeroOrMore(parser) => {
58-
return Self::zero_or_more(Self::from_parser(parser));
59-
}
60-
};
45+
ParserDefinition::ZeroOrMore(parser) => Self::zero_or_more(Self::from_parser(parser)),
46+
}
6147
}
6248
}

crates/codegen/ebnf/src/precedence_parser.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -69,6 +69,6 @@ impl EbnfNode {
6969

7070
choices.push(Self::from_parser(&precedence_parser.primary_expression));
7171

72-
return Self::choice(choices);
72+
Self::choice(choices)
7373
}
7474
}

crates/codegen/ebnf/src/scanner.rs

+10-29
Original file line numberDiff line numberDiff line change
@@ -12,48 +12,29 @@ impl EbnfNode {
1212
ScannerDefinition::Difference {
1313
minuend,
1414
subtrahend,
15-
} => {
16-
return Self::difference(
17-
Self::from_scanner(minuend),
18-
Self::from_scanner(subtrahend),
19-
);
20-
}
15+
} => Self::difference(Self::from_scanner(minuend), Self::from_scanner(subtrahend)),
2116

22-
ScannerDefinition::Not(scanner) => {
23-
return Self::not(Self::from_scanner(scanner));
24-
}
17+
ScannerDefinition::Not(scanner) => Self::not(Self::from_scanner(scanner)),
2518

26-
ScannerDefinition::OneOrMore(scanner) => {
27-
return Self::one_or_more(Self::from_scanner(scanner));
28-
}
19+
ScannerDefinition::OneOrMore(scanner) => Self::one_or_more(Self::from_scanner(scanner)),
2920

30-
ScannerDefinition::Optional(scanner) => {
31-
return Self::optional(Self::from_scanner(scanner));
32-
}
21+
ScannerDefinition::Optional(scanner) => Self::optional(Self::from_scanner(scanner)),
3322

34-
ScannerDefinition::Range { from, to } => {
35-
return Self::range(*from, *to);
36-
}
23+
ScannerDefinition::Range { from, to } => Self::range(*from, *to),
3724

38-
ScannerDefinition::Reference(name) => {
39-
return Self::production_ref(name);
40-
}
25+
ScannerDefinition::Reference(name) => Self::production_ref(name),
4126

4227
ScannerDefinition::Sequence(scanners) => {
4328
return Self::sequence(scanners.iter().map(Self::from_scanner).collect());
4429
}
4530

46-
ScannerDefinition::Terminal(terminal) => {
47-
return Self::terminal(terminal);
48-
}
31+
ScannerDefinition::Terminal(terminal) => Self::terminal(terminal),
4932

50-
ScannerDefinition::TrailingContext { scanner, .. } => {
51-
return Self::from_scanner(scanner);
52-
}
33+
ScannerDefinition::TrailingContext { scanner, .. } => Self::from_scanner(scanner),
5334

5435
ScannerDefinition::ZeroOrMore(scanner) => {
55-
return Self::zero_or_more(Self::from_scanner(scanner));
36+
Self::zero_or_more(Self::from_scanner(scanner))
5637
}
57-
};
38+
}
5839
}
5940
}

crates/codegen/ebnf/src/serialization.rs

+5-5
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@ impl EbnfSerializer {
5555

5656
instance.serialize_statement(&production.name, &root_node);
5757

58-
return Some(instance.outputs);
58+
Some(instance.outputs)
5959
}
6060

6161
/// Serializes a single EBNF statement.
@@ -105,7 +105,7 @@ impl EbnfSerializer {
105105
.map(|choice| {
106106
let mut buffer = String::new();
107107
self.serialize_node(choice, &mut buffer);
108-
return buffer;
108+
buffer
109109
})
110110
.collect::<Vec<_>>();
111111

@@ -120,7 +120,7 @@ impl EbnfSerializer {
120120
}
121121

122122
// Otherwise, break into multiple lines:
123-
return choices.join(&format!("\n{padding} | ", padding = " ".repeat(name_width)));
123+
choices.join(&format!("\n{padding} | ", padding = " ".repeat(name_width)))
124124
}
125125

126126
/// Serialize and append an EBNF node to the buffer.
@@ -219,7 +219,7 @@ impl EbnfSerializer {
219219
name = format!("«{name}»");
220220
}
221221

222-
return name;
222+
name
223223
}
224224
}
225225

@@ -247,5 +247,5 @@ fn format_string_literal(value: &str) -> String {
247247
})
248248
.collect();
249249

250-
return format!("{delimiter}{formatted}{delimiter}");
250+
format!("{delimiter}{formatted}{delimiter}")
251251
}

crates/codegen/language/definition/src/compiler/analysis/definitions.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -157,7 +157,7 @@ fn calculate_defined_in(analysis: &mut Analysis, item: &SpannedItem) -> VersionS
157157
}
158158
};
159159

160-
return defined_in;
160+
defined_in
161161
}
162162

163163
#[allow(clippy::enum_variant_names)]

crates/codegen/language/definition/src/compiler/analysis/mod.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,7 @@ impl Analysis {
6464

6565
analyze_reachability(&mut analysis);
6666

67-
return analysis;
67+
analysis
6868
}
6969
}
7070

crates/codegen/language/definition/src/compiler/analysis/references.rs

+11-23
Original file line numberDiff line numberDiff line change
@@ -403,9 +403,7 @@ enum ReferenceFilter {
403403
impl ReferenceFilter {
404404
fn apply(&self, item: &SpannedItem) -> bool {
405405
match (self, item) {
406-
(Self::Nodes, item) => {
407-
return Self::NonTerminals.apply(item) || Self::Terminals.apply(item);
408-
}
406+
(Self::Nodes, item) => Self::NonTerminals.apply(item) || Self::Terminals.apply(item),
409407
(
410408
Self::NonTerminals,
411409
SpannedItem::Struct { .. }
@@ -422,14 +420,10 @@ impl ReferenceFilter {
422420
)
423421
| (Self::Trivia, SpannedItem::Trivia { .. })
424422
| (Self::Tokens, SpannedItem::Token { .. })
425-
| (Self::Fragments, SpannedItem::Fragment { .. }) => {
426-
return true;
427-
}
423+
| (Self::Fragments, SpannedItem::Fragment { .. }) => true,
428424

429-
_ => {
430-
return false;
431-
}
432-
};
425+
_ => false,
426+
}
433427
}
434428
}
435429

@@ -499,20 +493,14 @@ fn update_enablement(
499493
.add(new_specifier, &Errors::EnabledTooWide(existing_enablement));
500494
}
501495

502-
return new_enablement;
496+
new_enablement
503497
}
504498

505499
fn check_version_specifier(analysis: &mut Analysis, specifier: &SpannedVersionSpecifier) -> bool {
506500
match specifier {
507-
SpannedVersionSpecifier::Never => {
508-
return true;
509-
}
510-
SpannedVersionSpecifier::From { from } => {
511-
return check_version(analysis, from);
512-
}
513-
SpannedVersionSpecifier::Till { till } => {
514-
return check_version(analysis, till);
515-
}
501+
SpannedVersionSpecifier::Never => true,
502+
SpannedVersionSpecifier::From { from } => check_version(analysis, from),
503+
SpannedVersionSpecifier::Till { till } => check_version(analysis, till),
516504
SpannedVersionSpecifier::Range { from, till } => {
517505
if from >= till {
518506
analysis
@@ -521,9 +509,9 @@ fn check_version_specifier(analysis: &mut Analysis, specifier: &SpannedVersionSp
521509
return false;
522510
}
523511

524-
return check_version(analysis, from) || check_version(analysis, till);
512+
check_version(analysis, from) || check_version(analysis, till)
525513
}
526-
};
514+
}
527515
}
528516

529517
fn check_version(analysis: &mut Analysis, version: &Spanned<Version>) -> bool {
@@ -535,7 +523,7 @@ fn check_version(analysis: &mut Analysis, version: &Spanned<Version>) -> bool {
535523
return false;
536524
}
537525

538-
return true;
526+
true
539527
}
540528

541529
#[derive(thiserror::Error, Debug)]

crates/codegen/language/definition/src/compiler/emitter.rs

+3-3
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ impl LanguageEmitter {
1717

1818
let intellisense_types = Self::emit_intellisense_types(analysis);
1919

20-
return quote! {
20+
quote! {
2121
mod #container_mod {
2222
// Main entry-point to create language definitions:
2323
pub struct #definition_struct;
@@ -36,7 +36,7 @@ impl LanguageEmitter {
3636
#intellisense_types
3737
}
3838
}
39-
};
39+
}
4040
}
4141

4242
fn emit_intellisense_types(analysis: &Analysis) -> TokenStream {
@@ -66,6 +66,6 @@ impl LanguageEmitter {
6666
}
6767
}
6868

69-
return result;
69+
result
7070
}
7171
}

crates/codegen/language/definition/src/compiler/mod.rs

+1-3
Original file line numberDiff line numberDiff line change
@@ -21,8 +21,6 @@ impl LanguageCompiler {
2121

2222
let analysis = Analysis::analyze(parse_output);
2323

24-
let output = LanguageEmitter::emit(&analysis);
25-
26-
return output;
24+
LanguageEmitter::emit(&analysis)
2725
}
2826
}

crates/codegen/language/definition/src/compiler/version_set.rs

+5-5
Original file line numberDiff line numberDiff line change
@@ -10,11 +10,11 @@ pub struct VersionSet {
1010

1111
impl VersionSet {
1212
pub fn new() -> Self {
13-
return Self::default();
13+
Self::default()
1414
}
1515

1616
pub fn is_empty(&self) -> bool {
17-
return self.ranges.is_empty();
17+
self.ranges.is_empty()
1818
}
1919

2020
pub fn add_versions_starting_from(&mut self, from: &Version) {
@@ -47,7 +47,7 @@ impl VersionSet {
4747
if till < range.end {
4848
till = range.end.to_owned();
4949
}
50-
return false;
50+
false
5151
});
5252

5353
self.ranges.push(from..till);
@@ -105,7 +105,7 @@ impl VersionSet {
105105
// Take anything remaining in first:
106106
ranges.extend(first_iter);
107107

108-
return Self { ranges };
108+
Self { ranges }
109109
}
110110
}
111111

@@ -135,7 +135,7 @@ impl Display for VersionSet {
135135
}
136136
}
137137

138-
return Ok(());
138+
Ok(())
139139
}
140140
}
141141

0 commit comments

Comments
 (0)