Upgrade to rustc 1.44.0-nightly (42abbd887 2020-04-07)

This commit is contained in:
Simon Sapin 2020-04-08 14:57:42 +02:00
parent 4227425c1e
commit 1c0549ce7f
10 changed files with 37 additions and 26 deletions

View file

@ -3,5 +3,5 @@ std = { features = ["panic-unwind"] }
# https://github.com/rust-lang/rust/issues/65313 # https://github.com/rust-lang/rust/issues/65313
[target.aarch64-uwp-windows-msvc.dependencies] [target.aarch64-uwp-windows-msvc.dependencies]
std = {} std = { features = ["panic-unwind"] }

View file

@ -15,7 +15,7 @@ use servo_config::opts;
use std::fmt; use std::fmt;
lazy_static! { lazy_static! {
static ref IS_MULTIPROCESS: bool = { opts::multiprocess() }; static ref IS_MULTIPROCESS: bool = opts::multiprocess();
} }
#[derive(Deserialize, Serialize)] #[derive(Deserialize, Serialize)]

View file

@ -13,7 +13,7 @@ use servo_config::opts;
use std::fmt; use std::fmt;
lazy_static! { lazy_static! {
static ref IS_MULTIPROCESS: bool = { opts::multiprocess() }; static ref IS_MULTIPROCESS: bool = opts::multiprocess();
} }
#[derive(Deserialize, Serialize)] #[derive(Deserialize, Serialize)]

View file

@ -55,7 +55,7 @@ use tokio::prelude::{future, Future, Stream};
use tokio::runtime::Runtime; use tokio::runtime::Runtime;
lazy_static! { lazy_static! {
pub static ref HANDLE: Mutex<Runtime> = { Mutex::new(Runtime::new().unwrap()) }; pub static ref HANDLE: Mutex<Runtime> = Mutex::new(Runtime::new().unwrap());
} }
/// The various states an entry of the HttpCache can be in. /// The various states an entry of the HttpCache can be in.

View file

@ -51,7 +51,7 @@ use tokio::runtime::Runtime;
use tokio_openssl::SslAcceptorExt; use tokio_openssl::SslAcceptorExt;
lazy_static! { lazy_static! {
pub static ref HANDLE: Mutex<Runtime> = { Mutex::new(Runtime::new().unwrap()) }; pub static ref HANDLE: Mutex<Runtime> = Mutex::new(Runtime::new().unwrap());
} }
const DEFAULT_USER_AGENT: &'static str = "Such Browser. Very Layout. Wow."; const DEFAULT_USER_AGENT: &'static str = "Such Browser. Very Layout. Wow.";

View file

