diff options
author | bors-servo <lbergstrom+bors@mozilla.com> | 2016-11-04 16:53:38 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2016-11-04 16:53:38 -0500 |
commit | 2b4a7b0b7ad9dd568dfde15ab47dc634ec561d70 (patch) | |
tree | 7e98f9a24462010d2c5f6eb6165b7d53865dc848 /components/script/fetch.rs | |
parent | cfef68f92d1c8cdc928d3c0b60f22de4b40a97be (diff) | |
parent | 5f320bd2ca92728c254f9f6dc940a1ded050c605 (diff) | |
download | servo-2b4a7b0b7ad9dd568dfde15ab47dc634ec561d70.tar.gz servo-2b4a7b0b7ad9dd568dfde15ab47dc634ec561d70.zip |
Auto merge of #14053 - notriddle:flow_ref_unsafe, r=pcwalton
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).
---
- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors
- [X] These changes fix #14014 (github issue number if applicable).
- [X] These changes do not require tests because the existing tests, plus the added assertions, should be sufficient
<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/14053)
<!-- Reviewable:end -->
Diffstat (limited to 'components/script/fetch.rs')
0 files changed, 0 insertions, 0 deletions