diff options
| author | Felix S. Klock II <pnkfelix@pnkfx.org> | 2018-09-18 01:47:53 +0200 |
|---|---|---|
| committer | Felix S. Klock II <pnkfelix@pnkfx.org> | 2018-09-18 02:06:45 +0200 |
| commit | 1f0fbddfff60f7f5d35b9008ab3f0ffb8133bb52 (patch) | |
| tree | 7fa67ff0f2a42bfb71d13c3e3977aa6f8aa93ddd /src/test/incremental/thinlto | |
| parent | 2224a42c353636db6ee53cc3f9b1a968e9d9c1f6 (diff) | |
| download | rust-1f0fbddfff60f7f5d35b9008ab3f0ffb8133bb52.tar.gz rust-1f0fbddfff60f7f5d35b9008ab3f0ffb8133bb52.zip | |
Fine tune dianostics for when a borrow conflicts with a destructor that needs exclusive access.
In particular:
1. Extend `WriteKind::StorageDeadOrDrop` with state to track whether
we are running a destructor or just freeing backing storage. (As
part of this, when we drop a Box<..<Box<T>..> where `T` does not
need drop, we now signal that the drop of `T` is a kind of storage
dead rather than a drop.)
2. When reporting that a value does not live long enough, check if
we're doing an "interesting" drop, i.e. we aren't just trivally
freeing the borrowed state, but rather a user-defined dtor will
run and potentially require exclusive aces to the borrowed state.
3. Added a new diagnosic to describe the scenario here.
Diffstat (limited to 'src/test/incremental/thinlto')
0 files changed, 0 insertions, 0 deletions
