2011-11-18 05:39:20 -06:00
|
|
|
// error-pattern: copying a noncopyable value
|
2011-09-27 16:24:18 -05:00
|
|
|
|
2012-06-01 22:21:59 -05:00
|
|
|
class r {
|
|
|
|
let i: @mut int;
|
|
|
|
new(i: @mut int) { self.i = i; }
|
|
|
|
drop { *(self.i) = *(self.i) + 1; }
|
2011-09-27 16:24:18 -05:00
|
|
|
}
|
|
|
|
|
2012-06-29 18:26:56 -05:00
|
|
|
fn f<T>(+i: ~[T], +j: ~[T]) {
|
2011-09-27 16:24:18 -05:00
|
|
|
let k = i + j;
|
|
|
|
}
|
|
|
|
|
|
|
|
fn main() {
|
2012-03-26 20:35:18 -05:00
|
|
|
let i1 = @mut 0;
|
|
|
|
let i2 = @mut 1;
|
2012-06-29 18:26:56 -05:00
|
|
|
let r1 <- ~[~r(i1)];
|
|
|
|
let r2 <- ~[~r(i2)];
|
2011-09-27 16:24:18 -05:00
|
|
|
f(r1, r2);
|
2011-12-22 19:53:53 -06:00
|
|
|
log(debug, (r2, *i1));
|
|
|
|
log(debug, (r1, *i2));
|
2011-09-27 16:24:18 -05:00
|
|
|
}
|