fn main() {
let x = @3u;
- let _: ~fn() = || foo(x); //~ ERROR value has non-owned type `@uint`
- let _: ~fn() = || foo(x); //~ ERROR value has non-owned type `@uint`
- let _: ~fn() = || foo(x); //~ ERROR value has non-owned type `@uint`
+ let _: ~fn() = || foo(x); //~ ERROR does not fulfill `Owned`
+ let _: ~fn() = || foo(x); //~ ERROR does not fulfill `Owned`
+ let _: ~fn() = || foo(x); //~ ERROR does not fulfill `Owned`
}
trait foo { fn foo(&self); }
fn to_foo<T:Copy + foo>(t: T) -> @foo {
- @t as @foo //~ ERROR value may contain borrowed pointers; add `'static` bound
+ @t as @foo
+ //~^ ERROR value may contain borrowed pointers; add `'static` bound
+ //~^^ ERROR cannot pack type
}
fn to_foo2<T:Copy + foo + 'static>(t: T) -> @foo {
// except according to those terms.
fn copy1<T:Copy>(t: T) -> @fn() -> T {
- let result: @fn() -> T = || copy t;
- //~^ ERROR value may contain borrowed pointers
+ let result: @fn() -> T = || copy t; //~ ERROR does not fulfill `'static`
result
}
let x = Cell::new(foo(Port(@())));
do task::spawn {
- let y = x.take(); //~ ERROR value has non-owned type
+ let y = x.take(); //~ ERROR does not fulfill `Owned`
error!(y);
}
}