Migrate to the 2024 edition (#35755)

* Migrate to 2024 edition

Signed-off-by: Simon Wülker <simon.wuelker@arcor.de>

* Allow unsafe_op_in_unsafe_fn lint

This lint warns by default in the 2024
edition, but is *way* too noisy for servo.

We might enable it in the future, but not now.

Signed-off-by: Simon Wülker <simon.wuelker@arcor.de>

* Compile using the 2024 edition

Signed-off-by: Simon Wülker <simon.wuelker@arcor.de>

---------

Signed-off-by: Simon Wülker <simon.wuelker@arcor.de>
This commit is contained in:
Simon Wülker 2025-03-13 11:28:11 +01:00 committed by GitHub
parent eb2ca42824
commit bb0d08432e
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
66 changed files with 317 additions and 293 deletions

View file

@ -43,3 +43,4 @@ webxr = []
[lints.rust]
unexpected_cfgs = { level = "warn", check-cfg = ['cfg(crown)'] }
unsafe_op_in_unsafe_fn = { level = "allow" }

View file

@ -5162,7 +5162,7 @@ class CGUnionStruct(CGThing):
return False
def manualImplClone(self, templateVars):
arms = [f" {self.type}::{v['name']}(ref inner) => "
arms = [f" {self.type}::{v['name']}(inner) => "
f"{self.type}::{v['name']}(inner.clone()),"
for (v, _) in templateVars]
arms = "\n".join(arms)

View file

@ -428,9 +428,11 @@ thread_local!(pub static STACK_ROOTS: Cell<Option<*const RootCollection>> = cons
pub unsafe fn trace_roots(tracer: *mut JSTracer) {
trace!("tracing stack roots");
STACK_ROOTS.with(|collection| {
let collection = &*(*collection.get().unwrap()).roots.get();
let collection = unsafe { &*(*collection.get().unwrap()).roots.get() };
for root in collection {
(**root).trace(tracer);
unsafe {
(**root).trace(tracer);
}
}
});
}

View file

@ -16,7 +16,7 @@ use crate::str::{DOMString, USVString};
#[cfg_attr(crown, allow(crown::unrooted_must_root))]
pub unsafe fn trace_reflector(tracer: *mut JSTracer, description: &str, reflector: &Reflector) {
trace!("tracing reflector {}", description);
trace_object(tracer, description, reflector.rootable())
unsafe { trace_object(tracer, description, reflector.rootable()) }
}
/// Trace a `JSObject`.