about summary refs log tree commit diff
path: root/src/libstd/sys/unix/stack_overflow.rs
diff options
context:
space:
mode:
authorBjörn Steinbrink <bsteinbr@gmail.com>2015-12-27 17:56:15 +0100
committerBjörn Steinbrink <bsteinbr@gmail.com>2015-12-27 17:57:49 +0100
commit575f690b39559160e31930726b5629dfbd3526fa (patch)
treef38e3884fff7f4e2a22256a94cfd80e8a33d367e /src/libstd/sys/unix/stack_overflow.rs
parent38201501dfe193bfa14d792f590effd462a78717 (diff)
downloadrust-575f690b39559160e31930726b5629dfbd3526fa.tar.gz
rust-575f690b39559160e31930726b5629dfbd3526fa.zip
Fix `auto_ref()` for fat pointers
`auto_ref()` currently returns an Rvalue datum for the ref'd value,
which is fine for thin pointers, but for fat pointers this means that
once the pointer is moved out of that datum, its memory will be marked
as dead. And because there is not necessarily an intermediate temporary
involved we can end up marking memory as dead that is actually still
used.

As I don't want to break the micro-optimization for thin pointers by
always returning an Lvalue datum, I decided to only do so for fat
pointers.

Fix #30478
Diffstat (limited to 'src/libstd/sys/unix/stack_overflow.rs')
0 files changed, 0 insertions, 0 deletions