mirror of
https://github.com/denoland/deno.git
synced 2025-08-04 10:59:13 +00:00
chore: update to rust 1.85 (#28236)
Updates to use rust 1.85. Doesn't move to the 2024 edition, as that's a fair bit more involved. A nice side benefit is that the new rustc version seems to lead to a slight reduction in binary size (at least on mac): ``` FILE SIZE -------------- +4.3% +102Ki __DATA_CONST,__const [NEW] +69.3Ki __TEXT,__literals [NEW] +68.5Ki Rebase Info +5.0% +39.9Ki __TEXT,__unwind_info +57% +8.85Ki [__TEXT] [NEW] +8.59Ki Lazy Binding Info [NEW] +5.16Ki __TEXT,__stub_helper [NEW] +3.58Ki Export Info [NEW] +3.42Ki __DATA,__la_symbol_ptr -0.1% -726 [12 Others] -21.4% -3.10Ki [__DATA_CONST] -95.8% -3.39Ki __DATA_CONST,__got -20.9% -3.43Ki [__DATA] -0.5% -4.52Ki Code Signature -100.0% -11.6Ki [__LINKEDIT] -1.0% -43.5Ki Symbol Table -1.6% -44.0Ki __TEXT,__gcc_except_tab -0.2% -48.1Ki __TEXT,__const -3.3% -78.6Ki __TEXT,__eh_frame -0.7% -320Ki __TEXT,__text -1.5% -334Ki String Table -0.5% -586Ki TOTAL ```
This commit is contained in:
parent
e66ef32a8f
commit
ee4c14a550
66 changed files with 158 additions and 176 deletions
|
@ -316,7 +316,7 @@ impl Drop for NapiState {
|
|||
.env_cleanup_hooks
|
||||
.borrow()
|
||||
.iter()
|
||||
.any(|pair| pair.0 == hook.0 && pair.1 == hook.1)
|
||||
.any(|pair| std::ptr::fn_addr_eq(pair.0, hook.0) && pair.1 == hook.1)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
@ -326,10 +326,9 @@ impl Drop for NapiState {
|
|||
}
|
||||
|
||||
{
|
||||
self
|
||||
.env_cleanup_hooks
|
||||
.borrow_mut()
|
||||
.retain(|pair| !(pair.0 == hook.0 && pair.1 == hook.1));
|
||||
self.env_cleanup_hooks.borrow_mut().retain(|pair| {
|
||||
!(std::ptr::fn_addr_eq(pair.0, hook.0) && pair.1 == hook.1)
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -473,7 +472,10 @@ impl Env {
|
|||
data: *mut c_void,
|
||||
) {
|
||||
let mut hooks = self.cleanup_hooks.borrow_mut();
|
||||
if hooks.iter().any(|pair| pair.0 == hook && pair.1 == data) {
|
||||
if hooks
|
||||
.iter()
|
||||
.any(|pair| std::ptr::fn_addr_eq(pair.0, hook) && pair.1 == data)
|
||||
{
|
||||
panic!("Cannot register cleanup hook with same data twice");
|
||||
}
|
||||
hooks.push((hook, data));
|
||||
|
@ -487,7 +489,7 @@ impl Env {
|
|||
let mut hooks = self.cleanup_hooks.borrow_mut();
|
||||
match hooks
|
||||
.iter()
|
||||
.rposition(|&pair| pair.0 == hook && pair.1 == data)
|
||||
.rposition(|&pair| std::ptr::fn_addr_eq(pair.0, hook) && pair.1 == data)
|
||||
{
|
||||
Some(index) => {
|
||||
hooks.remove(index);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue