rollup merge of #20607: nrc/kinds

Conflicts:
	src/libcore/array.rs
	src/libcore/cell.rs
	src/libcore/prelude.rs
	src/libstd/path/posix.rs
	src/libstd/prelude/v1.rs
	src/test/compile-fail/dst-sized-trait-param.rs
This commit is contained in:
Alex Crichton 2015-01-06 15:34:10 -08:00
commit 771fe9026a
156 changed files with 580 additions and 554 deletions

View file

@ -14,7 +14,7 @@ trait Get {
}
fn foo<T:Get>(t: T) {
let x = t.get(); //~ ERROR the trait `core::kinds::Sized` is not implemented
let x = t.get(); //~ ERROR the trait `core::marker::Sized` is not implemented
}
fn main() {

View file

@ -9,7 +9,7 @@
// except according to those terms.
fn foo<T:'static>() {
1u.bar::<T>(); //~ ERROR `core::kinds::Send` is not implemented
1u.bar::<T>(); //~ ERROR `core::marker::Send` is not implemented
}
trait bar {

View file

@ -16,8 +16,8 @@ trait Trait {}
pub fn main() {
let x: Vec<Trait + Sized> = Vec::new();
//~^ ERROR the trait `core::kinds::Sized` is not implemented
//~^^ ERROR the trait `core::kinds::Sized` is not implemented
//~^ ERROR the trait `core::marker::Sized` is not implemented
//~^^ ERROR the trait `core::marker::Sized` is not implemented
let x: Vec<Box<RefCell<Trait + Sized>>> = Vec::new();
//~^ ERROR the trait `core::kinds::Sized` is not implemented
//~^ ERROR the trait `core::marker::Sized` is not implemented
}

View file

@ -10,7 +10,7 @@
// Ensure that moves out of static items is forbidden
use std::kinds::marker;
use std::marker;
struct Foo {
foo: int,

View file

@ -12,7 +12,7 @@
// move, when the struct implements Drop.
// NoCopy
use std::kinds::marker::NoCopy as NP;
use std::marker::NoCopy as NP;
struct S { a: int, np: NP }

View file

@ -13,9 +13,9 @@
trait Foo : Send+Sync { }
impl <T: Sync+'static> Foo for (T,) { } //~ ERROR the trait `core::kinds::Send` is not implemented
impl <T: Sync+'static> Foo for (T,) { } //~ ERROR the trait `core::marker::Send` is not implemented
impl <T: Send> Foo for (T,T) { } //~ ERROR the trait `core::kinds::Sync` is not implemented
impl <T: Send> Foo for (T,T) { } //~ ERROR the trait `core::marker::Sync` is not implemented
impl <T: Send+Sync> Foo for (T,T,T) { } // (ok)

View file

@ -22,6 +22,6 @@ struct X<T>(T);
impl <T:Sync> RequiresShare for X<T> { }
impl <T:Sync+'static> RequiresRequiresShareAndSend for X<T> { }
//~^ ERROR the trait `core::kinds::Send` is not implemented
//~^ ERROR the trait `core::marker::Send` is not implemented
fn main() { }

View file

@ -12,6 +12,6 @@
trait Foo : Send { }
impl <T: Sync+'static> Foo for T { } //~ ERROR the trait `core::kinds::Send` is not implemented
impl <T: Sync+'static> Foo for T { } //~ ERROR the trait `core::marker::Send` is not implemented
fn main() { }

View file

@ -10,7 +10,7 @@
// Verifies all possible restrictions for statics values.
use std::kinds::marker;
use std::marker;
struct WithDtor;

View file

@ -13,7 +13,7 @@ struct X<F> where F: FnOnce() + 'static + Send {
}
fn foo<F>(blk: F) -> X<F> where F: FnOnce() + 'static {
//~^ ERROR the trait `core::kinds::Send` is not implemented for the type
//~^ ERROR the trait `core::marker::Send` is not implemented for the type
return X { field: blk };
}

View file

