about summary refs log tree commit diff
path: root/src/rustllvm/RustWrapper.cpp
diff options
context:
space:
mode:
authorFelix S. Klock II <pnkfelix@pnkfx.org>2014-10-27 12:55:16 +0100
committerFelix S. Klock II <pnkfelix@pnkfx.org>2015-02-11 08:50:27 +0100
commite02b6d17486ecef8541d03bb6a38c52d1a35b339 (patch)
tree3679de338902b17ffbe0f4363376767b6d9e100f /src/rustllvm/RustWrapper.cpp
parent81383bd8691c0915e66abaca845e508b6edc4851 (diff)
downloadrust-e02b6d17486ecef8541d03bb6a38c52d1a35b339.tar.gz
rust-e02b6d17486ecef8541d03bb6a38c52d1a35b339.zip
destructor checker (dropck).
Largely adapted from pcwalton's original branch, with following
notable modifications:

Use `regionck::type_must_outlive` to generate `SafeDestructor`
constraints.  (this plugged some soundness holes in the analysis).

Avoid exponential time blowup on compile-fail/huge-struct.rs by
keeping the breadcrumbs until end of traversal.

Avoid premature return from regionck::visit_expr.

Factored drop-checking code out into dropck module.

Added `SafeDestructor` to enum `SubregionOrigin` (for error reporting).

----

Since this imposes restrictions on the lifetimes used in types with
destructors, this is a (wait for it)

[breaking-change]
Diffstat (limited to 'src/rustllvm/RustWrapper.cpp')
0 files changed, 0 insertions, 0 deletions