Skip to content

Commit f6ab12a

Browse files
committed
Don't unify unique boxes with different mutability
Issue #409
1 parent 5ab0840 commit f6ab12a

File tree

2 files changed

+6
-3
lines changed

2 files changed

+6
-3
lines changed

src/comp/middle/ty.rs

+2-3
Original file line numberDiff line numberDiff line change
@@ -2195,11 +2195,10 @@ mod unify {
21952195
alt struct(cx.tcx, actual) {
21962196
ty::ty_uniq(actual_mt) {
21972197
let mut = expected_mt.mut;
2198-
// FIXME (409) Write a test then uncomment
2199-
/*alt unify_mut(expected_mt.mut, actual_mt.mut) {
2198+
alt unify_mut(expected_mt.mut, actual_mt.mut) {
22002199
none. { ret ures_err(terr_box_mutability); }
22012200
some(m) { mut = m; }
2202-
}*/
2201+
}
22032202
let result = unify_step(cx, expected_mt.ty, actual_mt.ty);
22042203
alt result {
22052204
ures_ok(result_mt) {

src/test/compile-fail/unique-mut.rs

+4
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
//error-pattern:mismatched types
2+
fn main() {
3+
let i: ~int = ~mutable 0;
4+
}

0 commit comments

Comments
 (0)