]> git.lizzy.rs Git - rust.git/commitdiff
Remove no longer necessary coercions to fn pointer types.
authorCorey Farwell <coreyf@rwell.org>
Wed, 30 Mar 2016 13:35:38 +0000 (09:35 -0400)
committerCorey Farwell <coreyf@rwell.org>
Wed, 30 Mar 2016 13:50:55 +0000 (09:50 -0400)
Originally added in 8fe9e4dff6d9d0fdd940835ae377edcb3754f8c1.

Everything appears to build fine without the coercions, so they can
presumably be removed.

src/libstd/collections/hash/map.rs
src/libstd/collections/hash/set.rs

index 7ab5c90b0abde6bf753c981f1a815a243c45e648..1d21d2d18e4f3492d8d9b7b8c8fbcd6aef88c33d 100644 (file)
@@ -837,8 +837,6 @@ fn insert_hashed_nocheck(&mut self, hash: SafeHash, k: K, v: V) -> Option<V> {
     #[stable(feature = "rust1", since = "1.0.0")]
     pub fn keys<'a>(&'a self) -> Keys<'a, K, V> {
         fn first<A, B>((a, _): (A, B)) -> A { a }
-        let first: fn((&'a K,&'a V)) -> &'a K = first; // coerce to fn ptr
-
         Keys { inner: self.iter().map(first) }
     }
 
@@ -862,8 +860,6 @@ fn first<A, B>((a, _): (A, B)) -> A { a }
     #[stable(feature = "rust1", since = "1.0.0")]
     pub fn values<'a>(&'a self) -> Values<'a, K, V> {
         fn second<A, B>((_, b): (A, B)) -> B { b }
-        let second: fn((&'a K,&'a V)) -> &'a V = second; // coerce to fn ptr
-
         Values { inner: self.iter().map(second) }
     }
 
@@ -997,8 +993,6 @@ pub fn is_empty(&self) -> bool { self.len() == 0 }
     #[stable(feature = "drain", since = "1.6.0")]
     pub fn drain(&mut self) -> Drain<K, V> {
         fn last_two<A, B, C>((_, b, c): (A, B, C)) -> (B, C) { (b, c) }
-        let last_two: fn((SafeHash, K, V)) -> (K, V) = last_two; // coerce to fn pointer
-
         Drain {
             inner: self.table.drain().map(last_two),
         }
@@ -1404,8 +1398,6 @@ impl<K, V, S> IntoIterator for HashMap<K, V, S>
     /// ```
     fn into_iter(self) -> IntoIter<K, V> {
         fn last_two<A, B, C>((_, b, c): (A, B, C)) -> (B, C) { (b, c) }
-        let last_two: fn((SafeHash, K, V)) -> (K, V) = last_two;
-
         IntoIter {
             inner: self.table.into_iter().map(last_two)
         }
index fdde1773a4518d16006988e06aa5756dcf58da7f..24dfcb1a9b7ba18ab04c9999fb0e124be271a455 100644 (file)
@@ -415,8 +415,6 @@ pub fn is_empty(&self) -> bool { self.map.is_empty() }
     #[stable(feature = "drain", since = "1.6.0")]
     pub fn drain(&mut self) -> Drain<T> {
         fn first<A, B>((a, _): (A, B)) -> A { a }
-        let first: fn((T, ())) -> T = first; // coerce to fn pointer
-
         Drain { iter: self.map.drain().map(first) }
     }
 
@@ -892,8 +890,6 @@ impl<T, S> IntoIterator for HashSet<T, S>
     /// ```
     fn into_iter(self) -> IntoIter<T> {
         fn first<A, B>((a, _): (A, B)) -> A { a }
-        let first: fn((T, ())) -> T = first;
-
         IntoIter { iter: self.map.into_iter().map(first) }
     }
 }