diff options
author | Michael Howell <michael@notriddle.com> | 2016-11-03 12:53:27 -0700 |
---|---|---|
committer | Michael Howell <michael@notriddle.com> | 2016-11-04 13:36:04 -0700 |
commit | 5f320bd2ca92728c254f9f6dc940a1ded050c605 (patch) | |
tree | 2dd8edb684de7546f511d1fd294b6408410af860 /components/script/fetch.rs | |
parent | 5b4cc9568dbd5c15e5d2fbc62719172f11566ffa (diff) | |
download | servo-5f320bd2ca92728c254f9f6dc940a1ded050c605.tar.gz servo-5f320bd2ca92728c254f9f6dc940a1ded050c605.zip |
Make `FlowRef` a newtype
This creates a sharp distinction between `Arc<Flow>`s, which may be
owned by anyone, and `FlowRef`s, which may only be owned by the
traversal code. By checking the reference count, we ensure that a `Flow`
cannot be pointed to by `Arc`s and `FlowRef`s simultaneously.
This is not a complete fix for #6503, though it is a necessary start
(enforcing the no-aliasing rule of `FlowRef::deref_mut` will require far
more work).
Fixes #14014
Diffstat (limited to 'components/script/fetch.rs')
0 files changed, 0 insertions, 0 deletions