Clonify some of run-pass
This commit is contained in:
parent
748c2c9ebc
commit
ee5842494a
@ -11,7 +11,7 @@
|
||||
fn foo(x: Option<~int>, b: bool) -> int {
|
||||
match x {
|
||||
None => { 1 }
|
||||
Some(copy x) if b => { *x }
|
||||
Some(ref x) if b => { *x.clone() }
|
||||
Some(_) => { 0 }
|
||||
}
|
||||
}
|
||||
|
@ -43,7 +43,7 @@ pub fn main() {
|
||||
// Call a method
|
||||
for x.iterate() |y| { fail_unless!(x[*y] == *y); }
|
||||
// Call a parameterized function
|
||||
fail_unless!(length(copy x) == vec::len(x));
|
||||
fail_unless!(length(x.clone()) == vec::len(x));
|
||||
// Call a parameterized function, with type arguments that require
|
||||
// a borrow
|
||||
fail_unless!(length::<int, &[int]>(x) == vec::len(x));
|
||||
|
@ -15,8 +15,8 @@ fn iter_vec<T>(v: ~[T], f: &fn(&T)) { for v.each |x| { f(x); } }
|
||||
pub fn main() {
|
||||
let v = ~[1, 2, 3, 4, 5];
|
||||
let mut sum = 0;
|
||||
iter_vec(copy v, |i| {
|
||||
iter_vec(copy v, |j| {
|
||||
iter_vec(v.clone(), |i| {
|
||||
iter_vec(v.clone(), |j| {
|
||||
sum += *i * *j;
|
||||
});
|
||||
});
|
||||
|
@ -15,6 +15,6 @@ pub fn main() {
|
||||
vec::map2(~[1, 2, 3, 4, 5],
|
||||
~[true, false, false, true, true],
|
||||
|i, b| if *b { -(*i) } else { *i } );
|
||||
error!(copy v);
|
||||
error!(v.clone());
|
||||
fail_unless!((v == ~[-1, 2, 3, -4, -5]));
|
||||
}
|
||||
|
@ -13,7 +13,7 @@ fn borrow(x: &int, f: &fn(x: &int)) {
|
||||
}
|
||||
|
||||
fn test1(x: @~int) {
|
||||
do borrow(copy *x) |p| {
|
||||
do borrow(&*x.clone()) |p| {
|
||||
let x_a = ptr::addr_of(&(**x));
|
||||
fail_unless!((x_a as uint) != ptr::to_uint(p));
|
||||
fail_unless!(unsafe{*x_a} == *p);
|
||||
|
@ -13,7 +13,7 @@
|
||||
fn switcher(x: Option<@int>) {
|
||||
let mut x = x;
|
||||
match x {
|
||||
Some(@y) => { copy y; x = None; }
|
||||
Some(@y) => { y.clone(); x = None; }
|
||||
None => { }
|
||||
}
|
||||
}
|
||||
|
@ -22,7 +22,7 @@ mod kitty {
|
||||
}
|
||||
|
||||
pub impl cat {
|
||||
fn get_name(&self) -> ~str { copy self.name }
|
||||
fn get_name(&self) -> ~str { self.name.clone() }
|
||||
}
|
||||
|
||||
pub fn cat(in_name: ~str) -> cat {
|
||||
|
@ -53,7 +53,7 @@ fn cat(in_x : uint, in_y : int, in_name: ~str) -> cat {
|
||||
cat {
|
||||
meows: in_x,
|
||||
how_hungry: in_y,
|
||||
name: copy in_name
|
||||
name: in_name.clone()
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -9,8 +9,6 @@
|
||||
// except according to those terms.
|
||||
|
||||
// xfail-fast
|
||||
use core::to_str::*;
|
||||
|
||||
struct cat {
|
||||
priv meows : uint,
|
||||
|
||||
@ -53,7 +51,12 @@ fn cat(in_x : uint, in_y : int, in_name: ~str) -> cat {
|
||||
}
|
||||
|
||||
impl ToStr for cat {
|
||||
pure fn to_str(&self) -> ~str { copy self.name }
|
||||
pure fn to_str(&self) -> ~str {
|
||||
// FIXME #5384: this unsafe block is to work around purity
|
||||
unsafe {
|
||||
self.name.clone()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
fn print_out(thing: @ToStr, expected: ~str) {
|
||||
|
@ -13,9 +13,9 @@
|
||||
// -*- rust -*-
|
||||
type compare<T> = @fn(~T, ~T) -> bool;
|
||||
|
||||
fn test_generic<T:Copy>(expected: ~T, eq: compare<T>) {
|
||||
fn test_generic<T:Copy+Clone>(expected: ~T, eq: compare<T>) {
|
||||
let actual: ~T = match true {
|
||||
true => { copy expected },
|
||||
true => { expected.clone() },
|
||||
_ => fail!(~"wat")
|
||||
};
|
||||
fail_unless!((eq(expected, actual)));
|
||||
|
@ -13,9 +13,9 @@
|
||||
|
||||
type compare<T> = @fn(T, T) -> bool;
|
||||
|
||||
fn test_generic<T:Copy>(expected: T, eq: compare<T>) {
|
||||
fn test_generic<T:Copy+Clone>(expected: T, eq: compare<T>) {
|
||||
let actual: T = match true {
|
||||
true => copy expected,
|
||||
true => expected.clone(),
|
||||
_ => fail!(~"wat")
|
||||
};
|
||||
fail_unless!((eq(expected, actual)));
|
||||
|
@ -13,8 +13,8 @@
|
||||
// -*- rust -*-
|
||||
type compare<T> = @fn(~T, ~T) -> bool;
|
||||
|
||||
fn test_generic<T:Copy>(expected: ~T, eq: compare<T>) {
|
||||
let actual: ~T = { copy expected };
|
||||
fn test_generic<T:Copy+Clone>(expected: ~T, eq: compare<T>) {
|
||||
let actual: ~T = { expected.clone() };
|
||||
fail_unless!((eq(expected, actual)));
|
||||
}
|
||||
|
||||
|
@ -14,7 +14,7 @@ fn id<T:Copy + Owned>(t: T) -> T { return t; }
|
||||
|
||||
pub fn main() {
|
||||
let expected = ~100;
|
||||
let actual = id::<~int>(copy expected);
|
||||
let actual = id::<~int>(expected.clone());
|
||||
debug!(*actual);
|
||||
fail_unless!((*expected == *actual));
|
||||
}
|
||||
|
@ -38,8 +38,8 @@ mod map_reduce {
|
||||
fn start_mappers(ctrl: SharedChan<ctrl_proto>, inputs: ~[~str]) {
|
||||
for inputs.each |i| {
|
||||
let ctrl = ctrl.clone();
|
||||
let i = copy *i;
|
||||
task::spawn(|| map_task(ctrl.clone(), copy i) );
|
||||
let i = i.clone();
|
||||
task::spawn(|| map_task(ctrl.clone(), i.clone()) );
|
||||
}
|
||||
}
|
||||
|
||||
@ -79,7 +79,7 @@ mod map_reduce {
|
||||
|
||||
reducers = oldmap::HashMap();
|
||||
|
||||
start_mappers(ctrl_chan, copy inputs);
|
||||
start_mappers(ctrl_chan, inputs.clone());
|
||||
|
||||
let mut num_mappers = vec::len(inputs) as int;
|
||||
|
||||
|
@ -20,7 +20,7 @@ impl Drop for socket {
|
||||
pub impl socket {
|
||||
fn set_identity(&self) {
|
||||
do closure {
|
||||
setsockopt_bytes(copy self.sock)
|
||||
setsockopt_bytes(self.sock.clone())
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -14,5 +14,5 @@ fn a_val(&&x: ~int, +y: ~int) -> int {
|
||||
|
||||
pub fn main() {
|
||||
let z = ~22;
|
||||
a_val(copy z, copy z);
|
||||
a_val(z.clone(), z.clone());
|
||||
}
|
||||
|
@ -27,6 +27,6 @@ pub fn main() {
|
||||
let v = ~[~"123", ~"abc"];
|
||||
node.content = ~[~"123", ~"abc"];
|
||||
print_str_vector(v);
|
||||
print_str_vector(copy node.content);
|
||||
print_str_vector(node.content.clone());
|
||||
|
||||
}
|
||||
|
@ -19,7 +19,7 @@ fn foo(name: ~str, samples_chan: Chan<Msg>) {
|
||||
for uint::range(0, buffer.len())
|
||||
|i| {error!("%?: %f", i, buffer[i])}
|
||||
};
|
||||
samples_chan.send(GetSamples(copy name, callback));
|
||||
samples_chan.send(GetSamples(name.clone(), callback));
|
||||
};
|
||||
}
|
||||
|
||||
|
@ -14,7 +14,7 @@ fn parse_args() -> ~str {
|
||||
let mut n = 0;
|
||||
|
||||
while n < args.len() {
|
||||
match copy args[n] {
|
||||
match args[n].clone() {
|
||||
~"-v" => (),
|
||||
s => {
|
||||
return s;
|
||||
|
@ -11,7 +11,7 @@
|
||||
// xfail-test
|
||||
pub fn main() {
|
||||
for os::args().each |arg| {
|
||||
match copy *arg {
|
||||
match arg.clone() {
|
||||
s => { }
|
||||
}
|
||||
}
|
||||
|
@ -10,7 +10,7 @@
|
||||
|
||||
fn test_stack_assign() {
|
||||
let s: ~str = ~"a";
|
||||
debug!(copy s);
|
||||
debug!(s.clone());
|
||||
let t: ~str = ~"a";
|
||||
fail_unless!((s == t));
|
||||
let u: ~str = ~"b";
|
||||
@ -49,7 +49,7 @@ fn test_append() {
|
||||
|
||||
let mut s = ~"a";
|
||||
s += ~"b";
|
||||
debug!(copy s);
|
||||
debug!(s.clone());
|
||||
fail_unless!((s == ~"ab"));
|
||||
|
||||
let mut s = ~"c";
|
||||
|
@ -14,7 +14,7 @@ struct A { a: ~int }
|
||||
|
||||
fn foo() -> @fn() -> int {
|
||||
let k = ~22;
|
||||
let _u = A {a: copy k};
|
||||
let _u = A {a: k.clone()};
|
||||
let result: @fn() -> int = || 22;
|
||||
result
|
||||
}
|
||||
|
@ -15,6 +15,6 @@ struct A { a: ~int }
|
||||
pub fn main() {
|
||||
fn invoke(f: @fn()) { f(); }
|
||||
let k = ~22;
|
||||
let _u = A {a: copy k};
|
||||
invoke(|| error!(copy k) )
|
||||
let _u = A {a: k.clone()};
|
||||
invoke(|| error!(k.clone()) )
|
||||
}
|
||||
|
@ -43,7 +43,7 @@ pub fn main() {
|
||||
fail_unless!(transform(Some(10)) == Some(~"11"));
|
||||
fail_unless!(transform(None) == None);
|
||||
fail_unless!((~[~"hi"])
|
||||
.bind(|x| ~[copy *x, *x + ~"!"] )
|
||||
.bind(|x| ~[copy *x, *x + ~"?"] ) ==
|
||||
.bind(|x| ~[x.clone(), *x + ~"!"] )
|
||||
.bind(|x| ~[x.clone(), *x + ~"?"] ) ==
|
||||
~[~"hi", ~"hi?", ~"hi!", ~"hi!?"]);
|
||||
}
|
||||
|
@ -5,7 +5,7 @@
|
||||
pub fn main() {
|
||||
let y = ~3;
|
||||
let foo: @fn(&int) -> int = {
|
||||
let y = copy y;
|
||||
let y = y.clone();
|
||||
|x| *x + *y
|
||||
};
|
||||
fail_unless!(foo(@22) == 25);
|
||||
|
@ -19,6 +19,6 @@ struct X { foo: ~str, bar: ~str }
|
||||
|
||||
pub fn main() {
|
||||
let x = X {foo: ~"hello", bar: ~"world"};
|
||||
debug!(copy x.foo);
|
||||
debug!(copy x.bar);
|
||||
debug!(x.foo.clone());
|
||||
debug!(x.bar.clone());
|
||||
}
|
||||
|
@ -647,10 +647,10 @@ pub fn main() {
|
||||
let v = @v as @TyVisitor;
|
||||
visit_tydesc(td, v);
|
||||
|
||||
for (copy u.vals).each |s| {
|
||||
for (u.vals.clone()).each |s| {
|
||||
io::println(fmt!("val: %s", *s));
|
||||
}
|
||||
error!("%?", copy u.vals);
|
||||
error!("%?", u.vals.clone());
|
||||
fail_unless!(u.vals == ~[
|
||||
~"1", ~"2", ~"3", ~"true", ~"false", ~"5", ~"4", ~"3", ~"12"
|
||||
]);
|
||||
|
@ -150,7 +150,7 @@ pub fn main() {
|
||||
visit_ty::<i16>(vv);
|
||||
visit_ty::<~[int]>(vv);
|
||||
|
||||
for (copy v.types).each {|s|
|
||||
for (v.types.clone()).each {|s|
|
||||
io::println(fmt!("type: %s", s));
|
||||
}
|
||||
fail_unless!(v.types == ["bool", "int", "i8", "i16",
|
||||
|
@ -20,9 +20,9 @@ fn iter<T>(v: ~[T], it: &fn(&T) -> bool) {
|
||||
}
|
||||
}
|
||||
|
||||
fn find_pos<T:Eq + Copy>(n: T, h: ~[T]) -> Option<uint> {
|
||||
fn find_pos<T:Eq + Copy + Clone>(n: T, h: ~[T]) -> Option<uint> {
|
||||
let mut i = 0u;
|
||||
for iter(copy h) |e| {
|
||||
for iter(h.clone()) |e| {
|
||||
if *e == n { return Some(i); }
|
||||
i += 1u;
|
||||
}
|
||||
@ -31,8 +31,8 @@ fn find_pos<T:Eq + Copy>(n: T, h: ~[T]) -> Option<uint> {
|
||||
|
||||
fn bail_deep(x: ~[~[bool]]) {
|
||||
let mut seen = false;
|
||||
for iter(copy x) |x| {
|
||||
for iter(copy *x) |x| {
|
||||
for iter(x.clone()) |x| {
|
||||
for iter(x.clone()) |x| {
|
||||
fail_unless!(!seen);
|
||||
if *x { seen = true; return; }
|
||||
}
|
||||
|
@ -20,7 +20,7 @@ pub fn main() {
|
||||
|
||||
{
|
||||
match io::file_writer(&path, [io::Create, io::Truncate]) {
|
||||
Err(copy e) => fail!(e),
|
||||
Err(ref e) => fail!(e.clone()),
|
||||
Ok(f) => {
|
||||
for uint::range(0, 1000) |_i| {
|
||||
f.write_u8(0);
|
||||
|
@ -16,7 +16,7 @@ extern mod std;
|
||||
fn test1() {
|
||||
let mut s: ~str = ~"hello";
|
||||
s += ~"world";
|
||||
debug!(copy s);
|
||||
debug!(s.clone());
|
||||
fail_unless!((s[9] == 'd' as u8));
|
||||
}
|
||||
|
||||
@ -26,8 +26,8 @@ fn test2() {
|
||||
let ff: ~str = ~"abc";
|
||||
let a: ~str = ff + ~"ABC" + ff;
|
||||
let b: ~str = ~"ABC" + ff + ~"ABC";
|
||||
debug!(copy a);
|
||||
debug!(copy b);
|
||||
debug!(a.clone());
|
||||
debug!(b.clone());
|
||||
fail_unless!((a == ~"abcABCabc"));
|
||||
fail_unless!((b == ~"ABCabcABC"));
|
||||
}
|
||||
|
@ -16,6 +16,6 @@ pub fn main() {
|
||||
let a: ~str = ~"hello";
|
||||
let b: ~str = ~"world";
|
||||
let s: ~str = a + b;
|
||||
debug!(copy s);
|
||||
debug!(s.clone());
|
||||
fail_unless!((s[9] == 'd' as u8));
|
||||
}
|
||||
|
@ -11,8 +11,8 @@
|
||||
extern mod std;
|
||||
|
||||
fn test(actual: ~str, expected: ~str) {
|
||||
debug!(copy actual);
|
||||
debug!(copy expected);
|
||||
debug!(actual.clone());
|
||||
debug!(expected.clone());
|
||||
fail_unless!((actual == expected));
|
||||
}
|
||||
|
||||
|
@ -17,7 +17,7 @@ impl to_str for int {
|
||||
fn to_str(&self) -> ~str { int::to_str(*self) }
|
||||
}
|
||||
impl to_str for ~str {
|
||||
fn to_str(&self) -> ~str { copy *self }
|
||||
fn to_str(&self) -> ~str { self.clone() }
|
||||
}
|
||||
impl to_str for () {
|
||||
fn to_str(&self) -> ~str { ~"()" }
|
||||
|
@ -12,7 +12,7 @@ pub fn main() {
|
||||
let mut i = ~1;
|
||||
// Should be a copy
|
||||
let mut j;
|
||||
j = copy i;
|
||||
j = i.clone();
|
||||
*i = 2;
|
||||
*j = 3;
|
||||
fail_unless!(*i == 2);
|
||||
|
@ -11,7 +11,7 @@
|
||||
pub fn main() {
|
||||
let mut i = ~1;
|
||||
// Should be a copy
|
||||
let mut j = copy i;
|
||||
let mut j = i.clone();
|
||||
*i = 2;
|
||||
*j = 3;
|
||||
fail_unless!(*i == 2);
|
||||
|
@ -10,7 +10,7 @@
|
||||
|
||||
pub fn main() {
|
||||
let mut a = ~[~10];
|
||||
let b = copy a;
|
||||
let b = a.clone();
|
||||
|
||||
fail_unless!(*a[0] == 10);
|
||||
fail_unless!(*b[0] == 10);
|
||||
|
@ -10,6 +10,6 @@
|
||||
|
||||
pub fn main() {
|
||||
let a = ~[1, 2, 3, 4, 5];
|
||||
let mut b = ~[copy a, copy a];
|
||||
let mut b = ~[a.clone(), a.clone()];
|
||||
b = b + b; // FIXME(#3387)---can't write b += b
|
||||
}
|
||||
|
@ -1,4 +1,4 @@
|
||||
fn foldl<T, U: Copy>(
|
||||
fn foldl<T, U: Copy+Clone>(
|
||||
values: &[T],
|
||||
initial: U,
|
||||
function: &fn(partial: U, element: &T) -> U
|
||||
@ -6,11 +6,11 @@ fn foldl<T, U: Copy>(
|
||||
match values {
|
||||
[head, ..tail] =>
|
||||
foldl(tail, function(initial, &head), function),
|
||||
[] => copy initial
|
||||
[] => initial.clone()
|
||||
}
|
||||
}
|
||||
|
||||
fn foldr<T, U: Copy>(
|
||||
fn foldr<T, U: Copy+Clone>(
|
||||
values: &[T],
|
||||
initial: U,
|
||||
function: &fn(element: &T, partial: U) -> U
|
||||
@ -18,7 +18,7 @@ fn foldr<T, U: Copy>(
|
||||
match values {
|
||||
[..head, tail] =>
|
||||
foldr(head, function(&tail, initial), function),
|
||||
[] => copy initial
|
||||
[] => initial.clone()
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user