diff options
| author | Alexis <a.beingessner@gmail.com> | 2015-03-01 09:42:11 -0500 |
|---|---|---|
| committer | Alexis <a.beingessner@gmail.com> | 2015-03-26 21:36:06 -0400 |
| commit | 93cdf1f2783e3a863929a5ef2032e7de752e4e40 (patch) | |
| tree | 33639adfd0d7c50b42528a196cdeaa6c4ee18845 /src/librustc | |
| parent | 1c35953cf8baa2e721401ba6354f0bd9a9f2abaf (diff) | |
| download | rust-93cdf1f2783e3a863929a5ef2032e7de752e4e40.tar.gz rust-93cdf1f2783e3a863929a5ef2032e7de752e4e40.zip | |
update everything to use Entry defaults
Diffstat (limited to 'src/librustc')
| -rw-r--r-- | src/librustc/metadata/loader.rs | 3 | ||||
| -rw-r--r-- | src/librustc/middle/dataflow.rs | 14 | ||||
| -rw-r--r-- | src/librustc/middle/traits/fulfill.rs | 7 | ||||
| -rw-r--r-- | src/librustc/middle/ty.rs | 8 | ||||
| -rw-r--r-- | src/librustc/session/config.rs | 6 |
5 files changed, 8 insertions, 30 deletions
diff --git a/src/librustc/metadata/loader.rs b/src/librustc/metadata/loader.rs index 7854db81146..a36d425c03e 100644 --- a/src/librustc/metadata/loader.rs +++ b/src/librustc/metadata/loader.rs @@ -426,8 +426,7 @@ impl<'a> Context<'a> { info!("lib candidate: {}", path.display()); let hash_str = hash.to_string(); - let slot = candidates.entry(hash_str).get().unwrap_or_else( - |vacant_entry| vacant_entry.insert((HashMap::new(), HashMap::new()))); + let slot = candidates.entry(hash_str).default_with(|| (HashMap::new(), HashMap::new())); let (ref mut rlibs, ref mut dylibs) = *slot; if rlib { rlibs.insert(fs::realpath(path).unwrap(), kind); diff --git a/src/librustc/middle/dataflow.rs b/src/librustc/middle/dataflow.rs index a1ce8d18184..71b36e21d3e 100644 --- a/src/librustc/middle/dataflow.rs +++ b/src/librustc/middle/dataflow.rs @@ -160,12 +160,7 @@ fn build_nodeid_to_index(decl: Option<&ast::FnDecl>, cfg.graph.each_node(|node_idx, node| { if let cfg::CFGNodeData::AST(id) = node.data { - match index.entry(id).get() { - Ok(v) => v.push(node_idx), - Err(e) => { - e.insert(vec![node_idx]); - } - } + index.entry(id).default(vec![]).push(node_idx); } true }); @@ -185,12 +180,7 @@ fn build_nodeid_to_index(decl: Option<&ast::FnDecl>, visit::walk_fn_decl(&mut formals, decl); impl<'a, 'v> visit::Visitor<'v> for Formals<'a> { fn visit_pat(&mut self, p: &ast::Pat) { - match self.index.entry(p.id).get() { - Ok(v) => v.push(self.entry), - Err(e) => { - e.insert(vec![self.entry]); - } - } + self.index.entry(p.id).default(vec![]).push(self.entry); visit::walk_pat(self, p) } } diff --git a/src/librustc/middle/traits/fulfill.rs b/src/librustc/middle/traits/fulfill.rs index c1066aa899e..76050d53a74 100644 --- a/src/librustc/middle/traits/fulfill.rs +++ b/src/librustc/middle/traits/fulfill.rs @@ -11,7 +11,6 @@ use middle::infer::{InferCtxt}; use middle::ty::{self, RegionEscape, Ty}; use std::collections::HashSet; -use std::collections::hash_map::Entry::{Occupied, Vacant}; use std::default::Default; use syntax::ast; use util::common::ErrorReported; @@ -437,9 +436,7 @@ fn register_region_obligation<'tcx>(tcx: &ty::ctxt<'tcx>, debug!("register_region_obligation({})", region_obligation.repr(tcx)); - match region_obligations.entry(region_obligation.cause.body_id) { - Vacant(entry) => { entry.insert(vec![region_obligation]); }, - Occupied(mut entry) => { entry.get_mut().push(region_obligation); }, - } + region_obligations.entry(region_obligation.cause.body_id).default(vec![]) + .push(region_obligation); } diff --git a/src/librustc/middle/ty.rs b/src/librustc/middle/ty.rs index 92b444e85d8..975d1560d6c 100644 --- a/src/librustc/middle/ty.rs +++ b/src/librustc/middle/ty.rs @@ -5669,9 +5669,7 @@ pub fn lookup_field_type<'tcx>(tcx: &ctxt<'tcx>, node_id_to_type(tcx, id.node) } else { let mut tcache = tcx.tcache.borrow_mut(); - let pty = tcache.entry(id).get().unwrap_or_else( - |vacant_entry| vacant_entry.insert(csearch::get_field_type(tcx, struct_id, id))); - pty.ty + tcache.entry(id).default_with(|| csearch::get_field_type(tcx, struct_id, id)).ty }; ty.subst(tcx, substs) } @@ -6819,9 +6817,7 @@ pub fn replace_late_bound_regions<'tcx, T, F>( debug!("region={}", region.repr(tcx)); match region { ty::ReLateBound(debruijn, br) if debruijn.depth == current_depth => { - let region = - * map.entry(br).get().unwrap_or_else( - |vacant_entry| vacant_entry.insert(mapf(br))); + let region = *map.entry(br).default_with(|| mapf(br)); if let ty::ReLateBound(debruijn1, br) = region { // If the callback returns a late-bound region, diff --git a/src/librustc/session/config.rs b/src/librustc/session/config.rs index a7c67a08631..5f0ab104885 100644 --- a/src/librustc/session/config.rs +++ b/src/librustc/session/config.rs @@ -35,7 +35,6 @@ use syntax::parse::token::InternedString; use getopts; use std::collections::HashMap; -use std::collections::hash_map::Entry::{Occupied, Vacant}; use std::env; use std::fmt; use std::path::PathBuf; @@ -1037,10 +1036,7 @@ pub fn build_session_options(matches: &getopts::Matches) -> Options { None => early_error("--extern value must be of the format `foo=bar`"), }; - match externs.entry(name.to_string()) { - Vacant(entry) => { entry.insert(vec![location.to_string()]); }, - Occupied(mut entry) => { entry.get_mut().push(location.to_string()); }, - } + externs.entry(name.to_string()).default(vec![]).push(location.to_string()); } let crate_name = matches.opt_str("crate-name"); |
