about summary refs log tree commit diff
diff options
context:
space:
mode:
authorNiko Matsakis <niko@alum.mit.edu>2014-12-04 00:57:38 -0500
committerNiko Matsakis <niko@alum.mit.edu>2014-12-04 01:49:42 -0500
commitf2731ffb52a5873800df4ef2dfa28da9c4302976 (patch)
treea594fc9d9e1754dcd9cd096cc4650a7751997f96
parent64bf5a8687c78cf7dc605cc8c8b63748a2746943 (diff)
downloadrust-f2731ffb52a5873800df4ef2dfa28da9c4302976.tar.gz
rust-f2731ffb52a5873800df4ef2dfa28da9c4302976.zip
Adjust nits from pcwalton.
-rw-r--r--src/librustc/middle/traits/select.rs6
-rw-r--r--src/librustc_trans/trans/context.rs1
2 files changed, 5 insertions, 2 deletions
diff --git a/src/librustc/middle/traits/select.rs b/src/librustc/middle/traits/select.rs
index 9dbcf455f4b..2604204d9e6 100644
--- a/src/librustc/middle/traits/select.rs
+++ b/src/librustc/middle/traits/select.rs
@@ -1024,7 +1024,9 @@ impl<'cx, 'tcx> SelectionContext<'cx, 'tcx> {
                                       candidates: &mut CandidateSet<'tcx>)
                                       -> Result<(),SelectionError<'tcx>>
     {
-        // We provide a `Fn` impl for fn pointers (but not e.g. `FnMut`).
+        // We provide a `Fn` impl for fn pointers. There is no need to provide
+        // the other traits (e.g. `FnMut`) since those are provided by blanket
+        // impls.
         if Some(obligation.trait_ref.def_id) != self.tcx().lang_items.fn_trait() {
             return Ok(());
         }
@@ -1705,7 +1707,7 @@ impl<'cx, 'tcx> SelectionContext<'cx, 'tcx> {
                 abi: abi::Rust,
                 ref sig
             }) => {
-                (*sig).clone()
+                sig
             }
             _ => {
                 self.tcx().sess.span_bug(
diff --git a/src/librustc_trans/trans/context.rs b/src/librustc_trans/trans/context.rs
index eedfd8df2c0..8220645cec7 100644
--- a/src/librustc_trans/trans/context.rs
+++ b/src/librustc_trans/trans/context.rs
@@ -395,6 +395,7 @@ impl<'tcx> LocalCrateContext<'tcx> {
                 tn: TypeNames::new(),
                 externs: RefCell::new(FnvHashMap::new()),
                 item_vals: RefCell::new(NodeMap::new()),
+                fn_pointer_shims: RefCell::new(FnvHashMap::new()),
                 drop_glues: RefCell::new(FnvHashMap::new()),
                 tydescs: RefCell::new(FnvHashMap::new()),
                 finished_tydescs: Cell::new(false),