about summary refs log tree commit diff
path: root/src/libcore
diff options
context:
space:
mode:
authorAlex Crichton <alex@alexcrichton.com>2015-01-05 18:47:45 -0800
committerAlex Crichton <alex@alexcrichton.com>2015-01-05 18:47:45 -0800
commitafbce050ca3748a66b9e9783dc50f6c77f9bdf8b (patch)
tree300e5e6c014bf748c65be267bd4bb99edf416000 /src/libcore
parentcf8a11e98bf3871cf3475913fd68187784b542a3 (diff)
parentcd4205a970b07a9f4e8a2a6363ebe535df530386 (diff)
downloadrust-afbce050ca3748a66b9e9783dc50f6c77f9bdf8b.tar.gz
rust-afbce050ca3748a66b9e9783dc50f6c77f9bdf8b.zip
rollup merge of #20556: japaric/no-for-sized
Conflicts:
	src/libcollections/slice.rs
	src/libcollections/str.rs
	src/libcore/borrow.rs
	src/libcore/cmp.rs
	src/libcore/ops.rs
	src/libstd/c_str.rs
	src/test/compile-fail/issue-19009.rs
Diffstat (limited to 'src/libcore')
-rw-r--r--src/libcore/borrow.rs6
-rw-r--r--src/libcore/cmp.rs8
-rw-r--r--src/libcore/fmt/mod.rs16
-rw-r--r--src/libcore/hash/mod.rs2
-rw-r--r--src/libcore/kinds.rs8
-rw-r--r--src/libcore/ops.rs16
-rw-r--r--src/libcore/raw.rs3
-rw-r--r--src/libcore/slice.rs9
-rw-r--r--src/libcore/str/mod.rs4
9 files changed, 35 insertions, 37 deletions
diff --git a/src/libcore/borrow.rs b/src/libcore/borrow.rs
index 756a98512f1..d03a5877dc1 100644
--- a/src/libcore/borrow.rs
+++ b/src/libcore/borrow.rs
@@ -54,14 +54,14 @@ use self::Cow::*;
 
 /// A trait for borrowing data.
 #[old_orphan_check]
