From: Dylan MacKenzie Date: Mon, 18 Nov 2019 20:58:28 +0000 (-0800) Subject: Make `name` work for `MatchSource` X-Git-Url: https://git.lizzy.rs/?a=commitdiff_plain;h=f4b9dc7d59ca4ebcf4841a80e83feb8fcaf353cc;p=rust.git Make `name` work for `MatchSource` --- diff --git a/src/librustc/hir/mod.rs b/src/librustc/hir/mod.rs index 17b13dae37f..6f34b42d91c 100644 --- a/src/librustc/hir/mod.rs +++ b/src/librustc/hir/mod.rs @@ -1749,6 +1749,20 @@ pub enum MatchSource { AwaitDesugar, } +impl MatchSource { + pub fn name(self) -> &'static str { + use MatchSource::*; + match self { + Normal => "match", + IfDesugar { .. } | IfLetDesugar { .. } => "if", + WhileDesugar | WhileLetDesugar => "while", + ForLoopDesugar => "for", + TryDesugar => "?", + AwaitDesugar => ".await", + } + } +} + /// The loop type that yielded an `ExprKind::Loop`. #[derive(Copy, Clone, PartialEq, RustcEncodable, RustcDecodable, Debug, HashStable)] pub enum LoopSource { @@ -1766,8 +1780,7 @@ impl LoopSource { pub fn name(self) -> &'static str { match self { LoopSource::Loop => "loop", - LoopSource::While => "while", - LoopSource::WhileLet => "while let", + LoopSource::While | LoopSource::WhileLet => "while", LoopSource::ForLoop => "for", } }