From afb20775d1836c79975dfb9889fdeffe0c8baf58 Mon Sep 17 00:00:00 2001 From: Niko Matsakis Date: Tue, 13 Aug 2013 14:59:33 -0400 Subject: Fix freezing of @mut Objects when passing as argument --- src/test/run-fail/borrowck-wg-fail-object-arg.rs | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100644 src/test/run-fail/borrowck-wg-fail-object-arg.rs (limited to 'src/test/run-fail') diff --git a/src/test/run-fail/borrowck-wg-fail-object-arg.rs b/src/test/run-fail/borrowck-wg-fail-object-arg.rs new file mode 100644 index 00000000000..c70d752ef30 --- /dev/null +++ b/src/test/run-fail/borrowck-wg-fail-object-arg.rs @@ -0,0 +1,22 @@ +// error-pattern:borrowed + +trait Foo { + fn foo(&self, @mut int); +} + +impl Foo for int { + fn foo(&self, x: @mut int) { + *x += *self; + } +} + +fn it_takes_two(f: &Foo, g: &mut Foo) { +} + +fn main() { + let x = @mut 3_i; + let y = x as @mut Foo; + let z = y; + + it_takes_two(y, z); +} -- cgit 1.4.1-3-g733a5