servo: Merge #13278 - Update Rust to 1.13.0-nightly (6ffdda1ba 2016-09-14) (from servo:rustup); r=jdm
authorAnthony Ramine <n.oxyde@gmail.com>
Thu, 15 Sep 2016 12:37:47 -0500
changeset 339688 f2a6b440fbb644502665a58e93d8efe18573d08b
parent 339687 780feaa4ebf3528ffab9b7ff3678853b3d2285d9
child 339689 eb78df4e6ca40173f0a67ff2da35e9926a7028d5
push id31307
push usergszorc@mozilla.com
push dateSat, 04 Feb 2017 00:59:06 +0000
treeherdermozilla-central@94079d43835f [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersjdm
servo: Merge #13278 - Update Rust to 1.13.0-nightly (6ffdda1ba 2016-09-14) (from servo:rustup); r=jdm Source-Repo: https://github.com/servo/servo Source-Revision: e0e6a7be4fa00da2968acdb1d310379194a43390
servo/components/plugins/lints/unrooted_must_root.rs
servo/components/script/dom/worker.rs
servo/components/script_traits/lib.rs
servo/rust-nightly-date
--- a/servo/components/plugins/lints/unrooted_must_root.rs
+++ b/servo/components/plugins/lints/unrooted_must_root.rs
@@ -38,18 +38,17 @@ impl UnrootedPass {
     }
 }
 
 /// Checks if a type is unrooted or contains any owned unrooted types
 fn is_unrooted_ty(cx: &LateContext, ty: &ty::TyS, in_new_function: bool) -> bool {
     let mut ret = false;
     ty.maybe_walk(|t| {
         match t.sty {
-            ty::TyStruct(did, _) |
-            ty::TyEnum(did, _) => {
+            ty::TyAdt(did, _) => {
                 if cx.tcx.has_attr(did.did, "must_root") {
                     ret = true;
                     false
                 } else if cx.tcx.has_attr(did.did, "allow_unrooted_interior") {
                     false
                 } else if match_def_path(cx, did.did, &["core", "cell", "Ref"])
                         || match_def_path(cx, did.did, &["core", "cell", "RefMut"])
                         || match_def_path(cx, did.did, &["style", "refcell", "Ref"])
--- a/servo/components/script/dom/worker.rs
+++ b/servo/components/script/dom/worker.rs
@@ -135,34 +135,35 @@ impl Worker {
         MessageEvent::dispatch_jsval(target, global.r(), message.handle());
     }
 
     pub fn dispatch_simple_error(address: TrustedWorkerAddress) {
         let worker = address.root();
         worker.upcast().fire_simple_event("error");
     }
 
+    #[allow(unsafe_code)]
     fn dispatch_error(&self, error_info: ErrorInfo) {
         let global = self.global();
         let event = ErrorEvent::new(global.r(),
                                     atom!("error"),
                                     EventBubbles::DoesNotBubble,
                                     EventCancelable::Cancelable,
                                     error_info.message.as_str().into(),
                                     error_info.filename.as_str().into(),
                                     error_info.lineno,
                                     error_info.column,
-                                    NullHandleValue);
+                                    unsafe { NullHandleValue });
 
         let handled = !event.upcast::<Event>().fire(self.upcast::<EventTarget>());
         if handled {
             return;
         }
 
-        global.r().report_an_error(error_info, NullHandleValue);
+        global.r().report_an_error(error_info, unsafe { NullHandleValue });
     }
 }
 
 impl WorkerMethods for Worker {
     // https://html.spec.whatwg.org/multipage/#dom-worker-postmessage
     fn PostMessage(&self, cx: *mut JSContext, message: HandleValue) -> ErrorResult {
         let data = try!(StructuredCloneData::write(cx, message));
         let address = Trusted::new(self);
--- a/servo/components/script_traits/lib.rs
+++ b/servo/components/script_traits/lib.rs
@@ -1,17 +1,16 @@
 /* This Source Code Form is subject to the terms of the Mozilla Public
  * License, v. 2.0. If a copy of the MPL was not distributed with this
  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
 
 //! This module contains traits in script used generically in the rest of Servo.
 //! The traits are here instead of in script so that these modules won't have
 //! to depend on script.
 
-#![feature(core_intrinsics)]
 #![feature(custom_derive, plugin)]
 #![plugin(heapsize_plugin, plugins, serde_macros)]
 #![deny(missing_docs)]
 #![deny(unsafe_code)]
 
 extern crate app_units;
 extern crate canvas_traits;
 extern crate cookie as cookie_rs;
--- a/servo/rust-nightly-date
+++ b/servo/rust-nightly-date
@@ -1,1 +1,1 @@
-2016-09-05
+2016-09-15