diff --git a/src/liballoc/binary_heap.rs b/src/liballoc/binary_heap.rs index 57640af816a..94bbaf92ce9 100644 --- a/src/liballoc/binary_heap.rs +++ b/src/liballoc/binary_heap.rs @@ -926,7 +926,7 @@ impl<'a, T: 'a + fmt::Debug> fmt::Debug for Iter<'a, T> { } } -// FIXME(#19839) Remove in favor of `#[derive(Clone)]` +// FIXME(#26925) Remove in favor of `#[derive(Clone)]` #[stable(feature = "rust1", since = "1.0.0")] impl<'a, T> Clone for Iter<'a, T> { fn clone(&self) -> Iter<'a, T> { diff --git a/src/liballoc/linked_list.rs b/src/liballoc/linked_list.rs index f9512cbe977..f897feb7afa 100644 --- a/src/liballoc/linked_list.rs +++ b/src/liballoc/linked_list.rs @@ -80,7 +80,7 @@ impl<'a, T: 'a + fmt::Debug> fmt::Debug for Iter<'a, T> { } } -// FIXME #19839: deriving is too aggressive on the bounds (T doesn't need to be Clone). +// FIXME(#26925) Remove in favor of `#[derive(Clone)]` #[stable(feature = "rust1", since = "1.0.0")] impl<'a, T> Clone for Iter<'a, T> { fn clone(&self) -> Self { diff --git a/src/liballoc/vec_deque.rs b/src/liballoc/vec_deque.rs index 6d64e9e303f..f56aa23a4eb 100644 --- a/src/liballoc/vec_deque.rs +++ b/src/liballoc/vec_deque.rs @@ -1922,7 +1922,7 @@ impl<'a, T: 'a + fmt::Debug> fmt::Debug for Iter<'a, T> { } } -// FIXME(#19839) Remove in favor of `#[derive(Clone)]` +// FIXME(#26925) Remove in favor of `#[derive(Clone)]` #[stable(feature = "rust1", since = "1.0.0")] impl<'a, T> Clone for Iter<'a, T> { fn clone(&self) -> Iter<'a, T> { diff --git a/src/libcore/benches/mem.rs b/src/libcore/benches/mem.rs index 8e541d92a7f..6f5afa9ba99 100644 --- a/src/libcore/benches/mem.rs +++ b/src/libcore/benches/mem.rs @@ -10,7 +10,6 @@ use test::Bencher; -// FIXME #13642 (these benchmarks should be in another place) // Completely miscellaneous language-construct benchmarks. // Static/dynamic method dispatch diff --git a/src/libcore/cmp.rs b/src/libcore/cmp.rs index 6f86f8caad0..3c346f93ffc 100644 --- a/src/libcore/cmp.rs +++ b/src/libcore/cmp.rs @@ -162,8 +162,8 @@ pub trait PartialEq { /// ``` #[stable(feature = "rust1", since = "1.0.0")] pub trait Eq: PartialEq { - // FIXME #13101: this method is used solely by #[deriving] to - // assert that every component of a type implements #[deriving] + // this method is used solely by #[deriving] to assert + // that every component of a type implements #[deriving] // itself, the current deriving infrastructure means doing this // assertion without using a method on this trait is nearly // impossible. diff --git a/src/libcore/fmt/num.rs b/src/libcore/fmt/num.rs index 8ea388fddf8..c8218172583 100644 --- a/src/libcore/fmt/num.rs +++ b/src/libcore/fmt/num.rs @@ -12,7 +12,6 @@ #![allow(deprecated)] -// FIXME: #6220 Implement floating point formatting use fmt; use ops::{Div, Rem, Sub}; diff --git a/src/libcore/ptr.rs b/src/libcore/ptr.rs index 4041a3760e5..6f2f781cc86 100644 --- a/src/libcore/ptr.rs +++ b/src/libcore/ptr.rs @@ -27,8 +27,6 @@ use nonzero::NonZero; use cmp::Ordering::{self, Less, Equal, Greater}; -// FIXME #19649: intrinsic docs don't render, so these have no docs :( - #[stable(feature = "rust1", since = "1.0.0")] pub use intrinsics::copy_nonoverlapping; diff --git a/src/libcore/slice/mod.rs b/src/libcore/slice/mod.rs index ae243f3f246..5039bef631e 100644 --- a/src/libcore/slice/mod.rs +++ b/src/libcore/slice/mod.rs @@ -1654,7 +1654,7 @@ impl<'a, T: 'a + fmt::Debug, P> fmt::Debug for Split<'a, T, P> where P: FnMut(&T } } -// FIXME(#19839) Remove in favor of `#[derive(Clone)]` +// FIXME(#26925) Remove in favor of `#[derive(Clone)]` #[stable(feature = "rust1", since = "1.0.0")] impl<'a, T, P> Clone for Split<'a, T, P> where P: Clone + FnMut(&T) -> bool { fn clone(&self) -> Split<'a, T, P> { @@ -2093,7 +2093,7 @@ pub struct Windows<'a, T:'a> { size: usize } -// FIXME(#19839) Remove in favor of `#[derive(Clone)]` +// FIXME(#26925) Remove in favor of `#[derive(Clone)]` #[stable(feature = "rust1", since = "1.0.0")] impl<'a, T> Clone for Windows<'a, T> { fn clone(&self) -> Windows<'a, T> { @@ -2195,7 +2195,7 @@ pub struct Chunks<'a, T:'a> { size: usize } -// FIXME(#19839) Remove in favor of `#[derive(Clone)]` +// FIXME(#26925) Remove in favor of `#[derive(Clone)]` #[stable(feature = "rust1", since = "1.0.0")] impl<'a, T> Clone for Chunks<'a, T> { fn clone(&self) -> Chunks<'a, T> { diff --git a/src/libcore/tests/hash/mod.rs b/src/libcore/tests/hash/mod.rs index e8ea6044f5f..43ba941f13b 100644 --- a/src/libcore/tests/hash/mod.rs +++ b/src/libcore/tests/hash/mod.rs @@ -12,6 +12,7 @@ mod sip; use std::hash::{Hash, Hasher}; use std::default::Default; +use std::rc::Rc; struct MyHasher { hash: u64, @@ -64,12 +65,14 @@ fn test_writer_hasher() { assert_eq!(hash(& s), 97 + 0xFF); let s: Box = String::from("a").into_boxed_str(); assert_eq!(hash(& s), 97 + 0xFF); + let s: Rc<&str> = Rc::new("a"); + assert_eq!(hash(&s), 97 + 0xFF); let cs: &[u8] = &[1, 2, 3]; assert_eq!(hash(& cs), 9); let cs: Box<[u8]> = Box::new([1, 2, 3]); assert_eq!(hash(& cs), 9); - - // FIXME (#18248) Add tests for hashing Rc and Rc<[T]> + let cs: Rc<[u8]> = Rc::new([1, 2, 3]); + assert_eq!(hash(& cs), 9); let ptr = 5_usize as *const i32; assert_eq!(hash(&ptr), 5); diff --git a/src/libgetopts/lib.rs b/src/libgetopts/lib.rs index a0eacc817ca..81fa0374f54 100644 --- a/src/libgetopts/lib.rs +++ b/src/libgetopts/lib.rs @@ -731,7 +731,9 @@ pub fn usage(brief: &str, opts: &[OptGroup]) -> String { } } - // FIXME: #5516 should be graphemes not codepoints + // FIXME(https://github.com/rust-lang-nursery/getopts/issues/7) + // should be graphemes not codepoints + // // here we just need to indent the start of the description let rowlen = row.chars().count(); if rowlen < 24 { @@ -749,14 +751,17 @@ pub fn usage(brief: &str, opts: &[OptGroup]) -> String { desc_normalized_whitespace.push(' '); } - // FIXME: #5516 should be graphemes not codepoints + // FIXME(https://github.com/rust-lang-nursery/getopts/issues/7) + // should be graphemes not codepoints let mut desc_rows = Vec::new(); each_split_within(&desc_normalized_whitespace[..], 54, |substr| { desc_rows.push(substr.to_owned()); true }); - // FIXME: #5516 should be graphemes not codepoints + // FIXME(https://github.com/rust-lang-nursery/getopts/issues/7) + // should be graphemes not codepoints + // // wrapped description row.push_str(&desc_rows.join(&desc_sep[..])); diff --git a/src/librand/isaac.rs b/src/librand/isaac.rs index 96ce0905e38..17ecf79daee 100644 --- a/src/librand/isaac.rs +++ b/src/librand/isaac.rs @@ -543,7 +543,8 @@ impl Clone for Isaac64Rng { } impl Rng for Isaac64Rng { - // FIXME #7771: having next_u32 like this should be unnecessary + // FIXME(https://github.com/rust-lang/rfcs/issues/628) + // having next_u32 like this should be unnecessary #[inline] fn next_u32(&mut self) -> u32 { self.next_u64() as u32 diff --git a/src/librand/lib.rs b/src/librand/lib.rs index 90b3020fff9..82344f0ec09 100644 --- a/src/librand/lib.rs +++ b/src/librand/lib.rs @@ -115,7 +115,8 @@ pub trait Rng: Sized { /// /// This rarely needs to be called directly, prefer `r.gen()` to /// `r.next_u32()`. - // FIXME #7771: Should be implemented in terms of next_u64 + // FIXME(https://github.com/rust-lang/rfcs/issues/628) + // Should be implemented in terms of next_u64 fn next_u32(&mut self) -> u32; /// Return the next random u64. diff --git a/src/librustc/hir/mod.rs b/src/librustc/hir/mod.rs index 9bfedd7a381..2518ba7996c 100644 --- a/src/librustc/hir/mod.rs +++ b/src/librustc/hir/mod.rs @@ -916,8 +916,7 @@ impl Stmt_ { } } -// FIXME (pending discussion of #1697, #2178...): local should really be -// a refinement on pat. +// FIXME: local should really be a refinement on pat. /// Local represents a `let` statement, e.g., `let : = ;` #[derive(Clone, PartialEq, Eq, RustcEncodable, RustcDecodable, Hash, Debug)] pub struct Local { diff --git a/src/libstd/collections/hash/map.rs b/src/libstd/collections/hash/map.rs index 026b863b963..90361786e4f 100644 --- a/src/libstd/collections/hash/map.rs +++ b/src/libstd/collections/hash/map.rs @@ -1350,7 +1350,7 @@ pub struct Iter<'a, K: 'a, V: 'a> { inner: table::Iter<'a, K, V>, } -// FIXME(#19839) Remove in favor of `#[derive(Clone)]` +// FIXME(#26925) Remove in favor of `#[derive(Clone)]` #[stable(feature = "rust1", since = "1.0.0")] impl<'a, K, V> Clone for Iter<'a, K, V> { fn clone(&self) -> Iter<'a, K, V> { @@ -1403,7 +1403,7 @@ pub struct Keys<'a, K: 'a, V: 'a> { inner: Iter<'a, K, V>, } -// FIXME(#19839) Remove in favor of `#[derive(Clone)]` +// FIXME(#26925) Remove in favor of `#[derive(Clone)]` #[stable(feature = "rust1", since = "1.0.0")] impl<'a, K, V> Clone for Keys<'a, K, V> { fn clone(&self) -> Keys<'a, K, V> { @@ -1432,7 +1432,7 @@ pub struct Values<'a, K: 'a, V: 'a> { inner: Iter<'a, K, V>, } -// FIXME(#19839) Remove in favor of `#[derive(Clone)]` +// FIXME(#26925) Remove in favor of `#[derive(Clone)]` #[stable(feature = "rust1", since = "1.0.0")] impl<'a, K, V> Clone for Values<'a, K, V> { fn clone(&self) -> Values<'a, K, V> { diff --git a/src/libstd/collections/hash/table.rs b/src/libstd/collections/hash/table.rs index f1e8ff66af1..93929637e2f 100644 --- a/src/libstd/collections/hash/table.rs +++ b/src/libstd/collections/hash/table.rs @@ -925,7 +925,7 @@ struct RawBuckets<'a, K, V> { marker: marker::PhantomData<&'a ()>, } -// FIXME(#19839) Remove in favor of `#[derive(Clone)]` +// FIXME(#26925) Remove in favor of `#[derive(Clone)]` impl<'a, K, V> Clone for RawBuckets<'a, K, V> { fn clone(&self) -> RawBuckets<'a, K, V> { RawBuckets { @@ -976,7 +976,7 @@ pub struct Iter<'a, K: 'a, V: 'a> { unsafe impl<'a, K: Sync, V: Sync> Sync for Iter<'a, K, V> {} unsafe impl<'a, K: Sync, V: Sync> Send for Iter<'a, K, V> {} -// FIXME(#19839) Remove in favor of `#[derive(Clone)]` +// FIXME(#26925) Remove in favor of `#[derive(Clone)]` impl<'a, K, V> Clone for Iter<'a, K, V> { fn clone(&self) -> Iter<'a, K, V> { Iter { diff --git a/src/libsyntax/ast.rs b/src/libsyntax/ast.rs index 0504e889ea1..b8322a44d60 100644 --- a/src/libsyntax/ast.rs +++ b/src/libsyntax/ast.rs @@ -786,8 +786,7 @@ pub enum MacStmtStyle { NoBraces, } -// FIXME (pending discussion of #1697, #2178...): local should really be -// a refinement on pat. +// FIXME: local should really be a refinement on pat. /// Local represents a `let` statement, e.g., `let : = ;` #[derive(Clone, PartialEq, Eq, RustcEncodable, RustcDecodable, Hash, Debug)] pub struct Local {