@ -21,7 +21,7 @@ fn give_any<F>(f: F) where F: FnOnce() {
fn give_owned<F>(f: F) where F: FnOnce() + Send {
take_any(f);
take_const_owned(f); //~ ERROR the trait `core::kinds::Sync` is not implemented for the type
take_const_owned(f); //~ ERROR the trait `core::marker::Sync` is not implemented for the type
}
fn main() {}

View file

@ -13,5 +13,5 @@ use std::sync::mpsc::Receiver;
fn test<T: Sync>() {}
fn main() {
test::<Receiver<int>>(); //~ ERROR: `core::kinds::Sync` is not implemented
test::<Receiver<int>>(); //~ ERROR: `core::marker::Sync` is not implemented
}

View file

@ -13,5 +13,5 @@ use std::sync::mpsc::Sender;
fn test<T: Sync>() {}
fn main() {
test::<Sender<int>>(); //~ ERROR: `core::kinds::Sync` is not implemented
test::<Sender<int>>(); //~ ERROR: `core::marker::Sync` is not implemented
}

View file

@ -43,5 +43,5 @@ pub fn main() {
let f5: &mut Fat<ToBar> = &mut Fat { f1: 5, f2: "some str", ptr: Bar1 {f :42} };
let z: Box<ToBar> = box Bar1 {f: 36};
f5.ptr = *z;
//~^ ERROR the trait `core::kinds::Sized` is not implemented
//~^ ERROR the trait `core::marker::Sized` is not implemented
}

View file

@ -43,5 +43,5 @@ pub fn main() {
let f5: &mut Fat<ToBar> = &mut Fat { f1: 5, f2: "some str", ptr: Bar1 {f :42} };
let z: Box<ToBar> = box Bar1 {f: 36};
f5.ptr = Bar1 {f: 36}; //~ ERROR mismatched types: expected `ToBar`, found `Bar1`
//~^ ERROR the trait `core::kinds::Sized` is not implemented for the type `ToBar`
//~^ ERROR the trait `core::marker::Sized` is not implemented for the type `ToBar`
}

View file

@ -21,5 +21,5 @@ pub fn main() {
let f: Fat<[int; 3]> = Fat { ptr: [5i, 6, 7] };
let g: &Fat<[int]> = &f;
let h: &Fat<Fat<[int]>> = &Fat { ptr: *g };
//~^ ERROR the trait `core::kinds::Sized` is not implemented
//~^ ERROR the trait `core::marker::Sized` is not implemented
}

View file

@ -15,22 +15,22 @@ impl Foo for str {}
fn test1<T: ?Sized + Foo>(t: &T) {
let u: &Foo = t;
//~^ ERROR `core::kinds::Sized` is not implemented for the type `T`
//~^ ERROR `core::marker::Sized` is not implemented for the type `T`
}
fn test2<T: ?Sized + Foo>(t: &T) {
let v: &Foo = t as &Foo;
//~^ ERROR `core::kinds::Sized` is not implemented for the type `T`
//~^ ERROR `core::marker::Sized` is not implemented for the type `T`
}
fn test3() {
let _: &[&Foo] = &["hi"];
//~^ ERROR `core::kinds::Sized` is not implemented for the type `str`
//~^ ERROR `core::marker::Sized` is not implemented for the type `str`
}
fn test4() {
let _: &Foo = "hi" as &Foo;
//~^ ERROR `core::kinds::Sized` is not implemented for the type `str`
//~^ ERROR `core::marker::Sized` is not implemented for the type `str`
}
fn main() { }

View file

@ -14,10 +14,10 @@
trait Foo<T> : Sized { fn take(self, x: &T) { } } // Note: T is sized
impl Foo<[isize]> for uint { }
//~^ ERROR the trait `core::kinds::Sized` is not implemented for the type `[isize]`
impl Foo<[isize]> for usize { }
//~^ ERROR the trait `core::marker::Sized` is not implemented for the type `[isize]`
impl Foo<isize> for [usize] { }
//~^ ERROR the trait `core::kinds::Sized` is not implemented for the type `[usize]`
//~^ ERROR the trait `core::marker::Sized` is not implemented for the type `[usize]`
pub fn main() { }

View file

@ -13,5 +13,5 @@
fn check_bound<T:Copy>(_: T) {}
fn main() {
check_bound("nocopy".to_string()); //~ ERROR the trait `core::kinds::Copy` is not implemented
check_bound("nocopy".to_string()); //~ ERROR the trait `core::marker::Copy` is not implemented
}

View file

@ -10,5 +10,5 @@
fn main() {
let _x = "test" as &::std::any::Any;
//~^ ERROR the trait `core::kinds::Sized` is not implemented for the type `str`
//~^ ERROR the trait `core::marker::Sized` is not implemented for the type `str`
}

View file

@ -15,7 +15,7 @@ fn dft_iter<'a, T>(arg1: Chunks<'a,T>, arg2: ChunksMut<'a,T>)
{
for
&something
//~^ ERROR the trait `core::kinds::Sized` is not implemented for the type `[T]`
//~^ ERROR the trait `core::marker::Sized` is not implemented for the type `[T]`
in arg2
{
}

View file

@ -20,6 +20,6 @@ mod Y {
static foo: *const Y::X = Y::foo(Y::x as *const Y::X);
//~^ ERROR cannot refer to other statics by value
//~| ERROR: the trait `core::kinds::Sync` is not implemented for the type
//~| ERROR: the trait `core::marker::Sync` is not implemented for the type
fn main() {}

View file

@ -8,7 +8,7 @@
// option. This file may not be copied, modified, or distributed
// except according to those terms.
use std::kinds::marker;
use std::marker;
struct Foo { nc: marker::NoCopy }
const INIT: Foo = Foo { nc: marker::NoCopy };

View file

@ -8,12 +8,12 @@
// option. This file may not be copied, modified, or distributed
// except according to those terms.
use std::kinds::marker;
use std::marker;
struct Foo { marker: marker::NoSync }
static FOO: uint = 3;
static BAR: Foo = Foo { marker: marker::NoSync };
//~^ ERROR: the trait `core::kinds::Sync` is not implemented
//~^ ERROR: the trait `core::marker::Sync` is not implemented
fn main() {}

View file

@ -14,7 +14,7 @@ pub trait AbstractRenderer {}
fn _create_render(_: &()) ->
AbstractRenderer
//~^ ERROR: the trait `core::kinds::Sized` is not implemented
//~^ ERROR: the trait `core::marker::Sized` is not implemented
{
match 0u {
_ => unimplemented!()

View file

@ -18,13 +18,13 @@ trait To {
// This is a typo, the return type should be `<Dst as From<Self>>::Output`
fn to<Dst: From<Self>>(
self
//~^ error: the trait `core::kinds::Sized` is not implemented
//~^ error: the trait `core::marker::Sized` is not implemented
) ->
<Dst as From<Self>>::Dst
//~^ error: the trait `core::kinds::Sized` is not implemented
//~^ error: the trait `core::marker::Sized` is not implemented
{
From::from(
//~^ error: the trait `core::kinds::Sized` is not implemented
//~^ error: the trait `core::marker::Sized` is not implemented
self
)
}

View file

@ -16,9 +16,9 @@ trait From<Src> {
trait To {
fn to<Dst>(
self //~ error: the trait `core::kinds::Sized` is not implemented
self //~ error: the trait `core::marker::Sized` is not implemented
) -> <Dst as From<Self>>::Result where Dst: From<Self> {
From::from( //~ error: the trait `core::kinds::Sized` is not implemented
From::from( //~ error: the trait `core::marker::Sized` is not implemented
self
)
}

View file

@ -17,6 +17,6 @@ struct S {
name: int
}
fn bar(_x: Foo) {} //~ ERROR the trait `core::kinds::Sized` is not implemented
fn bar(_x: Foo) {} //~ ERROR the trait `core::marker::Sized` is not implemented
fn main() {}

View file

@ -11,6 +11,6 @@
trait I {}
type K = I+'static;
fn foo(_x: K) {} //~ ERROR: the trait `core::kinds::Sized` is not implemented
fn foo(_x: K) {} //~ ERROR: the trait `core::marker::Sized` is not implemented
fn main() {}

View file

@ -14,5 +14,5 @@ impl Foo for u8 {}
fn main() {
let r: Box<Foo> = box 5;
let _m: Box<Foo> = r as Box<Foo>;
//~^ ERROR `core::kinds::Sized` is not implemented for the type `Foo`
//~^ ERROR `core::marker::Sized` is not implemented for the type `Foo`
}

View file

@ -15,8 +15,8 @@ struct Struct {
}
fn new_struct(r: A+'static)
-> Struct { //~^ ERROR the trait `core::kinds::Sized` is not implemented
//~^ ERROR the trait `core::kinds::Sized` is not implemented
-> Struct { //~^ ERROR the trait `core::marker::Sized` is not implemented
//~^ ERROR the trait `core::marker::Sized` is not implemented
Struct { r: r }
}

View file

@ -32,6 +32,6 @@ struct A {
fn main() {
let a = A {v: box B{v: None} as Box<Foo+Send>};
//~^ ERROR the trait `core::kinds::Send` is not implemented
//~^^ ERROR the trait `core::kinds::Send` is not implemented
//~^ ERROR the trait `core::marker::Send` is not implemented
//~^^ ERROR the trait `core::marker::Send` is not implemented
}

View file

@ -14,7 +14,7 @@ use std::cell::RefCell;
// Regresion test for issue 7364
static boxed: Box<RefCell<int>> = box RefCell::new(0);
//~^ ERROR statics are not allowed to have custom pointers
//~| ERROR: the trait `core::kinds::Sync` is not implemented for the type
//~| ERROR: the trait `core::kinds::Sync` is not implemented for the type
//~| ERROR: the trait `core::marker::Sync` is not implemented for the type
//~| ERROR: the trait `core::marker::Sync` is not implemented for the type
fn main() { }

View file

@ -36,14 +36,14 @@ fn test<'a,T,U:Copy>(_: &'a int) {
assert_copy::<&'a [int]>();
// ...unless they are mutable
assert_copy::<&'static mut int>(); //~ ERROR `core::kinds::Copy` is not implemented
assert_copy::<&'a mut int>(); //~ ERROR `core::kinds::Copy` is not implemented
assert_copy::<&'static mut int>(); //~ ERROR `core::marker::Copy` is not implemented
assert_copy::<&'a mut int>(); //~ ERROR `core::marker::Copy` is not implemented
// ~ pointers are not ok
assert_copy::<Box<int>>(); //~ ERROR `core::kinds::Copy` is not implemented
assert_copy::<String>(); //~ ERROR `core::kinds::Copy` is not implemented
assert_copy::<Vec<int> >(); //~ ERROR `core::kinds::Copy` is not implemented
assert_copy::<Box<&'a mut int>>(); //~ ERROR `core::kinds::Copy` is not implemented
assert_copy::<Box<int>>(); //~ ERROR `core::marker::Copy` is not implemented
assert_copy::<String>(); //~ ERROR `core::marker::Copy` is not implemented
assert_copy::<Vec<int> >(); //~ ERROR `core::marker::Copy` is not implemented
assert_copy::<Box<&'a mut int>>(); //~ ERROR `core::marker::Copy` is not implemented
// borrowed object types are generally ok
assert_copy::<&'a Dummy>();
@ -51,11 +51,11 @@ fn test<'a,T,U:Copy>(_: &'a int) {
assert_copy::<&'static (Dummy+Copy)>();
// owned object types are not ok
assert_copy::<Box<Dummy>>(); //~ ERROR `core::kinds::Copy` is not implemented
assert_copy::<Box<Dummy+Copy>>(); //~ ERROR `core::kinds::Copy` is not implemented
assert_copy::<Box<Dummy>>(); //~ ERROR `core::marker::Copy` is not implemented
assert_copy::<Box<Dummy+Copy>>(); //~ ERROR `core::marker::Copy` is not implemented
// mutable object types are not ok
assert_copy::<&'a mut (Dummy+Copy)>(); //~ ERROR `core::kinds::Copy` is not implemented
assert_copy::<&'a mut (Dummy+Copy)>(); //~ ERROR `core::marker::Copy` is not implemented
// unsafe ptrs are ok
assert_copy::<*const int>();
@ -73,10 +73,10 @@ fn test<'a,T,U:Copy>(_: &'a int) {
assert_copy::<MyStruct>();
// structs containing non-POD are not ok
assert_copy::<MyNoncopyStruct>(); //~ ERROR `core::kinds::Copy` is not implemented
assert_copy::<MyNoncopyStruct>(); //~ ERROR `core::marker::Copy` is not implemented
// ref counted types are not ok
assert_copy::<Rc<int>>(); //~ ERROR `core::kinds::Copy` is not implemented
assert_copy::<Rc<int>>(); //~ ERROR `core::marker::Copy` is not implemented
}
pub fn main() {

View file

@ -19,5 +19,5 @@ fn take_param<T:Foo>(foo: &T) { }
fn main() {
let x = box 3i;
take_param(&x);
//~^ ERROR the trait `core::kinds::Copy` is not implemented
//~^ ERROR the trait `core::marker::Copy` is not implemented
}

View file

@ -20,15 +20,15 @@ impl<T: Send + Copy> Gettable<T> for S<T> {}
fn f<T>(val: T) {
let t: S<T> = S;
let a = &t as &Gettable<T>;
//~^ ERROR the trait `core::kinds::Send` is not implemented
//~^^ ERROR the trait `core::kinds::Copy` is not implemented
//~^ ERROR the trait `core::marker::Send` is not implemented
//~^^ ERROR the trait `core::marker::Copy` is not implemented
}
fn g<T>(val: T) {
let t: S<T> = S;
let a: &Gettable<T> = &t;
//~^ ERROR the trait `core::kinds::Send` is not implemented
//~^^ ERROR the trait `core::kinds::Copy` is not implemented
//~^ ERROR the trait `core::marker::Send` is not implemented
//~^^ ERROR the trait `core::marker::Copy` is not implemented
}
fn foo<'a>() {
@ -40,13 +40,13 @@ fn foo<'a>() {
fn foo2<'a>() {
let t: Box<S<String>> = box S;
let a = t as Box<Gettable<String>>;
//~^ ERROR the trait `core::kinds::Copy` is not implemented
//~^ ERROR the trait `core::marker::Copy` is not implemented
}
fn foo3<'a>() {
let t: Box<S<String>> = box S;
let a: Box<Gettable<String>> = t;
//~^ ERROR the trait `core::kinds::Copy` is not implemented
//~^ ERROR the trait `core::marker::Copy` is not implemented
}
fn main() { }

View file

@ -22,13 +22,13 @@ fn take_param<T:Foo>(foo: &T) { }
fn a() {
let x = box 3i;
take_param(&x); //~ ERROR `core::kinds::Copy` is not implemented
take_param(&x); //~ ERROR `core::marker::Copy` is not implemented
}
fn b() {
let x = box 3i;
let y = &x;
let z = &x as &Foo; //~ ERROR `core::kinds::Copy` is not implemented
let z = &x as &Foo; //~ ERROR `core::marker::Copy` is not implemented
}
fn main() { }

View file

@ -18,7 +18,7 @@ fn bar<F:FnOnce() + Send>(_: F) { }
fn main() {
let x = Rc::new(3u);
bar(move|| foo(x));
//~^ ERROR `core::kinds::Send` is not implemented
//~^^ ERROR `core::kinds::Send` is not implemented
//~^ ERROR `core::marker::Send` is not implemented
//~^^ ERROR `core::marker::Send` is not implemented
}

View file

@ -20,11 +20,11 @@ trait Message : Send { }
fn object_ref_with_static_bound_not_ok() {
assert_send::<&'static (Dummy+'static)>();
//~^ ERROR the trait `core::kinds::Send` is not implemented
//~^ ERROR the trait `core::marker::Send` is not implemented
}
fn box_object_with_no_bound_not_ok<'a>() {
assert_send::<Box<Dummy>>(); //~ ERROR the trait `core::kinds::Send` is not implemented
assert_send::<Box<Dummy>>(); //~ ERROR the trait `core::marker::Send` is not implemented
}
fn object_with_send_bound_ok() {

View file

@ -18,7 +18,7 @@ trait Dummy { }
// careful with object types, who knows what they close over...
fn test51<'a>() {
assert_send::<&'a Dummy>();
//~^ ERROR the trait `core::kinds::Send` is not implemented
//~^ ERROR the trait `core::marker::Send` is not implemented
}
fn test52<'a>() {
assert_send::<&'a (Dummy+Send)>();
@ -37,7 +37,7 @@ fn test61() {
// them not ok
fn test_71<'a>() {
assert_send::<Box<Dummy+'a>>();
//~^ ERROR the trait `core::kinds::Send` is not implemented
//~^ ERROR the trait `core::marker::Send` is not implemented
}
fn main() { }

View file

@ -14,11 +14,11 @@ fn assert_send<T:Send>() { }
trait Dummy { }
fn test50() {
assert_send::<&'static Dummy>(); //~ ERROR the trait `core::kinds::Send` is not implemented
assert_send::<&'static Dummy>(); //~ ERROR the trait `core::marker::Send` is not implemented
}
fn test53() {
assert_send::<Box<Dummy>>(); //~ ERROR the trait `core::kinds::Send` is not implemented
assert_send::<Box<Dummy>>(); //~ ERROR the trait `core::marker::Send` is not implemented
}
// ...unless they are properly bounded

View file

@ -14,7 +14,7 @@ fn assert_send<T:Send>() { }
fn test71<'a>() {
assert_send::<*mut &'a int>();
//~^ ERROR the trait `core::kinds::Send` is not implemented for the type
//~^ ERROR the trait `core::marker::Send` is not implemented for the type
}
fn main() {

View file

@ -19,7 +19,7 @@ use std::num::Int;
struct Foo {
x: uint,
b: bool, //~ ERROR: struct field is never used
marker: std::kinds::marker::NoCopy
marker: std::marker::NoCopy
}
fn field_read(f: Foo) -> uint {
@ -59,7 +59,7 @@ fn field_match_in_let(f: Bar) -> bool {
}
fn main() {
field_read(Foo { x: 1, b: false, marker: std::kinds::marker::NoCopy });
field_read(Foo { x: 1, b: false, marker: std::marker::NoCopy });
field_match_in_patterns(XYZ::Z);
field_match_in_let(Bar { x: 42u, b: true, _guard: () });
let _ = Baz { x: 0 };

View file

@ -8,11 +8,11 @@
// option. This file may not be copied, modified, or distributed
// except according to those terms.
use std::kinds::marker;
use std::marker;
fn foo<P:Copy>(p: P) { }
fn main()
{
foo(marker::NoCopy); //~ ERROR the trait `core::kinds::Copy` is not implemented
foo(marker::NoCopy); //~ ERROR the trait `core::marker::Copy` is not implemented
}

View file

@ -8,11 +8,11 @@
// option. This file may not be copied, modified, or distributed
// except according to those terms.
use std::kinds::marker;
use std::marker;
fn foo<P:Send>(p: P) { }
fn main()
{
foo(marker::NoSend); //~ ERROR the trait `core::kinds::Send` is not implemented
foo(marker::NoSend); //~ ERROR the trait `core::marker::Send` is not implemented
}

View file

@ -8,11 +8,11 @@
// option. This file may not be copied, modified, or distributed
// except according to those terms.
use std::kinds::marker;
use std::marker;
fn foo<P: Sync>(p: P) { }
fn main()
{
foo(marker::NoSync); //~ ERROR the trait `core::kinds::Sync` is not implemented
foo(marker::NoSync); //~ ERROR the trait `core::marker::Sync` is not implemented
}

View file

@ -15,6 +15,6 @@ fn f<T: Sync>(_: T) {}
fn main() {
let x = RefCell::new(0i);
f(x);
//~^ ERROR `core::kinds::Sync` is not implemented
//~^^ ERROR `core::kinds::Sync` is not implemented
//~^ ERROR `core::marker::Sync` is not implemented
//~^^ ERROR `core::marker::Sync` is not implemented
}

View file

@ -11,7 +11,7 @@
// Tests that an `&` pointer to something inherently mutable is itself
// to be considered mutable.
use std::kinds::marker;
use std::marker;
enum Foo { A(marker::NoSync) }
@ -19,5 +19,5 @@ fn bar<T: Sync>(_: T) {}
fn main() {
let x = Foo::A(marker::NoSync);
bar(&x); //~ ERROR the trait `core::kinds::Sync` is not implemented
bar(&x); //~ ERROR the trait `core::marker::Sync` is not implemented
}

View file

@ -36,8 +36,8 @@ fn main() {
let x = foo(Port(Rc::new(())));
Thread::spawn(move|| {
//~^ ERROR `core::kinds::Send` is not implemented
//~^^ ERROR `core::kinds::Send` is not implemented
//~^ ERROR `core::marker::Send` is not implemented
//~^^ ERROR `core::marker::Send` is not implemented
let y = x;
println!("{:?}", y);
});

View file

@ -8,7 +8,7 @@
// option. This file may not be copied, modified, or distributed
// except according to those terms.
use std::kinds::marker;
use std::marker;
enum Foo {
A(marker::NoSend)
@ -19,5 +19,5 @@ fn bar<T: Send>(_: T) {}
fn main() {
let x = Foo::A(marker::NoSend);
bar(x);
//~^ ERROR `core::kinds::Send` is not implemented
//~^ ERROR `core::marker::Send` is not implemented
}

View file

@ -15,6 +15,6 @@ fn bar<T: Send>(_: T) {}
fn main() {
let x = Rc::new(5i);
bar(x);
//~^ ERROR `core::kinds::Send` is not implemented
//~^^ ERROR `core::kinds::Send` is not implemented
//~^ ERROR `core::marker::Send` is not implemented
//~^^ ERROR `core::marker::Send` is not implemented
}

View file

@ -8,7 +8,7 @@
// option. This file may not be copied, modified, or distributed
// except according to those terms.
use std::kinds::marker;
use std::marker;
struct Foo {
a: int,
@ -20,5 +20,5 @@ fn bar<T: Send>(_: T) {}
fn main() {
let x = Foo { a: 5, ns: marker::NoSend };
bar(x);
//~^ ERROR the trait `core::kinds::Send` is not implemented
//~^ ERROR the trait `core::marker::Send` is not implemented
}

View file

@ -8,7 +8,7 @@
// option. This file may not be copied, modified, or distributed
// except according to those terms.
use std::kinds::marker;
use std::marker;
enum Foo { A(marker::NoSync) }
@ -17,5 +17,5 @@ fn bar<T: Sync>(_: T) {}
fn main() {
let x = Foo::A(marker::NoSync);
bar(x);
//~^ ERROR the trait `core::kinds::Sync` is not implemented
//~^ ERROR the trait `core::marker::Sync` is not implemented
}

View file

@ -16,6 +16,6 @@ fn bar<T: Sync>(_: T) {}
fn main() {
let x = Rc::new(RefCell::new(5i));
bar(x);
//~^ ERROR the trait `core::kinds::Sync` is not implemented
//~^^ ERROR the trait `core::kinds::Sync` is not implemented
//~^ ERROR the trait `core::marker::Sync` is not implemented
//~^^ ERROR the trait `core::marker::Sync` is not implemented
}

View file

@ -8,7 +8,7 @@
// option. This file may not be copied, modified, or distributed
// except according to those terms.
use std::kinds::marker;
use std::marker;
struct Foo { a: int, m: marker::NoSync }
@ -17,5 +17,5 @@ fn bar<T: Sync>(_: T) {}
fn main() {
let x = Foo { a: 5, m: marker::NoSync };
bar(x);
//~^ ERROR the trait `core::kinds::Sync` is not implemented
//~^ ERROR the trait `core::marker::Sync` is not implemented
}

View file

@ -30,7 +30,7 @@ impl Copy for IWantToCopyThis {}
enum CantCopyThisEither {
A,
B(::std::kinds::marker::NoCopy),
B(::std::marker::NoCopy),
}
enum IWantToCopyThisToo {

View file

@ -23,5 +23,5 @@ pub fn main() {
// Unsized type.
let arr: &[_] = &[1u, 2, 3];
let range = (*arr)..;
//~^ ERROR the trait `core::kinds::Sized` is not implemented
//~^ ERROR the trait `core::marker::Sized` is not implemented
}

View file

@ -14,7 +14,7 @@
// Note: see variance-regions-*.rs for the tests that check that the
// variance inference works in the first place.
use std::kinds::marker;
use std::marker;
// This is contravariant with respect to 'a, meaning that
// Contravariant<'foo> <: Contravariant<'static> because

View file

@ -14,7 +14,7 @@
// Note: see variance-regions-*.rs for the tests that check that the
// variance inference works in the first place.
use std::kinds::marker;
use std::marker;
struct Covariant<'a> {
marker: marker::CovariantLifetime<'a>

View file

@ -8,7 +8,7 @@
// option. This file may not be copied, modified, or distributed
// except according to those terms.
use std::kinds::marker;
use std::marker;
struct invariant<'a> {
marker: marker::InvariantLifetime<'a>

View file

@ -25,5 +25,5 @@ impl Drop for Foo {
fn main() {
let a = Foo { x: 3 };
let _ = [ a; 5 ];
//~^ ERROR the trait `core::kinds::Copy` is not implemented for the type `Foo`
//~^ ERROR the trait `core::marker::Copy` is not implemented for the type `Foo`
}

View file

@ -10,7 +10,7 @@
// Verifies that static items can't be moved
use std::kinds::marker;
use std::marker;
struct Foo {
foo: int,

View file

@ -8,7 +8,7 @@
// option. This file may not be copied, modified, or distributed
// except according to those terms.
use std::kinds::Send;
use std::marker::Send;
struct TestType;

View file

@ -10,7 +10,7 @@
#![feature(optin_builtin_traits)]
use std::kinds::Send;
use std::marker::Send;
struct TestType;

View file

@ -16,6 +16,6 @@ fn test_send<S: Send>() {}
pub fn main() {
test_send::<rand::ThreadRng>();
//~^ ERROR `core::kinds::Send` is not implemented
//~^^ ERROR `core::kinds::Send` is not implemented
//~^ ERROR `core::marker::Send` is not implemented
//~^^ ERROR `core::marker::Send` is not implemented
}

View file

@ -14,7 +14,7 @@ trait Foo {
// This should emit the less confusing error, not the more confusing one.
fn foo(_x: Foo + Send) {
//~^ERROR the trait `core::kinds::Sized` is not implemented
//~^ERROR the trait `core::marker::Sized` is not implemented
}
fn main() { }

View file

@ -13,7 +13,7 @@
// ignore-tidy-linelength
use std::cell::UnsafeCell;
use std::kinds::marker;
use std::marker;
struct MySync<T> {
u: UnsafeCell<T>
@ -30,17 +30,17 @@ fn test<T: Sync>(s: T){
fn main() {
let us = UnsafeCell::new(MySync{u: UnsafeCell::new(0i)});
test(us);
//~^ ERROR `core::kinds::Sync` is not implemented
//~^ ERROR `core::marker::Sync` is not implemented
let uns = UnsafeCell::new(NoSync{m: marker::NoSync});
test(uns);
//~^ ERROR `core::kinds::Sync` is not implemented
//~^ ERROR `core::marker::Sync` is not implemented
let ms = MySync{u: uns};
test(ms);
//~^ ERROR `core::kinds::Sync` is not implemented
//~^ ERROR `core::marker::Sync` is not implemented
let ns = NoSync{m: marker::NoSync};
test(ns);
//~^ ERROR `core::kinds::Sync` is not implemented
//~^ ERROR `core::marker::Sync` is not implemented
}

View file

@ -15,7 +15,7 @@
#![feature(unboxed_closures)]
#![allow(dead_code)]
use std::kinds::marker;
use std::marker;
trait Foo<'a,T,U> {
fn dummy(&'a self) -> &'a (T,U);

View file

@ -17,6 +17,6 @@ fn f<T:Send>(_i: T) {
fn main() {
let i = box Rc::new(100i);
f(i);
//~^ ERROR `core::kinds::Send` is not implemented
//~^^ ERROR `core::kinds::Send` is not implemented
//~^ ERROR `core::marker::Send` is not implemented
//~^^ ERROR `core::marker::Send` is not implemented
}

View file

@ -30,7 +30,7 @@ fn foo(i:int, j: Rc<String>) -> foo {
fn main() {
let cat = "kitty".to_string();
let (tx, _) = channel();
//~^ ERROR `core::kinds::Send` is not implemented
//~^^ ERROR `core::kinds::Send` is not implemented
//~^ ERROR `core::marker::Send` is not implemented
//~^^ ERROR `core::marker::Send` is not implemented
tx.send(foo(42, Rc::new(cat)));
}

View file

@ -9,5 +9,5 @@
// except according to those terms.
fn bar<T: Sized>() { }
fn foo<T: ?Sized>() { bar::<T>() } //~ ERROR the trait `core::kinds::Sized` is not implemented
fn foo<T: ?Sized>() { bar::<T>() } //~ ERROR the trait `core::marker::Sized` is not implemented
fn main() { }

View file

@ -15,14 +15,14 @@ fn not_sized<T: ?Sized>() { }
enum Foo<U> { FooSome(U), FooNone }
fn foo1<T>() { not_sized::<Foo<T>>() } // Hunky dory.
fn foo2<T: ?Sized>() { not_sized::<Foo<T>>() }
//~^ ERROR the trait `core::kinds::Sized` is not implemented
//~^ ERROR the trait `core::marker::Sized` is not implemented
//
// Not OK: `T` is not sized.
enum Bar<U: ?Sized> { BarSome(U), BarNone }
fn bar1<T: ?Sized>() { not_sized::<Bar<T>>() }
fn bar2<T: ?Sized>() { is_sized::<Bar<T>>() }
//~^ ERROR the trait `core::kinds::Sized` is not implemented
//~^ ERROR the trait `core::marker::Sized` is not implemented
//
// Not OK: `Bar<T>` is not sized, but it should be.

View file

@ -15,14 +15,14 @@ fn not_sized<T: ?Sized>() { }
struct Foo<T> { data: T }
fn foo1<T>() { not_sized::<Foo<T>>() } // Hunky dory.
fn foo2<T: ?Sized>() { not_sized::<Foo<T>>() }
//~^ ERROR the trait `core::kinds::Sized` is not implemented
//~^ ERROR the trait `core::marker::Sized` is not implemented
//
// Not OK: `T` is not sized.
struct Bar<T: ?Sized> { data: T }
fn bar1<T: ?Sized>() { not_sized::<Bar<T>>() }
fn bar2<T: ?Sized>() { is_sized::<Bar<T>>() }
//~^ ERROR the trait `core::kinds::Sized` is not implemented
//~^ ERROR the trait `core::marker::Sized` is not implemented
//
// Not OK: `Bar<T>` is not sized, but it should be.

View file

@ -15,7 +15,7 @@ trait T2<Z> {
}
struct S4<Y: ?Sized>;
impl<X: ?Sized> T2<X> for S4<X> {
//~^ ERROR `core::kinds::Sized` is not implemented for the type `X`
//~^ ERROR `core::marker::Sized` is not implemented for the type `X`
}
fn main() { }

View file

@ -14,7 +14,7 @@
// Unbounded.
fn f1<X: ?Sized>(x: &X) {
f2::<X>(x);
//~^ ERROR the trait `core::kinds::Sized` is not implemented
//~^ ERROR the trait `core::marker::Sized` is not implemented
}
fn f2<X>(x: &X) {
}
@ -23,7 +23,7 @@ fn f2<X>(x: &X) {
trait T {}
fn f3<X: ?Sized + T>(x: &X) {
f4::<X>(x);
//~^ ERROR the trait `core::kinds::Sized` is not implemented
//~^ ERROR the trait `core::marker::Sized` is not implemented
}
fn f4<X: T>(x: &X) {
}
@ -37,7 +37,7 @@ fn f5<Y>(x: &Y) {}
fn f6<X: ?Sized>(x: &X) {}
fn f7<X: ?Sized>(x1: &E<X>, x2: &E<X>) {
f5(x1);
//~^ ERROR the trait `core::kinds::Sized` is not implemented
//~^ ERROR the trait `core::marker::Sized` is not implemented
f6(x2); // ok
}
@ -49,19 +49,19 @@ struct S<X: ?Sized> {
fn f8<X: ?Sized>(x1: &S<X>, x2: &S<X>) {
f5(x1);
//~^ ERROR the trait `core::kinds::Sized` is not implemented
//~^ ERROR the trait `core::marker::Sized` is not implemented
f6(x2); // ok
}
// Test some tuples.
fn f9<X: ?Sized>(x1: Box<S<X>>, x2: Box<E<X>>) {
f5(&(*x1, 34i));
//~^ ERROR the trait `core::kinds::Sized` is not implemented
//~^ ERROR the trait `core::marker::Sized` is not implemented
}
fn f10<X: ?Sized>(x1: Box<S<X>>, x2: Box<E<X>>) {
f5(&(32i, *x2));
//~^ ERROR the trait `core::kinds::Sized` is not implemented
//~^ ERROR the trait `core::marker::Sized` is not implemented
}
pub fn main() {

View file

@ -8,30 +8,30 @@
// option. This file may not be copied, modified, or distributed
// except according to those terms.
// Test `Sized?` types not allowed in fields (except the last one).
// Test `?Sized` types not allowed in fields (except the last one).
struct S1<X: ?Sized> {
f1: X, //~ ERROR `core::kinds::Sized` is not implemented
f1: X, //~ ERROR `core::marker::Sized` is not implemented
f2: int,
}
struct S2<X: ?Sized> {
f: int,
g: X, //~ ERROR `core::kinds::Sized` is not implemented
g: X, //~ ERROR `core::marker::Sized` is not implemented
h: int,
}
struct S3 {
f: str, //~ ERROR `core::kinds::Sized` is not implemented
f: str, //~ ERROR `core::marker::Sized` is not implemented
g: [uint]
}
struct S4 {
f: str, //~ ERROR `core::kinds::Sized` is not implemented
f: str, //~ ERROR `core::marker::Sized` is not implemented
g: uint
}
enum E<X: ?Sized> {
V1(X, int), //~ERROR `core::kinds::Sized` is not implemented
V1(X, int), //~ERROR `core::marker::Sized` is not implemented
}
enum F<X: ?Sized> {
V2{f1: X, f: int}, //~ERROR `core::kinds::Sized` is not implemented
V2{f1: X, f: int}, //~ERROR `core::marker::Sized` is not implemented
}
pub fn main() {

View file

@ -8,7 +8,7 @@
// option. This file may not be copied, modified, or distributed
// except according to those terms.
// Test `Sized?` local variables.
// Test `?Sized` local variables.
trait T {}
@ -16,27 +16,27 @@ trait T {}
fn f1<X: ?Sized>(x: &X) {
let _: X; // <-- this is OK, no bindings created, no initializer.
let _: (int, (X, int)); // same
let y: X; //~ERROR the trait `core::kinds::Sized` is not implemented
let y: (int, (X, int)); //~ERROR the trait `core::kinds::Sized` is not implemented
let y: X; //~ERROR the trait `core::marker::Sized` is not implemented
let y: (int, (X, int)); //~ERROR the trait `core::marker::Sized` is not implemented
}
fn f2<X: ?Sized + T>(x: &X) {
let y: X; //~ERROR the trait `core::kinds::Sized` is not implemented
let y: (int, (X, int)); //~ERROR the trait `core::kinds::Sized` is not implemented
let y: X; //~ERROR the trait `core::marker::Sized` is not implemented
let y: (int, (X, int)); //~ERROR the trait `core::marker::Sized` is not implemented
}
fn f3<X: ?Sized>(x1: Box<X>, x2: Box<X>, x3: Box<X>) {
let y: X = *x1; //~ERROR the trait `core::kinds::Sized` is not implemented
let y = *x2; //~ERROR the trait `core::kinds::Sized` is not implemented
let (y, z) = (*x3, 4i); //~ERROR the trait `core::kinds::Sized` is not implemented
let y: X = *x1; //~ERROR the trait `core::marker::Sized` is not implemented
let y = *x2; //~ERROR the trait `core::marker::Sized` is not implemented
let (y, z) = (*x3, 4i); //~ERROR the trait `core::marker::Sized` is not implemented
}
fn f4<X: ?Sized + T>(x1: Box<X>, x2: Box<X>, x3: Box<X>) {
let y: X = *x1; //~ERROR the trait `core::kinds::Sized` is not implemented
let y = *x2; //~ERROR the trait `core::kinds::Sized` is not implemented
let (y, z) = (*x3, 4i); //~ERROR the trait `core::kinds::Sized` is not implemented
let y: X = *x1; //~ERROR the trait `core::marker::Sized` is not implemented
let y = *x2; //~ERROR the trait `core::marker::Sized` is not implemented
let (y, z) = (*x3, 4i); //~ERROR the trait `core::marker::Sized` is not implemented
}
fn g1<X: ?Sized>(x: X) {} //~ERROR the trait `core::kinds::Sized` is not implemented
fn g2<X: ?Sized + T>(x: X) {} //~ERROR the trait `core::kinds::Sized` is not implemented
fn g1<X: ?Sized>(x: X) {} //~ERROR the trait `core::marker::Sized` is not implemented
fn g2<X: ?Sized + T>(x: X) {} //~ERROR the trait `core::marker::Sized` is not implemented
pub fn main() {
}

View file

@ -18,7 +18,7 @@ trait T1<Z: T> {
}
struct S3<Y: ?Sized>;
impl<X: ?Sized + T> T1<X> for S3<X> {
//~^ ERROR `core::kinds::Sized` is not implemented for the type `X`
//~^ ERROR `core::marker::Sized` is not implemented for the type `X`
}
fn main() { }

View file

@ -21,7 +21,7 @@ impl<T> Foo<T> {
fn fails_copy(self) {
require_copy(self.x);
//~^ ERROR the trait `core::kinds::Copy` is not implemented for the type `T`
//~^ ERROR the trait `core::marker::Copy` is not implemented for the type `T`
}
}

View file

@ -26,7 +26,7 @@ impl<T> Foo<T> for Bar<T> {
fn fails_copy(self) {
require_copy(self.x);
//~^ ERROR the trait `core::kinds::Copy` is not implemented for the type `T`
//~^ ERROR the trait `core::marker::Copy` is not implemented for the type `T`
}
}

View file

@ -19,7 +19,7 @@
#![feature(lang_items, unboxed_closures)]
#![no_implicit_prelude]
use std::kinds::Sized;
use std::marker::Sized;
use std::option::Option::{None, Some, self};
trait Iterator {

View file

@ -19,7 +19,7 @@
#![feature(lang_items, unboxed_closures)]
#![no_implicit_prelude]
use std::kinds::Sized;
use std::marker::Sized;
use std::option::Option::{None, Some, self};
trait Iterator {

View file

@ -11,7 +11,7 @@
#![allow(dead_code)]
#![allow(unused_unsafe)]
use std::kinds::Sync;
use std::marker::Sync;
struct Foo {
a: uint,

View file

@ -11,7 +11,7 @@
// Issue 4691: Ensure that functional-struct-updates operates
// correctly and moves rather than copy when appropriate.
use std::kinds::marker::NoCopy as NP;
use std::marker::NoCopy as NP;
struct ncint { np: NP, v: int }
fn ncint(v: int) -> ncint { ncint { np: NP, v: v } }

View file

@ -18,7 +18,7 @@
#![allow(dead_code)]
use std::kinds::marker;
use std::marker;
#[derive(Copy)]
struct Foo<T> { x: T }

View file

@ -8,7 +8,7 @@
// option. This file may not be copied, modified, or distributed
// except according to those terms.
use std::kinds::marker;
use std::marker;
use std::cell::UnsafeCell;
struct MyUnsafePack<T>(UnsafeCell<T>);

View file

@ -23,7 +23,7 @@ pub mod pipes {
use std::mem::{replace, swap};
use std::mem;
use std::thread::Thread;
use std::kinds::Send;
use std::marker::Send;
pub struct Stuff<T> {
state: state,

View file

@ -13,7 +13,7 @@
// know not to stop at the blanket, we have to recursively evaluate
// the `T:Foo` bound.
use std::kinds::Sized;
use std::marker::Sized;
// Note: this must be generic for the problem to show up
trait Foo<A> {

View file

@ -11,7 +11,7 @@
// Test that a type whose lifetime parameters is never used is
// inferred to be bivariant.
use std::kinds::marker;
use std::marker;
struct Bivariant<'a>;

View file

@ -10,7 +10,7 @@
#![feature(optin_builtin_traits)]
use std::kinds::Send;
use std::marker::Send;
struct TestType;