Skip to content

Commit 841ed1a

Browse files
committed
Cancel errors during interface::parse_cfg/parse_check_cfg
1 parent 42725a1 commit 841ed1a

20 files changed

+5
-88
lines changed

compiler/rustc_interface/src/interface.rs

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -97,12 +97,12 @@ pub(crate) fn parse_cfg(dcx: DiagCtxtHandle<'_>, cfgs: Vec<String>) -> Cfg {
9797
}
9898
Ok(..) => {}
9999
Err(err) => {
100-
err.emit();
100+
err.cancel();
101101
},
102102
}
103103
},
104104
Err(errs) => errs.into_iter().for_each(|err| {
105-
err.emit();
105+
err.cancel();
106106
}),
107107
};
108108

@@ -184,21 +184,20 @@ pub(crate) fn parse_check_cfg(dcx: DiagCtxtHandle<'_>, specs: Vec<String>) -> Ch
184184
let mut parser =
185185
match new_parser_from_source_str(&psess, filename, s.to_string(), StripTokens::Nothing)
186186
{
187-
Ok(parser) => parser,
187+
Ok(parser) => parser.recovery(Recovery::Forbidden),
188188
Err(errs) => {
189189
errs.into_iter().for_each(|err| {
190-
err.emit();
190+
err.cancel();
191191
});
192192
expected_error();
193193
}
194194
};
195-
parser = parser.recovery(Recovery::Forbidden);
196195

197196
let meta_item = match parser.parse_meta_item(AllowLeadingUnsafe::No) {
198197
Ok(meta_item) if parser.token == token::Eof => meta_item,
199198
Ok(..) => expected_error(),
200199
Err(err) => {
201-
err.emit();
200+
err.cancel();
202201
expected_error();
203202
}
204203
};

tests/run-make/multiline-args-value/cfg-frontmatter.stderr

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,3 @@
1-
error: expected identifier, found `-`
2-
|
3-
= note: this error occurred on the command line: `--cfg=---
4-
---
5-
key`
6-
71
error: invalid `--cfg` argument: `---
82
---
93
key` (expected `key` or `key="value"`)
Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,3 @@
1-
error: expected identifier, found `#`
2-
|
3-
= note: this error occurred on the command line: `--cfg=#!/usr/bin/shebang
4-
key`
5-
61
error: invalid `--cfg` argument: `#!/usr/bin/shebang
72
key` (expected `key` or `key="value"`)
83

tests/run-make/multiline-args-value/check-cfg-frontmatter.stderr

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,3 @@
1-
error: expected identifier, found `-`
2-
|
3-
= note: this error occurred on the command line: `--check-cfg=---
4-
---
5-
cfg(key)`
6-
71
error: invalid `--check-cfg` argument: `---
82
---
93
cfg(key)`

tests/run-make/multiline-args-value/check-cfg-shebang.stderr

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,3 @@
1-
error: expected identifier, found `#`
2-
|
3-
= note: this error occurred on the command line: `--check-cfg=#!/usr/bin/shebang
4-
cfg(key)`
5-
61
error: invalid `--check-cfg` argument: `#!/usr/bin/shebang
72
cfg(key)`
83
|
Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,2 @@
1-
error: expected identifier, found reserved keyword `priv`
2-
|
3-
= note: this error occurred on the command line: `--cfg=priv`
4-
51
error: invalid `--cfg` argument: `priv` (expected `key` or `key="value"`)
62

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,2 @@
1-
error: expected identifier, found keyword `struct`
2-
|
3-
= note: this error occurred on the command line: `--cfg=struct`
4-
51
error: invalid `--cfg` argument: `struct` (expected `key` or `key="value"`)
62

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,2 @@
1-
error: expected identifier, found reserved identifier `_`
2-
|
3-
= note: this error occurred on the command line: `--cfg=_`
4-
51
error: invalid `--cfg` argument: `_` (expected `key` or `key="value"`)
62

tests/ui/cfg/path-kw-as-cfg-pred-cli-check-cfg.check_cfg_priv.stderr

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,3 @@
1-
error: expected unsuffixed literal, found reserved keyword `priv`
2-
|
3-
= note: this error occurred on the command line: `--check-cfg=cfg(priv)`
4-
51
error: invalid `--check-cfg` argument: `cfg(priv)`
62
|
73
= note: expected `cfg(name, values("value1", "value2", ... "valueN"))`

tests/ui/cfg/path-kw-as-cfg-pred-cli-check-cfg.check_cfg_struct.stderr

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,3 @@
1-
error: expected unsuffixed literal, found keyword `struct`
2-
|
3-
= note: this error occurred on the command line: `--check-cfg=cfg(struct)`
4-
51
error: invalid `--check-cfg` argument: `cfg(struct)`
62
|
73
= note: expected `cfg(name, values("value1", "value2", ... "valueN"))`

0 commit comments

Comments
 (0)