@ -2028,11 +2028,11 @@ impl ScriptThread {
// occurs for the rest of the messages // occurs for the rest of the messages
match msg { match msg {
WebDriverScriptCommand::ExecuteScript(script, reply) => { WebDriverScriptCommand::ExecuteScript(script, reply) => {
let window = { self.documents.borrow().find_window(pipeline_id) }; let window = self.documents.borrow().find_window(pipeline_id);
return webdriver_handlers::handle_execute_script(window, script, reply); return webdriver_handlers::handle_execute_script(window, script, reply);
}, },
WebDriverScriptCommand::ExecuteAsyncScript(script, reply) => { WebDriverScriptCommand::ExecuteAsyncScript(script, reply) => {
let window = { self.documents.borrow().find_window(pipeline_id) }; let window = self.documents.borrow().find_window(pipeline_id);
return webdriver_handlers::handle_execute_async_script(window, script, reply); return webdriver_handlers::handle_execute_async_script(window, script, reply);
}, },
_ => (), _ => (),
@ -2300,7 +2300,7 @@ impl ScriptThread {
id: PipelineId, id: PipelineId,
scroll_states: &[(UntrustedNodeAddress, Vector2D<f32, LayoutPixel>)], scroll_states: &[(UntrustedNodeAddress, Vector2D<f32, LayoutPixel>)],
) { ) {
let window = match { self.documents.borrow().find_window(id) } { let window = match self.documents.borrow().find_window(id) {
Some(window) => window, Some(window) => window,
None => { None => {
return warn!( return warn!(
@ -2707,7 +2707,7 @@ impl ScriptThread {
Some(r) => r, Some(r) => r,
None => return, None => return,
}; };
let window = match { self.documents.borrow().find_window(pipeline_id) } { let window = match self.documents.borrow().find_window(pipeline_id) {
Some(window) => window, Some(window) => window,
None => return warn!("Registration failed for {}", scope), None => return warn!("Registration failed for {}", scope),
}; };
@ -2786,7 +2786,7 @@ impl ScriptThread {
/// Handles a request for the window title. /// Handles a request for the window title.
fn handle_get_title_msg(&self, pipeline_id: PipelineId) { fn handle_get_title_msg(&self, pipeline_id: PipelineId) {
let document = match { self.documents.borrow().find_document(pipeline_id) } { let document = match self.documents.borrow().find_document(pipeline_id) {
Some(document) => document, Some(document) => document,
None => return warn!("Message sent to closed pipeline {}.", pipeline_id), None => return warn!("Message sent to closed pipeline {}.", pipeline_id),
}; };
@ -2903,7 +2903,7 @@ impl ScriptThread {
/// Handles when layout thread finishes all animation in one tick /// Handles when layout thread finishes all animation in one tick
fn handle_tick_all_animations(&self, id: PipelineId) { fn handle_tick_all_animations(&self, id: PipelineId) {
let document = match { self.documents.borrow().find_document(id) } { let document = match self.documents.borrow().find_document(id) {
Some(document) => document, Some(document) => document,
None => return warn!("Message sent to closed pipeline {}.", id), None => return warn!("Message sent to closed pipeline {}.", id),
}; };
@ -2988,7 +2988,7 @@ impl ScriptThread {
old_value: Option<String>, old_value: Option<String>,
new_value: Option<String>, new_value: Option<String>,
) { ) {
let window = match { self.documents.borrow().find_window(pipeline_id) } { let window = match self.documents.borrow().find_window(pipeline_id) {
None => return warn!("Storage event sent to closed pipeline {}.", pipeline_id), None => return warn!("Storage event sent to closed pipeline {}.", pipeline_id),
Some(window) => window, Some(window) => window,
}; };
@ -3392,7 +3392,7 @@ impl ScriptThread {
/// TODO: Actually perform DOM event dispatch. /// TODO: Actually perform DOM event dispatch.
fn handle_event(&self, pipeline_id: PipelineId, event: CompositorEvent) { fn handle_event(&self, pipeline_id: PipelineId, event: CompositorEvent) {
// Do not handle events if the pipeline exited. // Do not handle events if the pipeline exited.
let window = match { self.documents.borrow().find_window(pipeline_id) } { let window = match self.documents.borrow().find_window(pipeline_id) {
Some(win) => win, Some(win) => win,
None => { None => {
return warn!( return warn!(
@ -3436,7 +3436,7 @@ impl ScriptThread {
}, },
MouseMoveEvent(point, node_address, pressed_mouse_buttons) => { MouseMoveEvent(point, node_address, pressed_mouse_buttons) => {
let document = match { self.documents.borrow().find_document(pipeline_id) } { let document = match self.documents.borrow().find_document(pipeline_id) {
Some(document) => document, Some(document) => document,
None => return warn!("Message sent to closed pipeline {}.", pipeline_id), None => return warn!("Message sent to closed pipeline {}.", pipeline_id),
}; };
@ -3529,7 +3529,7 @@ impl ScriptThread {
}, },
KeyboardEvent(key_event) => { KeyboardEvent(key_event) => {
let document = match { self.documents.borrow().find_document(pipeline_id) } { let document = match self.documents.borrow().find_document(pipeline_id) {
Some(document) => document, Some(document) => document,
None => return warn!("Message sent to closed pipeline {}.", pipeline_id), None => return warn!("Message sent to closed pipeline {}.", pipeline_id),
}; };
@ -3537,7 +3537,7 @@ impl ScriptThread {
}, },
CompositionEvent(composition_event) => { CompositionEvent(composition_event) => {
let document = match { self.documents.borrow().find_document(pipeline_id) } { let document = match self.documents.borrow().find_document(pipeline_id) {
Some(document) => document, Some(document) => document,
None => return warn!("Message sent to closed pipeline {}.", pipeline_id), None => return warn!("Message sent to closed pipeline {}.", pipeline_id),
}; };
@ -3558,7 +3558,7 @@ impl ScriptThread {
point_in_node: Option<Point2D<f32>>, point_in_node: Option<Point2D<f32>>,
pressed_mouse_buttons: u16, pressed_mouse_buttons: u16,
) { ) {
let document = match { self.documents.borrow().find_document(pipeline_id) } { let document = match self.documents.borrow().find_document(pipeline_id) {
Some(document) => document, Some(document) => document,
None => return warn!("Message sent to closed pipeline {}.", pipeline_id), None => return warn!("Message sent to closed pipeline {}.", pipeline_id),
}; };
@ -3581,7 +3581,7 @@ impl ScriptThread {
point: Point2D<f32>, point: Point2D<f32>,
node_address: Option<UntrustedNodeAddress>, node_address: Option<UntrustedNodeAddress>,
) -> TouchEventResult { ) -> TouchEventResult {
let document = match { self.documents.borrow().find_document(pipeline_id) } { let document = match self.documents.borrow().find_document(pipeline_id) {
Some(document) => document, Some(document) => document,
None => { None => {
warn!("Message sent to closed pipeline {}.", pipeline_id); warn!("Message sent to closed pipeline {}.", pipeline_id);
@ -3604,7 +3604,7 @@ impl ScriptThread {
point: Point2D<f32>, point: Point2D<f32>,
node_address: Option<UntrustedNodeAddress>, node_address: Option<UntrustedNodeAddress>,
) { ) {
let document = match { self.documents.borrow().find_document(pipeline_id) } { let document = match self.documents.borrow().find_document(pipeline_id) {
Some(document) => document, Some(document) => document,
None => return warn!("Message sent to closed pipeline {}.", pipeline_id), None => return warn!("Message sent to closed pipeline {}.", pipeline_id),
}; };
@ -3676,7 +3676,7 @@ impl ScriptThread {
new_size: WindowSizeData, new_size: WindowSizeData,
size_type: WindowSizeType, size_type: WindowSizeType,
) { ) {
let document = match { self.documents.borrow().find_document(pipeline_id) } { let document = match self.documents.borrow().find_document(pipeline_id) {
Some(document) => document, Some(document) => document,
None => return warn!("Message sent to closed pipeline {}.", pipeline_id), None => return warn!("Message sent to closed pipeline {}.", pipeline_id),
}; };

View file

@ -101,8 +101,16 @@ fn has_lint_attr(sym: &Symbols, attrs: &[Attribute], name: Symbol) -> bool {
/// Checks if a type is unrooted or contains any owned unrooted types /// Checks if a type is unrooted or contains any owned unrooted types
fn is_unrooted_ty(sym: &Symbols, cx: &LateContext, ty: &ty::TyS, in_new_function: bool) -> bool { fn is_unrooted_ty(sym: &Symbols, cx: &LateContext, ty: &ty::TyS, in_new_function: bool) -> bool {
let mut ret = false; let mut ret = false;
ty.maybe_walk(|t| { let mut walker = ty.walk();
match t.kind { while let Some(generic_arg) = walker.next() {
let t = match generic_arg.unpack() {
rustc_middle::ty::subst::GenericArgKind::Type(t) => t,
_ => {
walker.skip_current_subtree();
continue;
},
};
let recur_into_subtree = match t.kind {
ty::Adt(did, substs) => { ty::Adt(did, substs) => {
let has_attr = |did, name| has_lint_attr(sym, &cx.tcx.get_attrs(did), name); let has_attr = |did, name| has_lint_attr(sym, &cx.tcx.get_attrs(did), name);
if has_attr(did.did, sym.must_root) { if has_attr(did.did, sym.must_root) {
@ -180,8 +188,11 @@ fn is_unrooted_ty(sym: &Symbols, cx: &LateContext, ty: &ty::TyS, in_new_function
ty::FnDef(..) | ty::FnPtr(_) => false, ty::FnDef(..) | ty::FnPtr(_) => false,
_ => true, _ => true,
};
if !recur_into_subtree {
walker.skip_current_subtree();
}
} }
});
ret ret
} }

View file

@ -96,7 +96,7 @@ impl EventsLoop {
} }
EventLoop::Headless(ref data) => { EventLoop::Headless(ref data) => {
let &(ref flag, ref condvar) = &**data; let &(ref flag, ref condvar) = &**data;
while { !*flag.lock().unwrap() } { while !*flag.lock().unwrap() {
self.sleep(flag, condvar); self.sleep(flag, condvar);
if callback(glutin::Event::Awakened) == glutin::ControlFlow::Break { if callback(glutin::Event::Awakened) == glutin::ControlFlow::Break {
break; break;

View file

@ -37,7 +37,7 @@ extern "C" fn default_panic_handler(msg: *const c_char) {
lazy_static! { lazy_static! {
static ref ON_PANIC: RwLock<extern "C" fn(*const c_char)> = RwLock::new(default_panic_handler); static ref ON_PANIC: RwLock<extern "C" fn(*const c_char)> = RwLock::new(default_panic_handler);
static ref SERVO_VERSION: CString = static ref SERVO_VERSION: CString =
{ CString::new(simpleservo::servo_version()).expect("Can't create string") }; CString::new(simpleservo::servo_version()).expect("Can't create string");
} }
#[no_mangle] #[no_mangle]

View file

@ -1 +1 @@
nightly-2020-03-31 nightly-2020-04-08