For String, I don’t think this would be a problem because strings aren’t usually mutably dereferenced (this feature wasn’t even introduced until recently) and pushing onto a string always requires bounds checking. Vec and Box, however, may be problematic.
Alternatively, we could wait for static allocation and more powerful CTFE (AFAIK, this is needed for static Mutexs anyways). This isn’t quite as memory efficient but it avoids runtime allocation.