Skip to content

Commit

Permalink
chore(deps): update dependency rust to v1.85.0 (#9263)
Browse files Browse the repository at this point in the history
This PR contains the following updates:

| Package | Update | Change |
|---|---|---|
| [rust](https://redirect.github.com/rust-lang/rust) | minor | `1.84.1` -> `1.85.0` |

---

### Release Notes

<details>
<summary>rust-lang/rust (rust)</summary>

### [`v1.85.0`](https://redirect.github.com/rust-lang/rust/blob/HEAD/RELEASES.md#Version-1850-2025-02-20)

[Compare Source](https://redirect.github.com/rust-lang/rust/compare/1.84.1...1.85.0)

\==========================

<a id="1.85.0-Language"></a>

## Language

-   [The 2024 Edition is now stable.](https://redirect.github.com/rust-lang/rust/pull/133349)
    See [the edition guide](https://doc.rust-lang.org/nightly/edition-guide/rust-2024/index.html) for more details.
-   [Stabilize async closures](https://redirect.github.com/rust-lang/rust/pull/132706)
    See [RFC 3668](https://rust-lang.github.io/rfcs/3668-async-closures.html) for more details.
-   [Stabilize `#[diagnostic::do_not_recommend]`](https://redirect.github.com/rust-lang/rust/pull/132056)
-   [Add `unpredictable_function_pointer_comparisons` lint to warn against function pointer comparisons](https://redirect.github.com/rust-lang/rust/pull/118833)
-   [Lint on combining `#[no_mangle]` and `#[export_name]` attributes.](https://redirect.github.com/rust-lang/rust/pull/131558)

<a id="1.85.0-Compiler"></a>

## Compiler

-   [The unstable flag `-Zpolymorphize` has been removed](https://redirect.github.com/rust-lang/rust/pull/133883), see [https://github.com/rust-lang/compiler-team/issues/810](https://redirect.github.com/rust-lang/compiler-team/issues/810) for some background.

<a id="1.85.0-Platform-Support"></a>

## Platform Support

-   [Promote `powerpc64le-unknown-linux-musl` to tier 2 with host tools](https://redirect.github.com/rust-lang/rust/pull/133801)

Refer to Rust's \[platform support page]\[platform-support-doc]
for more information on Rust's tiered platform support.

<a id="1.85.0-Libraries"></a>

## Libraries

-   [Panics in the standard library now have a leading `library/` in their path](https://redirect.github.com/rust-lang/rust/pull/132390)
-   [`std::env::home_dir()` on Windows now ignores the non-standard `$HOME` environment variable](https://redirect.github.com/rust-lang/rust/pull/132515)

    It will be un-deprecated in a subsequent release.
-   [Add `AsyncFn*` to the prelude in all editions.](https://redirect.github.com/rust-lang/rust/pull/132611)

<a id="1.85.0-Stabilized-APIs"></a>

## Stabilized APIs

-   [`BuildHasherDefault::new`](https://doc.rust-lang.org/stable/std/hash/struct.BuildHasherDefault.html#method.new)
-   [`ptr::fn_addr_eq`](https://doc.rust-lang.org/std/ptr/fn.fn_addr_eq.html)
-   [`io::ErrorKind::QuotaExceeded`](https://doc.rust-lang.org/stable/std/io/enum.ErrorKind.html#variant.QuotaExceeded)
-   [`io::ErrorKind::CrossesDevices`](https://doc.rust-lang.org/stable/std/io/enum.ErrorKind.html#variant.CrossesDevices)
-   [`{float}::midpoint`](https://doc.rust-lang.org/core/primitive.f32.html#method.midpoint)
-   [Unsigned `{integer}::midpoint`](https://doc.rust-lang.org/std/primitive.u64.html#method.midpoint)
-   [`NonZeroU*::midpoint`](https://doc.rust-lang.org/std/num/type.NonZeroU32.html#method.midpoint)
-   [impl `std::iter::Extend` for tuples with arity 1 through 12](https://doc.rust-lang.org/stable/std/iter/trait.Extend.html#impl-Extend%3C\(A,\)%3E-for-\(EA,\))
-   [`FromIterator<(A, ...)>` for tuples with arity 1 through 12](https://doc.rust-lang.org/stable/std/iter/trait.FromIterator.html#impl-FromIterator%3C\(EA,\)%3E-for-\(A,\))
-   [`std::task::Waker::noop`](https://doc.rust-lang.org/stable/std/task/struct.Waker.html#method.noop)

These APIs are now stable in const contexts:

-   [`mem::size_of_val`](https://doc.rust-lang.org/stable/std/mem/fn.size_of_val.html)
-   [`mem::align_of_val`](https://doc.rust-lang.org/stable/std/mem/fn.align_of_val.html)
-   [`Layout::for_value`](https://doc.rust-lang.org/stable/std/alloc/struct.Layout.html#method.for_value)
-   [`Layout::align_to`](https://doc.rust-lang.org/stable/std/alloc/struct.Layout.html#method.align_to)
-   [`Layout::pad_to_align`](https://doc.rust-lang.org/stable/std/alloc/struct.Layout.html#method.pad_to_align)
-   [`Layout::extend`](https://doc.rust-lang.org/stable/std/alloc/struct.Layout.html#method.extend)
-   [`Layout::array`](https://doc.rust-lang.org/stable/std/alloc/struct.Layout.html#method.array)
-   [`std::mem::swap`](https://doc.rust-lang.org/stable/std/mem/fn.swap.html)
-   [`std::ptr::swap`](https://doc.rust-lang.org/stable/std/ptr/fn.swap.html)
-   [`NonNull::new`](https://doc.rust-lang.org/stable/std/ptr/struct.NonNull.html#method.new)
-   [`HashMap::with_hasher`](https://doc.rust-lang.org/stable/std/collections/struct.HashMap.html#method.with_hasher)
-   [`HashSet::with_hasher`](https://doc.rust-lang.org/stable/std/collections/struct.HashSet.html#method.with_hasher)
-   [`BuildHasherDefault::new`](https://doc.rust-lang.org/stable/std/hash/struct.BuildHasherDefault.html#method.new)
-   [`<float>::recip`](https://doc.rust-lang.org/stable/std/primitive.f32.html#method.recip)
-   [`<float>::to_degrees`](https://doc.rust-lang.org/stable/std/primitive.f32.html#method.to_degrees)
-   [`<float>::to_radians`](https://doc.rust-lang.org/stable/std/primitive.f32.html#method.to_radians)
-   [`<float>::max`](https://doc.rust-lang.org/stable/std/primitive.f32.html#method.max)
-   [`<float>::min`](https://doc.rust-lang.org/stable/std/primitive.f32.html#method.min)
-   [`<float>::clamp`](https://doc.rust-lang.org/stable/std/primitive.f32.html#method.clamp)
-   [`<float>::abs`](https://doc.rust-lang.org/stable/std/primitive.f32.html#method.abs)
-   [`<float>::signum`](https://doc.rust-lang.org/stable/std/primitive.f32.html#method.signum)
-   [`<float>::copysign`](https://doc.rust-lang.org/stable/std/primitive.f32.html#method.copysign)
-   [`MaybeUninit::write`](https://doc.rust-lang.org/stable/std/mem/union.MaybeUninit.html#method.write)

<a id="1.85.0-Cargo"></a>

## Cargo

-   [Add future-incompatibility warning against keywords in cfgs and add raw-idents](https://redirect.github.com/rust-lang/cargo/pull/14671/)
-   [Stabilize higher precedence trailing flags](https://redirect.github.com/rust-lang/cargo/pull/14900/)
-   [Pass `CARGO_CFG_FEATURE` to build scripts](https://redirect.github.com/rust-lang/cargo/pull/14902/)

<a id="1.85.0-Rustdoc"></a>

## Rustdoc

-   [Doc comment on impl blocks shows the first line, even when the impl block is collapsed](https://redirect.github.com/rust-lang/rust/pull/132155)

<a id="1.85.0-Compatibility-Notes"></a>

## Compatibility Notes

-   [`rustc` no longer treats the `test` cfg as a well known check-cfg](https://redirect.github.com/rust-lang/rust/pull/131729), instead it is up to the build systems and users of `--check-cfg`\[^check-cfg] to set it as a well known cfg using `--check-cfg=cfg(test)`.

    This is done to enable build systems like Cargo to set it conditionally, as not all source files are suitable for unit tests.
    [Cargo (for now) unconditionally sets the `test` cfg as a well known cfg](https://redirect.github.com/rust-lang/cargo/pull/14963).
    \[^check-cfg]: https://doc.rust-lang.org/nightly/rustc/check-cfg.html
-   [Disable potentially incorrect type inference if there are trivial and non-trivial where-clauses](https://redirect.github.com/rust-lang/rust/pull/132325)
-   `std::env::home_dir()` has been deprecated for years, because it can give surprising results in some Windows configurations if the `HOME` environment variable is set (which is not the normal configuration on Windows). We had previously avoided changing its behavior, out of concern for compatibility with code depending on this non-standard configuration. Given how long this function has been deprecated, we're now fixing its behavior as a bugfix. A subsequent release will remove the deprecation for this function.
-   [Make `core::ffi::c_char` signedness more closely match that of the platform-default `char`](https://redirect.github.com/rust-lang/rust/pull/132975)

    This changed `c_char` from an `i8` to `u8` or vice versa on many Tier 2 and 3
    targets (mostly Arm and RISC-V embedded targets). The new definition may
    result in compilation failures but fixes compatibility issues with C.

    The `libc` crate matches this change as of its 0.2.169 release.
-   [When compiling a nested `macro_rules` macro from an external crate, the content of the inner `macro_rules` is now built with the edition of the external crate, not the local crate.](https://redirect.github.com/rust-lang/rust/pull/133274)
-   [Increase `sparcv9-sun-solaris` and `x86_64-pc-solaris` Solaris baseline to 11.4.](https://redirect.github.com/rust-lang/rust/pull/133293)
-   [Show `abi_unsupported_vector_types` lint in future breakage reports](https://redirect.github.com/rust-lang/rust/pull/133374)
-   [Error if multiple super-trait instantiations of `dyn Trait` need associated types to be specified but only one is provided](https://redirect.github.com/rust-lang/rust/pull/133392)
-   [Change `powerpc64-ibm-aix` default `codemodel` to large](https://redirect.github.com/rust-lang/rust/pull/133811)

<a id="1.85.0-Internal-Changes"></a>

## Internal Changes

These changes do not affect any public interfaces of Rust, but they represent
significant improvements to the performance or internals of rustc and related
tools.

-   [Build `x86_64-unknown-linux-gnu` with LTO for C/C++ code (e.g., `jemalloc`)](https://redirect.github.com/rust-lang/rust/pull/134690)

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR was generated by [Mend Renovate](https://mend.io/renovate/). View the [repository job log](https://developer.mend.io/github/oxc-project/oxc).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOS4xNzYuMiIsInVwZGF0ZWRJblZlciI6IjM5LjE3Ni4yIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->
  • Loading branch information
renovate[bot] committed Feb 21, 2025
1 parent 632543c commit cf969e2
Show file tree
Hide file tree
Showing 22 changed files with 35 additions and 27 deletions.
2 changes: 1 addition & 1 deletion crates/oxc_allocator/src/boxed.rs
Original file line number Diff line number Diff line change
Expand Up @@ -66,7 +66,7 @@ impl<T> Box<'_, T> {
/// # SAFETY
/// Safe to create, but must never be dereferenced, as does not point to a valid `T`.
/// Only purpose is for mocking types without allocating for const assertions.
#[expect(unsafe_code, clippy::missing_safety_doc)]
#[expect(unsafe_code)]
pub const unsafe fn dangling() -> Self {
const { Self::ASSERT_T_IS_NOT_DROP };

Expand Down
4 changes: 2 additions & 2 deletions crates/oxc_allocator/src/string.rs
Original file line number Diff line number Diff line change
Expand Up @@ -103,7 +103,7 @@ impl<'alloc> String<'alloc> {
/// Caller must ensure this `Vec<u8>` comprises a valid UTF-8 string.
//
// `#[inline(always)]` because this is a no-op at runtime
#[expect(clippy::missing_safety_doc, clippy::unnecessary_safety_comment)]
#[expect(clippy::unnecessary_safety_comment)]
#[inline(always)]
pub unsafe fn from_utf8_unchecked(bytes: Vec<'alloc, u8>) -> String<'alloc> {
// Cannot use `bumpalo::String::from_utf8_unchecked` because it takes a `bumpalo::collections::Vec`,
Expand Down Expand Up @@ -149,7 +149,7 @@ impl<'alloc> String<'alloc> {
/// assert_eq!(s, "hello");
/// }
/// ```
#[expect(clippy::missing_safety_doc, clippy::unnecessary_safety_comment)]
#[expect(clippy::unnecessary_safety_comment)]
#[inline(always)]
pub unsafe fn from_raw_parts_in(
buf: *mut u8,
Expand Down
2 changes: 1 addition & 1 deletion crates/oxc_codegen/tests/integration/main.rs
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
#![expect(clippy::missing_panics_doc)]
#![expect(clippy::missing_panics_doc, clippy::literal_string_with_formatting_args)]
pub mod esbuild;
pub mod jsdoc;
pub mod legal_comments;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,10 +12,10 @@ use oxc_span::SourceType;
// run `cargo run -p oxc_isolated_declarations --example isolated_declarations`
// or `just example isolated_declarations`

fn main() {
fn main() -> std::io::Result<()> {
let name = env::args().nth(1).unwrap_or_else(|| "test.tsx".to_string());
let path = Path::new(&name);
let source_text = std::fs::read_to_string(path).expect("{name} not found");
let source_text = std::fs::read_to_string(path)?;
let allocator = Allocator::default();
let source_type = SourceType::from_path(path).unwrap();

Expand All @@ -26,7 +26,7 @@ fn main() {
let error = error.with_source_code(source_text.clone());
println!("{error:?}");
}
return;
return Ok(());
}

println!("Original:\n");
Expand All @@ -47,4 +47,6 @@ fn main() {
println!("{error:?}");
}
}

Ok(())
}
1 change: 1 addition & 0 deletions crates/oxc_linter/src/lib.rs
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
#![expect(clippy::self_named_module_files)] // for rules.rs
#![allow(clippy::literal_string_with_formatting_args)]

#[cfg(test)]
mod tester;
Expand Down
6 changes: 3 additions & 3 deletions crates/oxc_linter/src/rules/eslint/no_unused_vars/options.rs
Original file line number Diff line number Diff line change
Expand Up @@ -570,9 +570,9 @@ impl TryFrom<Value> for NoUnusedVarsOptions {
})
}
Value::Null => Ok(Self::default()),
_ => Err(OxcDiagnostic::error(
"Invalid 'vars' option for no-unused-vars: Expected a string or an object, got {config}",
)),
_ => Err(OxcDiagnostic::error(format!(
"Invalid 'vars' option for no-unused-vars: Expected a string or an object, got {config}"
))),
}
}
}
Expand Down
2 changes: 1 addition & 1 deletion crates/oxc_minifier/src/lib.rs
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
//! ECMAScript Minifier
#![allow(clippy::needless_pass_by_ref_mut)]
#![allow(clippy::needless_pass_by_ref_mut, clippy::literal_string_with_formatting_args)]

mod compressor;
mod ctx;
Expand Down
2 changes: 2 additions & 0 deletions crates/oxc_minifier/tests/mod.rs
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
#![allow(clippy::literal_string_with_formatting_args)]

mod ecmascript;
mod mangler;
mod peephole;
Expand Down
1 change: 1 addition & 0 deletions crates/oxc_semantic/src/jsdoc/parser/jsdoc_parts.rs
Original file line number Diff line number Diff line change
Expand Up @@ -157,6 +157,7 @@ impl<'a> JSDocTagTypeNamePart<'a> {
}

#[cfg(test)]
#[expect(clippy::literal_string_with_formatting_args)]
mod test {
use oxc_span::{Span, SPAN};

Expand Down
7 changes: 4 additions & 3 deletions crates/oxc_semantic/tests/integration/scopes.rs
Original file line number Diff line number Diff line change
Expand Up @@ -96,18 +96,19 @@ fn test_function_level_strict() {
)
.with_module(false);

tester.has_some_symbol("x")
tester
.has_some_symbol("x")
.is_in_scope(ScopeFlags::StrictMode | ScopeFlags::Function)
.expect(|(semantic, symbol_id)| -> Result<(), &'static str> {
let scope_id = semantic.symbol_scope(symbol_id);
let Some(parent_scope_id) = semantic.scopes().get_parent_id(scope_id) else {
return Err("Expected x's scope to have a parent")
return Err("Expected x's scope to have a parent");
};
let parent_flags = semantic.scopes().get_flags(parent_scope_id);
if parent_flags.contains(ScopeFlags::Top) {
Ok(())
} else {
Err("Expected x to be in a top-level function declaration, but its parent scope has flags {parent_flags:?}")
Err("Expected x to be in a top-level function declaration.")
}
})
.test();
Expand Down
2 changes: 1 addition & 1 deletion crates/oxc_syntax/src/node.rs
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ impl NodeId {
///
/// # SAFETY
/// `idx` must not be `u32::MAX`.
#[expect(clippy::missing_safety_doc, clippy::unnecessary_safety_comment)]
#[expect(clippy::unnecessary_safety_comment)]
pub const unsafe fn new_unchecked(idx: u32) -> Self {
// SAFETY: Caller must ensure `idx` is not `u32::MAX`
Self(NonMaxU32::new_unchecked(idx))
Expand Down
2 changes: 1 addition & 1 deletion crates/oxc_syntax/src/scope.rs
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ impl ScopeId {
///
/// # SAFETY
/// `idx` must not be `u32::MAX`.
#[expect(clippy::missing_safety_doc, clippy::unnecessary_safety_comment)]
#[expect(clippy::unnecessary_safety_comment)]
pub const unsafe fn new_unchecked(idx: u32) -> Self {
// SAFETY: Caller must ensure `idx` is not `u32::MAX`
Self(NonMaxU32::new_unchecked(idx))
Expand Down
2 changes: 1 addition & 1 deletion crates/oxc_syntax/src/symbol.rs
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ impl SymbolId {
///
/// # SAFETY
/// `idx` must not be `u32::MAX`.
#[expect(clippy::missing_safety_doc, clippy::unnecessary_safety_comment)]
#[expect(clippy::unnecessary_safety_comment)]
pub const unsafe fn new_unchecked(idx: u32) -> Self {
// SAFETY: Caller must ensure `idx` is not `u32::MAX`
Self(NonMaxU32::new_unchecked(idx))
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2165,8 +2165,8 @@ impl<'a> ClassProperties<'a, '_> {
}
}

/// * [`Helper::ReadOnlyError`]: `_readOnlyError("#method")`
/// * [`Helper::WriteOnlyError`]: `_writeOnlyError("#method")`
/// * [`Helper::ReadOnlyError`][]: `_readOnlyError("#method")`
/// * [`Helper::WriteOnlyError`][]: `_writeOnlyError("#method")`
fn create_throw_error(
&self,
helper: Helper,
Expand Down
3 changes: 2 additions & 1 deletion crates/oxc_traverse/scripts/lib/walk.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,8 @@ export default function generateWalkFunctionsCode(types) {
clippy::semicolon_if_nothing_returned,
clippy::ptr_as_ptr,
clippy::ref_as_ptr,
clippy::cast_ptr_alignment
clippy::cast_ptr_alignment,
clippy::borrow_as_ptr
)]
use std::{cell::Cell, marker::PhantomData};
Expand Down
1 change: 0 additions & 1 deletion crates/oxc_traverse/src/context/reusable.rs
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,6 @@ impl<'a> ReusableTraverseCtx<'a> {
///
/// [`TraverseAncestry`]: super::TraverseAncestry
#[inline]
#[expect(clippy::missing_safety_doc)]
pub unsafe fn unwrap(self) -> TraverseCtx<'a> {
self.0
}
Expand Down
3 changes: 2 additions & 1 deletion crates/oxc_traverse/src/generated/walk.rs
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,8 @@
clippy::semicolon_if_nothing_returned,
clippy::ptr_as_ptr,
clippy::ref_as_ptr,
clippy::cast_ptr_alignment
clippy::cast_ptr_alignment,
clippy::borrow_as_ptr
)]

use std::{cell::Cell, marker::PhantomData};
Expand Down
2 changes: 1 addition & 1 deletion rust-toolchain.toml
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
[toolchain]
channel = "1.84.1"
channel = "1.85.0"
profile = "default"
2 changes: 1 addition & 1 deletion tasks/coverage/src/babel/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@ impl<T: Case> Suite<T> for BabelSuite<T> {
]
.iter()
.any(|p| path.to_string_lossy().contains(p));
let incorrect_extension = path.extension().map_or(true, |ext| ext == "json" || ext == "md");
let incorrect_extension = path.extension().is_none_or(|ext| ext == "json" || ext == "md");
not_supported_directory || incorrect_extension
}

Expand Down
2 changes: 1 addition & 1 deletion tasks/coverage/src/suite.rs
Original file line number Diff line number Diff line change
Expand Up @@ -95,7 +95,7 @@ pub trait Suite<T: Case> {
.filter(|e| !e.file_type().is_dir())
.map(|e| e.path().to_owned())
.filter(|path| !self.skip_test_path(path))
.filter(|path| filter.map_or(true, |query| path.to_string_lossy().contains(query)))
.filter(|path| filter.is_none_or(|query| path.to_string_lossy().contains(query)))
.collect::<Vec<_>>()
};

Expand Down
2 changes: 1 addition & 1 deletion tasks/prettier_conformance/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -180,7 +180,7 @@ fn collect_test_files(dir: &Path, filter: Option<&String>) -> Vec<PathBuf> {
}
})
.filter(|e| !IGNORE_TESTS.iter().any(|s| e.path().to_string_lossy().contains(s)))
.filter(|e| filter.map_or(true, |name| e.path().to_string_lossy().contains(name)))
.filter(|e| filter.is_none_or(|name| e.path().to_string_lossy().contains(name)))
.map(|e| e.path().to_path_buf())
.collect();
test_files.sort_unstable();
Expand Down
2 changes: 1 addition & 1 deletion tasks/rulegen/src/main.rs
Original file line number Diff line number Diff line change
Expand Up @@ -683,7 +683,7 @@ fn main() {
let context = match body {
Ok(Ok(body)) => {
let allocator = Allocator::default();
let source_type = SourceType::from_path(rule_test_path).expect("incorrect {path:?}");
let source_type = SourceType::from_path(rule_test_path).unwrap();
let ret = Parser::new(&allocator, &body, source_type).parse();

let mut state = State::new(&body);
Expand Down

0 comments on commit cf969e2

Please sign in to comment.