From ea670992348f8a80fe467dd8ef73a3d2acd0232b Mon Sep 17 00:00:00 2001 From: Brian Anderson Date: Wed, 21 Sep 2011 22:17:06 -0700 Subject: [PATCH] Add support for mutable unique boxes Issue #409 --- src/comp/middle/mut.rs | 2 +- src/test/run-pass/unique-mutable.rs | 5 +++++ 2 files changed, 6 insertions(+), 1 deletion(-) create mode 100644 src/test/run-pass/unique-mutable.rs diff --git a/src/comp/middle/mut.rs b/src/comp/middle/mut.rs index 6ac17db4209c..802fbbe7e402 100644 --- a/src/comp/middle/mut.rs +++ b/src/comp/middle/mut.rs @@ -86,7 +86,7 @@ fn expr_root(tcx: ty::ctxt, ex: @expr, autoderef: bool) -> let mut = false; alt ty::struct(tcx, base_t) { ty::ty_box(mt) { mut = mt.mut != imm; } - ty::ty_uniq(_) { } + ty::ty_uniq(mt) { mut = mt.mut != imm; } ty::ty_res(_, _, _) { } ty::ty_tag(_, _) { } ty::ty_ptr(mt) { mut = mt.mut != imm; } diff --git a/src/test/run-pass/unique-mutable.rs b/src/test/run-pass/unique-mutable.rs new file mode 100644 index 000000000000..ef3b818c9f60 --- /dev/null +++ b/src/test/run-pass/unique-mutable.rs @@ -0,0 +1,5 @@ +fn main() { + let i = ~mutable 0; + *i = 1; + assert *i == 1; +} \ No newline at end of file