about summary refs log tree commit diff
path: root/src/rustllvm/ExecutionEngineWrapper.cpp
diff options
context:
space:
mode:
authorManish Goregaokar <manishsmail@gmail.com>2015-03-31 09:04:38 +0530
committerManish Goregaokar <manishsmail@gmail.com>2015-03-31 09:04:38 +0530
commitb4457fb8a2157d7e9a983ba67e5554509017379d (patch)
tree533961f62e1e4535b67fb7240930d7018f99bbfe /src/rustllvm/ExecutionEngineWrapper.cpp
parent2c0329cfa8ff70365e3fc02a75e31ef82b2cdc75 (diff)
parente4340531c2af4b39b5ee7c111fae4f6f27ac8bf7 (diff)
downloadrust-b4457fb8a2157d7e9a983ba67e5554509017379d.tar.gz
rust-b4457fb8a2157d7e9a983ba67e5554509017379d.zip
Rollup merge of #23859 - pnkfelix:fsk-lesser-box, r=nikomatsakis
Disallow writing through mutable pointers stored in non-mut Box.

Fix #14270 

The fix works by making `cmt::freely_aliasable` result more fine-grained.

Instead of encoding the aliasability (i.e. whether the cmt is uniquely writable or not) as an option, now pass back an enum indicating either: 1. freely-aliasable (thus not uniquely-writable), 2. non-aliasable (thus uniquely writable), or 3. unique but immutable (and thus not uniquely writable, according to proposal from issue #14270.)

This is all of course a giant hack that will hopefully go away with an eventually removal of special treatment of `Box<T>` (aka `ty_unique`) from the compiler.
Diffstat (limited to 'src/rustllvm/ExecutionEngineWrapper.cpp')
0 files changed, 0 insertions, 0 deletions