diff --git a/src/comp/middle/ty.rs b/src/comp/middle/ty.rs index 0ed7fd66935..6be7274fa2f 100644 --- a/src/comp/middle/ty.rs +++ b/src/comp/middle/ty.rs @@ -2195,11 +2195,10 @@ mod unify { alt struct(cx.tcx, actual) { ty::ty_uniq(actual_mt) { let mut = expected_mt.mut; - // FIXME (409) Write a test then uncomment - /*alt unify_mut(expected_mt.mut, actual_mt.mut) { + alt unify_mut(expected_mt.mut, actual_mt.mut) { none. { ret ures_err(terr_box_mutability); } some(m) { mut = m; } - }*/ + } let result = unify_step(cx, expected_mt.ty, actual_mt.ty); alt result { ures_ok(result_mt) { diff --git a/src/test/compile-fail/unique-mut.rs b/src/test/compile-fail/unique-mut.rs new file mode 100644 index 00000000000..bb5779bc1db --- /dev/null +++ b/src/test/compile-fail/unique-mut.rs @@ -0,0 +1,4 @@ +//error-pattern:mismatched types +fn main() { + let i: ~int = ~mutable 0; +} \ No newline at end of file