diff options
author | bors-servo <lbergstrom+bors@mozilla.com> | 2018-11-08 05:11:11 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-11-08 05:11:11 -0500 |
commit | f220a63a0f4d7757c2a5e7c9da1c2063d37bebd6 (patch) | |
tree | b1a3c3010e6c29c4f9d86930f948116b6bf27a93 /components/script/dom/bindings/root.rs | |
parent | b1fd6237d1304f3d57abdafd3e6e738c1ece9f83 (diff) | |
parent | 9f977c52878e3638f475ca9a78e9f57d0d22893d (diff) | |
download | servo-f220a63a0f4d7757c2a5e7c9da1c2063d37bebd6.tar.gz servo-f220a63a0f4d7757c2a5e7c9da1c2063d37bebd6.zip |
Auto merge of #22133 - servo:extern-crate, r=SimonSapin
Use 2018-edition idioms in crates that use that edition
The first commit is almost entirely mechanical, created by running `cargo fix --edition-idioms` and relevant crates. I undid the change of adding an anonymous lifetime parameter in types that have implicit lifetimes parameters, for example replacing `&mut Formatter` with `&mut Formatter<'_>`, because I don’t like it. The remaining changes are, in many places:
* Add `dyn` to trait object types, for example `Rc<gl::Gl>` to `Rc<dyn gl::Gl>`. This change also works in the 2015 edition.
* Remove `extern crate` where is it made unneeded by changes to the import/module system.
<!-- 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/22133)
<!-- Reviewable:end -->
Diffstat (limited to 'components/script/dom/bindings/root.rs')
-rw-r--r-- | components/script/dom/bindings/root.rs | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/components/script/dom/bindings/root.rs b/components/script/dom/bindings/root.rs index 25b77e052e6..5318eb11e4d 100644 --- a/components/script/dom/bindings/root.rs +++ b/components/script/dom/bindings/root.rs @@ -78,14 +78,14 @@ where pub unsafe trait StableTraceObject { /// Returns a stable trace object which address won't change for the whole /// lifetime of the value. - fn stable_trace_object(&self) -> *const JSTraceable; + fn stable_trace_object(&self) -> *const dyn JSTraceable; } unsafe impl<T> StableTraceObject for Dom<T> where T: DomObject, { - fn stable_trace_object<'a>(&'a self) -> *const JSTraceable { + fn stable_trace_object<'a>(&'a self) -> *const dyn JSTraceable { // The JSTraceable impl for Reflector doesn't actually do anything, // so we need this shenanigan to actually trace the reflector of the // T pointer in Dom<T>. @@ -198,7 +198,7 @@ where /// See also [*Exact Stack Rooting - Storing a GCPointer on the CStack*] /// (https://developer.mozilla.org/en-US/docs/Mozilla/Projects/SpiderMonkey/Internals/GC/Exact_Stack_Rooting). pub struct RootCollection { - roots: UnsafeCell<Vec<*const JSTraceable>>, + roots: UnsafeCell<Vec<*const dyn JSTraceable>>, } thread_local!(static STACK_ROOTS: Cell<Option<*const RootCollection>> = Cell::new(None)); @@ -228,13 +228,13 @@ impl RootCollection { } /// Starts tracking a trace object. - unsafe fn root(&self, object: *const JSTraceable) { + unsafe fn root(&self, object: *const dyn JSTraceable) { debug_assert!(thread_state::get().is_script()); (*self.roots.get()).push(object); } /// Stops tracking a trace object, asserting if it isn't found. - unsafe fn unroot(&self, object: *const JSTraceable) { + unsafe fn unroot(&self, object: *const dyn JSTraceable) { debug_assert!(thread_state::get().is_script()); let roots = &mut *self.roots.get(); match roots.iter().rposition(|r| *r == object) { |