Auto merge of #29266 - apasel422:wf, r=alexcrichton

Using these traits in an object context previously resulted in an RFC 1214 warning.
This commit is contained in:
bors 2015-10-25 18:34:29 +00:00
commit 2a418216fe
4 changed files with 7 additions and 5 deletions

View file

@ -95,7 +95,7 @@ pub trait Into<T>: Sized {
/// assert_eq!(string, other_string);
/// ```
#[stable(feature = "rust1", since = "1.0.0")]
pub trait From<T> {
pub trait From<T>: Sized {
/// Performs the conversion.
#[stable(feature = "rust1", since = "1.0.0")]
fn from(T) -> Self;

View file

@ -78,6 +78,8 @@
#![stable(feature = "rust1", since = "1.0.0")]
use marker::Sized;
/// A trait for giving a type a useful default value.
///
/// A struct can derive default implementations of `Default` for basic types using
@ -93,7 +95,7 @@
/// }
/// ```
#[stable(feature = "rust1", since = "1.0.0")]
pub trait Default {
pub trait Default: Sized {
/// Returns the "default value" for a type.
///
/// Default values are often some kind of initial value, identity value, or anything else that

View file

@ -1490,7 +1490,7 @@ impl<'a, I: Iterator + ?Sized> Iterator for &'a mut I {
#[stable(feature = "rust1", since = "1.0.0")]
#[rustc_on_unimplemented="a collection of type `{Self}` cannot be \
built from an iterator over elements of type `{A}`"]
pub trait FromIterator<A> {
pub trait FromIterator<A>: Sized {
/// Builds a container with elements from something iterable.
///
/// # Examples

View file

@ -58,7 +58,7 @@ pub mod diy_float;
#[unstable(feature = "zero_one",
reason = "unsure of placement, wants to use associated constants",
issue = "27739")]
pub trait Zero {
pub trait Zero: Sized {
/// The "zero" (usually, additive identity) for this type.
fn zero() -> Self;
}
@ -70,7 +70,7 @@ pub trait Zero {
#[unstable(feature = "zero_one",
reason = "unsure of placement, wants to use associated constants",
issue = "27739")]
pub trait One {
pub trait One: Sized {
/// The "one" (usually, multiplicative identity) for this type.
fn one() -> Self;
}