Closed
Description
After #4908, there are very few places left in the compiler that are using [mut foo]
rather than just [foo]
(with mutability instead attached to either the slot or the pointer). Here are the steps need to completely remove it:
- Remove Dvec (core::dvec). Nowadays,
~[]
should be sufficient to cover all uses of Dvec throughout the compiler. However, this is blocked on some work by @nikomatsakis to improve the borrow check. - Remove the two remaining uses of of inner-vector-mutability from rustc::middle::liveness. This appears to require some fairly substantial changes to the surrounding code, which still uses structural records, argument modes, mutable struct fields, and oldmap. Other files in the vicinity of rustc::middle will also need to be changed. This task is also blocked on some work by nmatsakis to improve liveness.
- Go through src/test/compile-fail and determine which tests are testing vector mutability in general and which are just testing inner mutability. Update the former and delete the latter.
- Remove inner-vector-mutability from the parser.