diff options
| author | Yuki Okushi <huyuumi.dev@gmail.com> | 2019-11-15 03:05:03 +0900 |
|---|---|---|
| committer | Yuki Okushi <huyuumi.dev@gmail.com> | 2019-11-15 03:08:26 +0900 |
| commit | 43492283b4952a0d6d55fbadfe53d48264f2f2b4 (patch) | |
| tree | 98e6f163099e3f6defb8e9d242fe25b3ee464887 | |
| parent | 82cf3a4486bc882207a09bf0d9e2dea4632781aa (diff) | |
| download | rust-43492283b4952a0d6d55fbadfe53d48264f2f2b4.tar.gz rust-43492283b4952a0d6d55fbadfe53d48264f2f2b4.zip | |
Don't warn labels beginning with `_`
| -rw-r--r-- | src/librustc_resolve/late.rs | 4 | ||||
| -rw-r--r-- | src/test/ui/label/label-beginning-with-underscore.rs | 10 |
2 files changed, 13 insertions, 1 deletions
diff --git a/src/librustc_resolve/late.rs b/src/librustc_resolve/late.rs index 24d6331bbd3..6b068387974 100644 --- a/src/librustc_resolve/late.rs +++ b/src/librustc_resolve/late.rs @@ -1767,7 +1767,9 @@ impl<'a, 'b> LateResolutionVisitor<'a, '_> { fn with_resolved_label(&mut self, label: Option<Label>, id: NodeId, f: impl FnOnce(&mut Self)) { if let Some(label) = label { - self.diagnostic_metadata.unused_labels.insert(id, label.ident.span); + if label.ident.as_str().as_bytes()[1] != b'_' { + self.diagnostic_metadata.unused_labels.insert(id, label.ident.span); + } self.with_label_rib(NormalRibKind, |this| { let ident = label.ident.modern_and_legacy(); this.label_ribs.last_mut().unwrap().bindings.insert(ident, id); diff --git a/src/test/ui/label/label-beginning-with-underscore.rs b/src/test/ui/label/label-beginning-with-underscore.rs new file mode 100644 index 00000000000..4b620864aab --- /dev/null +++ b/src/test/ui/label/label-beginning-with-underscore.rs @@ -0,0 +1,10 @@ +// check-pass + +#![deny(unused_labels)] + +fn main() { + // `unused_label` shouldn't warn labels beginning with `_` + '_unused: loop { + break; + } +} |
