diff options
| author | leonardo.yvens <leoyvens@gmail.com> | 2017-09-13 12:19:37 -0300 |
|---|---|---|
| committer | leonardo.yvens <leoyvens@gmail.com> | 2017-09-13 12:19:37 -0300 |
| commit | c2fb70be6b73b74df2b7c82288e6f11b0f35b1bc (patch) | |
| tree | 7486f6fc7279e0b64851253604885c1138ad6265 | |
| parent | ab30b6a6edac27b618240f05c0bdbcb39a999f8a (diff) | |
| download | rust-c2fb70be6b73b74df2b7c82288e6f11b0f35b1bc.tar.gz rust-c2fb70be6b73b74df2b7c82288e6f11b0f35b1bc.zip | |
Refactor fn_trait_kind
Short and sweet
| -rw-r--r-- | src/librustc/middle/lang_items.rs | 17 |
1 files changed, 5 insertions, 12 deletions
diff --git a/src/librustc/middle/lang_items.rs b/src/librustc/middle/lang_items.rs index 9a70d7b9e3f..086b598497d 100644 --- a/src/librustc/middle/lang_items.rs +++ b/src/librustc/middle/lang_items.rs @@ -78,19 +78,12 @@ impl LanguageItems { } pub fn fn_trait_kind(&self, id: DefId) -> Option<ty::ClosureKind> { - let def_id_kinds = [ - (self.fn_trait(), ty::ClosureKind::Fn), - (self.fn_mut_trait(), ty::ClosureKind::FnMut), - (self.fn_once_trait(), ty::ClosureKind::FnOnce), - ]; - - for &(opt_def_id, kind) in &def_id_kinds { - if Some(id) == opt_def_id { - return Some(kind); - } + match Some(id) { + x if x == self.fn_trait() => Some(ty::ClosureKind::Fn), + x if x == self.fn_mut_trait() => Some(ty::ClosureKind::FnMut), + x if x == self.fn_once_trait() => Some(ty::ClosureKind::FnOnce), + _ => None } - - None } $( |
