Closed
Description
I am pretty sure that the logic is slightly wrong if you have a program like this:
let y = @mut [3];
let x: ~[@mut [int]] = ~[y];
take_imm_slice(x[0]);
fn take_imm_slice<'a>(v: &[int]) { ... }
note here that the result of x[0]
is being auto-sliced. The fix is to use an "derefs" count of 1 for auto-slicing, I think, but I did not want to disturb the currently working code with this change until I can land the current version.
cc #5074