-pub trait BorrowFrom<Sized? Owned> for Sized? {
+pub trait BorrowFrom<Sized? Owned> {
     /// Immutably borrow from an owned value.
     fn borrow_from(owned: &Owned) -> &Self;
 }
 
 /// A trait for mutably borrowing data.
 #[old_orphan_check]
-pub trait BorrowFromMut<Sized? Owned> for Sized? : BorrowFrom<Owned> {
+pub trait BorrowFromMut<Sized? Owned> : BorrowFrom<Owned> {
     /// Mutably borrow from an owned value.
     fn borrow_from_mut(owned: &mut Owned) -> &mut Self;
 }
@@ -107,7 +107,7 @@ impl<'a, T, Sized? B> IntoCow<'a, T, B> for Cow<'a, T, B> where B: ToOwned<T> {
 
 /// A generalization of Clone to borrowed data.
 #[old_orphan_check]
-pub trait ToOwned<Owned> for Sized?: BorrowFrom<Owned> {
+pub trait ToOwned<Owned>: BorrowFrom<Owned> {
     /// Create owned data from borrowed data, usually by copying.
     fn to_owned(&self) -> Owned;
 }
diff --git a/src/libcore/cmp.rs b/src/libcore/cmp.rs
index 90ff174c2bd..b6d61b7704f 100644
--- a/src/libcore/cmp.rs
+++ b/src/libcore/cmp.rs
@@ -70,7 +70,7 @@ use option::Option::{self, Some, None};
 #[lang="eq"]
 #[stable]
 #[old_orphan_check]
-pub trait PartialEq<Sized? Rhs = Self> for Sized? {
+pub trait PartialEq<Sized? Rhs = Self> {
     /// This method tests for `self` and `other` values to be equal, and is used by `==`.
     #[stable]
     fn eq(&self, other: &Rhs) -> bool;
@@ -91,7 +91,7 @@ pub trait PartialEq<Sized? Rhs = Self> for Sized? {
 /// - symmetric: `a == b` implies `b == a`; and
 /// - transitive: `a == b` and `b == c` implies `a == c`.
 #[stable]
-pub trait Eq for Sized?: PartialEq<Self> {
+pub trait Eq: PartialEq<Self> {
     // FIXME #13101: 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
@@ -165,7 +165,7 @@ impl Ordering {
 /// - transitive, `a < b` and `b < c` implies `a < c`. The same must hold for
 ///   both `==` and `>`.
 #[stable]
-pub trait Ord for Sized?: Eq + PartialOrd<Self> {
+pub trait Ord: Eq + PartialOrd<Self> {
     /// This method returns an ordering between `self` and `other` values.
     ///
     /// By convention, `self.cmp(&other)` returns the ordering matching
@@ -225,7 +225,7 @@ impl PartialOrd for Ordering {
 /// 5.11).
 #[lang="ord"]
 #[stable]
-pub trait PartialOrd<Sized? Rhs = Self> for Sized?: PartialEq<Rhs> {
+pub trait PartialOrd<Sized? Rhs = Self>: PartialEq<Rhs> {
     /// This method returns an ordering between `self` and `other` values
     /// if one exists.
     #[stable]
diff --git a/src/libcore/fmt/mod.rs b/src/libcore/fmt/mod.rs
index 102836f8d30..bde2fb75252 100644
--- a/src/libcore/fmt/mod.rs
+++ b/src/libcore/fmt/mod.rs
@@ -222,7 +222,7 @@ impl<'a> Show for Arguments<'a> {
 /// to this trait. There is not an explicit way of selecting this trait to be
 /// used for formatting, it is only if no other format is specified.
 #[unstable = "I/O and core have yet to be reconciled"]
-pub trait Show for Sized? {
+pub trait Show {
     /// Formats the value using the given formatter.
     fn fmt(&self, &mut Formatter) -> Result;
 }
@@ -230,49 +230,49 @@ pub trait Show for Sized? {
 
 /// Format trait for the `o` character
 #[unstable = "I/O and core have yet to be reconciled"]
-pub trait Octal for Sized? {
+pub trait Octal {
     /// Formats the value using the given formatter.
     fn fmt(&self, &mut Formatter) -> Result;
 }
 
 /// Format trait for the `b` character
 #[unstable = "I/O and core have yet to be reconciled"]
-pub trait Binary for Sized? {
+pub trait Binary {
     /// Formats the value using the given formatter.
     fn fmt(&self, &mut Formatter) -> Result;
 }
 
 /// Format trait for the `x` character
 #[unstable = "I/O and core have yet to be reconciled"]
-pub trait LowerHex for Sized? {
+pub trait LowerHex {
     /// Formats the value using the given formatter.
     fn fmt(&self, &mut Formatter) -> Result;
 }
 
 /// Format trait for the `X` character
 #[unstable = "I/O and core have yet to be reconciled"]
-pub trait UpperHex for Sized? {
+pub trait UpperHex {
     /// Formats the value using the given formatter.
     fn fmt(&self, &mut Formatter) -> Result;
 }
 
 /// Format trait for the `p` character
 #[unstable = "I/O and core have yet to be reconciled"]
-pub trait Pointer for Sized? {
+pub trait Pointer {
     /// Formats the value using the given formatter.
     fn fmt(&self, &mut Formatter) -> Result;
 }
 
 /// Format trait for the `e` character
 #[unstable = "I/O and core have yet to be reconciled"]
-pub trait LowerExp for Sized? {
+pub trait LowerExp {
     /// Formats the value using the given formatter.
     fn fmt(&self, &mut Formatter) -> Result;
 }
 
 /// Format trait for the `E` character
 #[unstable = "I/O and core have yet to be reconciled"]
-pub trait UpperExp for Sized? {
+pub trait UpperExp {
     /// Formats the value using the given formatter.
     fn fmt(&self, &mut Formatter) -> Result;
 }
diff --git a/src/libcore/hash/mod.rs b/src/libcore/hash/mod.rs
index b0a5ec9fe12..d929e12a073 100644
--- a/src/libcore/hash/mod.rs
+++ b/src/libcore/hash/mod.rs
@@ -76,7 +76,7 @@ pub mod sip;
 /// A hashable type. The `S` type parameter is an abstract hash state that is
 /// used by the `Hash` to compute the hash. It defaults to
 /// `std::hash::sip::SipState`.
-pub trait Hash<S = sip::SipState> for Sized? {
+pub trait Hash<S = sip::SipState> {
     /// Computes the hash of a value.
     fn hash(&self, state: &mut S);
 }
diff --git a/src/libcore/kinds.rs b/src/libcore/kinds.rs
index e50aaef5f09..4769c783e58 100644
--- a/src/libcore/kinds.rs
+++ b/src/libcore/kinds.rs
@@ -19,19 +19,19 @@
 
 /// Types able to be transferred across task boundaries.
 #[lang="send"]
-pub unsafe trait Send for Sized? : 'static {
+pub unsafe trait Send : 'static {
     // empty.
 }
 
 /// Types with a constant size known at compile-time.
 #[lang="sized"]
-pub trait Sized for Sized? {
+pub trait Sized {
     // Empty.
 }
 
 /// Types that can be copied by simply copying bits (i.e. `memcpy`).
 #[lang="copy"]
-pub trait Copy for Sized? {
+pub trait Copy {
     // Empty.
 }
 
@@ -81,7 +81,7 @@ pub trait Copy for Sized? {
 /// reference; not doing this is undefined behaviour (for example,
 /// `transmute`-ing from `&T` to `&mut T` is illegal).
 #[lang="sync"]
-pub unsafe trait Sync for Sized? {
+pub unsafe trait Sync {
     // Empty
 }
 
diff --git a/src/libcore/ops.rs b/src/libcore/ops.rs
index 3d4be651f83..56c147d190c 100644
--- a/src/libcore/ops.rs
+++ b/src/libcore/ops.rs
@@ -802,7 +802,7 @@ shr_impl! { uint u8 u16 u32 u64 int i8 i16 i32 i64 }
 /// }
 /// ```
 #[lang="index"]
-pub trait Index<Sized? Index> for Sized? {
+pub trait Index<Sized? Index> {
     type Sized? Output;
 
     /// The method for the indexing (`Foo[Bar]`) operation
@@ -839,7 +839,7 @@ pub trait Index<Sized? Index> for Sized? {
 /// }
 /// ```
 #[lang="index_mut"]
-pub trait IndexMut<Sized? Index> for Sized? {
+pub trait IndexMut<Sized? Index> {
     type Sized? Output;
 
     /// The method for the indexing (`Foo[Bar]`) operation
@@ -884,7 +884,7 @@ pub trait IndexMut<Sized? Index> for Sized? {
 /// }
 /// ```
 #[lang="slice"]
-pub trait Slice<Sized? Idx, Sized? Result> for Sized? {
+pub trait Slice<Sized? Idx, Sized? Result> {
     /// The method for the slicing operation foo[]
     fn as_slice_<'a>(&'a self) -> &'a Result;
     /// The method for the slicing operation foo[from..]
@@ -933,7 +933,7 @@ pub trait Slice<Sized? Idx, Sized? Result> for Sized? {
 /// }
 /// ```
 #[lang="slice_mut"]
-pub trait SliceMut<Sized? Idx, Sized? Result> for Sized? {
+pub trait SliceMut<Sized? Idx, Sized? Result> {
     /// The method for the slicing operation foo[]
     fn as_mut_slice_<'a>(&'a mut self) -> &'a mut Result;
     /// The method for the slicing operation foo[from..]
@@ -1069,7 +1069,7 @@ pub struct RangeTo<Idx> {
 /// ```
 #[lang="deref"]
 #[stable]
-pub trait Deref for Sized? {
+pub trait Deref {
     #[stable]
     type Sized? Target;
 
@@ -1131,7 +1131,7 @@ impl<'a, Sized? T> Deref for &'a mut T {
 /// ```
 #[lang="deref_mut"]
 #[stable]
-pub trait DerefMut for Sized? : Deref {
+pub trait DerefMut: Deref {
     /// The method called to mutably dereference a value
     #[stable]
     fn deref_mut<'a>(&'a mut self) -> &'a mut <Self as Deref>::Target;
@@ -1145,7 +1145,7 @@ impl<'a, Sized? T> DerefMut for &'a mut T {
 /// A version of the call operator that takes an immutable receiver.
 #[lang="fn"]
 #[unstable = "uncertain about variadic generics, input versus associated types"]
-pub trait Fn<Args,Result> for Sized? {
+pub trait Fn<Args,Result> {
     /// This is called when the call operator is used.
     extern "rust-call" fn call(&self, args: Args) -> Result;
 }
@@ -1153,7 +1153,7 @@ pub trait Fn<Args,Result> for Sized? {
 /// A version of the call operator that takes a mutable receiver.
 #[lang="fn_mut"]
 #[unstable = "uncertain about variadic generics, input versus associated types"]
-pub trait FnMut<Args,Result> for Sized? {
+pub trait FnMut<Args,Result> {
     /// This is called when the call operator is used.
     extern "rust-call" fn call_mut(&mut self, args: Args) -> Result;
 }
diff --git a/src/libcore/raw.rs b/src/libcore/raw.rs
index 3bef1d15363..5ef6f6b2623 100644
--- a/src/libcore/raw.rs
+++ b/src/libcore/raw.rs
@@ -20,7 +20,6 @@
 
 use kinds::Copy;
 use mem;
-use kinds::Sized;
 
 /// The representation of a Rust slice
 #[repr(C)]
@@ -52,7 +51,7 @@ pub struct TraitObject {
 
 /// This trait is meant to map equivalences between raw structs and their
 /// corresponding rust values.
-pub trait Repr<T> for Sized? {
+pub trait Repr<T> {
     /// This function "unwraps" a rust value (without consuming it) into its raw
     /// struct representation. This can be used to read/write different values
     /// for the struct. This is a safe method because by default it does not
diff --git a/src/libcore/slice.rs b/src/libcore/slice.rs
index ae88a27974c..ee6017de6e9 100644
--- a/src/libcore/slice.rs
+++ b/src/libcore/slice.rs
@@ -64,7 +64,7 @@ use raw::Slice as RawSlice;
 
 /// Extension methods for slices.
 #[allow(missing_docs)] // docs in libcollections
-pub trait SliceExt for Sized? {
+pub trait SliceExt {
     type Item;
 
     fn slice<'a>(&'a self, start: uint, end: uint) -> &'a [Self::Item];
@@ -614,7 +614,7 @@ impl<T> ops::SliceMut<uint, [T]> for [T] {
 
 /// Data that is viewable as a slice.
 #[experimental = "will be replaced by slice syntax"]
-pub trait AsSlice<T> for Sized? {
+pub trait AsSlice<T> {
     /// Work with `self` as a slice.
     fn as_slice<'a>(&'a self) -> &'a [T];
 }
@@ -1355,12 +1355,11 @@ pub unsafe fn from_raw_mut_buf<'a, T>(p: &'a *mut T, len: uint) -> &'a mut [T] {
 /// Operations on `[u8]`.
 #[experimental = "needs review"]
 pub mod bytes {
-    use kinds::Sized;
     use ptr;
     use slice::SliceExt;
 
     /// A trait for operations on mutable `[u8]`s.
-    pub trait MutableByteVector for Sized? {
+    pub trait MutableByteVector {
         /// Sets all bytes of the receiver to the given value.
         fn set_memory(&mut self, value: u8);
     }
@@ -1444,7 +1443,7 @@ impl<T: PartialOrd> PartialOrd for [T] {
 
 /// Extension methods for slices containing integers.
 #[experimental]
-pub trait IntSliceExt<U, S> for Sized? {
+pub trait IntSliceExt<U, S> {
     /// Converts the slice to an immutable slice of unsigned integers with the same width.
     fn as_unsigned<'a>(&'a self) -> &'a [U];
     /// Converts the slice to an immutable slice of signed integers with the same width.
diff --git a/src/libcore/str/mod.rs b/src/libcore/str/mod.rs
index 2fe8f35a9ab..0dec61ea75e 100644
--- a/src/libcore/str/mod.rs
+++ b/src/libcore/str/mod.rs
@@ -1145,7 +1145,7 @@ mod traits {
 #[unstable = "Instead of taking this bound generically, this trait will be \
               replaced with one of slicing syntax, deref coercions, or \
               a more generic conversion trait"]
-pub trait Str for Sized? {
+pub trait Str {
     /// Work with `self` as a slice.
     fn as_slice<'a>(&'a self) -> &'a str;
 }
@@ -1186,7 +1186,7 @@ delegate_iter!{pattern forward &'a str in RSplitN<'a, P>}
 
 /// Methods for string slices
 #[allow(missing_docs)]
-pub trait StrExt for Sized? {
+pub trait StrExt {
     // NB there are no docs here are they're all located on the StrExt trait in
     // libcollections, not here.