diff options
author | 林炳权 <695601626@qq.com> | 2024-04-11 06:08:23 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-04-10 22:08:23 +0000 |
commit | 9304126be5633d4e7d384a8df87f5833a7a145e2 (patch) | |
tree | c074d89e9f2423c5121721ea94b9b4fb3101a482 | |
parent | c6f1107e9c8835389479f4f2d80d3539d23df41e (diff) |
chore: update to Rust 1.77.2 (#23262)
update to Rust 1.77.2
---------
Co-authored-by: Matt Mastracci <matthew@mastracci.com>
-rwxr-xr-x | .github/workflows/ci.generate.ts | 2 | ||||
-rw-r--r-- | .github/workflows/ci.yml | 8 | ||||
-rw-r--r-- | cli/npm/managed/cache.rs | 1 | ||||
-rw-r--r-- | cli/tools/vendor/build.rs | 11 | ||||
-rw-r--r-- | cli/tools/vendor/test.rs | 8 | ||||
-rw-r--r-- | cli/util/fs.rs | 5 | ||||
-rw-r--r-- | cli/worker.rs | 6 | ||||
-rw-r--r-- | ext/ffi/callback.rs | 2 | ||||
-rw-r--r-- | ext/ffi/dlfcn.rs | 2 | ||||
-rw-r--r-- | ext/http/http_next.rs | 25 | ||||
-rw-r--r-- | ext/http/service.rs | 2 | ||||
-rw-r--r-- | ext/napi/lib.rs | 2 | ||||
-rw-r--r-- | ext/node/ops/vm_internal.rs | 4 | ||||
-rw-r--r-- | ext/web/stream_resource.rs | 2 | ||||
-rw-r--r-- | rust-toolchain.toml | 2 | ||||
-rw-r--r-- | tests/napi/src/promise.rs | 7 |
16 files changed, 24 insertions, 65 deletions
diff --git a/.github/workflows/ci.generate.ts b/.github/workflows/ci.generate.ts index 17c14a9b2..4133e1262 100755 --- a/.github/workflows/ci.generate.ts +++ b/.github/workflows/ci.generate.ts @@ -5,7 +5,7 @@ import { stringify } from "jsr:@std/yaml@^0.221/stringify"; // Bump this number when you want to purge the cache. // Note: the tools/release/01_bump_crate_versions.ts script will update this version // automatically via regex, so ensure that this line maintains this format. -const cacheVersion = 81; +const cacheVersion = 82; const ubuntuX86Runner = "ubuntu-22.04"; const ubuntuX86XlRunner = "ubuntu-22.04-xl"; diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 43a4b37f0..5ede2dfa3 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -363,8 +363,8 @@ jobs: path: |- ~/.cargo/registry/index ~/.cargo/registry/cache - key: '81-cargo-home-${{ matrix.os }}-${{ matrix.arch }}-${{ hashFiles(''Cargo.lock'') }}' - restore-keys: '81-cargo-home-${{ matrix.os }}-${{ matrix.arch }}' + key: '82-cargo-home-${{ matrix.os }}-${{ matrix.arch }}-${{ hashFiles(''Cargo.lock'') }}' + restore-keys: '82-cargo-home-${{ matrix.os }}-${{ matrix.arch }}' if: '!(matrix.skip)' - name: Restore cache build output (PR) uses: actions/cache/restore@v4 @@ -376,7 +376,7 @@ jobs: !./target/*/*.zip !./target/*/*.tar.gz key: never_saved - restore-keys: '81-cargo-target-${{ matrix.os }}-${{ matrix.arch }}-${{ matrix.profile }}-${{ matrix.job }}-' + restore-keys: '82-cargo-target-${{ matrix.os }}-${{ matrix.arch }}-${{ matrix.profile }}-${{ matrix.job }}-' - name: Apply and update mtime cache if: '!(matrix.skip) && (!startsWith(github.ref, ''refs/tags/''))' uses: ./.github/mtime_cache @@ -670,7 +670,7 @@ jobs: !./target/*/gn_out !./target/*/*.zip !./target/*/*.tar.gz - key: '81-cargo-target-${{ matrix.os }}-${{ matrix.arch }}-${{ matrix.profile }}-${{ matrix.job }}-${{ github.sha }}' + key: '82-cargo-target-${{ matrix.os }}-${{ matrix.arch }}-${{ matrix.profile }}-${{ matrix.job }}-${{ github.sha }}' publish-canary: name: publish canary runs-on: ubuntu-22.04 diff --git a/cli/npm/managed/cache.rs b/cli/npm/managed/cache.rs index 89587b430..9ba5c1c99 100644 --- a/cli/npm/managed/cache.rs +++ b/cli/npm/managed/cache.rs @@ -231,6 +231,7 @@ pub fn with_folder_sync_lock( match fs::OpenOptions::new() .write(true) .create(true) + .truncate(false) .open(&sync_lock_path) { Ok(_) => { diff --git a/cli/tools/vendor/build.rs b/cli/tools/vendor/build.rs index 1646a9959..0590992b0 100644 --- a/cli/tools/vendor/build.rs +++ b/cli/tools/vendor/build.rs @@ -2,7 +2,6 @@ use std::fmt::Write as _; use std::path::Path; -use std::path::PathBuf; use std::sync::Arc; use deno_ast::ModuleSpecifier; @@ -34,19 +33,13 @@ use super::specifiers::is_remote_specifier; /// Allows substituting the environment for testing purposes. pub trait VendorEnvironment { - fn cwd(&self) -> Result<PathBuf, AnyError>; fn create_dir_all(&self, dir_path: &Path) -> Result<(), AnyError>; fn write_file(&self, file_path: &Path, bytes: &[u8]) -> Result<(), AnyError>; - fn path_exists(&self, path: &Path) -> bool; } pub struct RealVendorEnvironment; impl VendorEnvironment for RealVendorEnvironment { - fn cwd(&self) -> Result<PathBuf, AnyError> { - Ok(std::env::current_dir()?) - } - fn create_dir_all(&self, dir_path: &Path) -> Result<(), AnyError> { Ok(std::fs::create_dir_all(dir_path)?) } @@ -55,10 +48,6 @@ impl VendorEnvironment for RealVendorEnvironment { std::fs::write(file_path, bytes) .with_context(|| format!("Failed writing {}", file_path.display())) } - - fn path_exists(&self, path: &Path) -> bool { - path.exists() - } } type BuildGraphFuture = LocalBoxFuture<'static, Result<ModuleGraph, AnyError>>; diff --git a/cli/tools/vendor/test.rs b/cli/tools/vendor/test.rs index c5e98c05e..d54bf5dc5 100644 --- a/cli/tools/vendor/test.rs +++ b/cli/tools/vendor/test.rs @@ -144,10 +144,6 @@ struct TestVendorEnvironment { } impl VendorEnvironment for TestVendorEnvironment { - fn cwd(&self) -> Result<PathBuf, AnyError> { - Ok(make_path("/")) - } - fn create_dir_all(&self, dir_path: &Path) -> Result<(), AnyError> { let mut directories = self.directories.borrow_mut(); for path in dir_path.ancestors() { @@ -169,10 +165,6 @@ impl VendorEnvironment for TestVendorEnvironment { ); Ok(()) } - - fn path_exists(&self, path: &Path) -> bool { - self.files.borrow().contains_key(&path.to_path_buf()) - } } pub struct VendorOutput { diff --git a/cli/util/fs.rs b/cli/util/fs.rs index ba55eb89d..92820ebe8 100644 --- a/cli/util/fs.rs +++ b/cli/util/fs.rs @@ -676,7 +676,9 @@ impl Drop for LaxSingleProcessFsFlagInner { /// This should only be used in places where it's ideal for multiple /// processes to not update something on the file system at the same time, /// but it's not that big of a deal. -pub struct LaxSingleProcessFsFlag(Option<LaxSingleProcessFsFlagInner>); +pub struct LaxSingleProcessFsFlag( + #[allow(dead_code)] Option<LaxSingleProcessFsFlagInner>, +); impl LaxSingleProcessFsFlag { pub async fn lock(file_path: PathBuf, long_wait_message: &str) -> Self { @@ -688,6 +690,7 @@ impl LaxSingleProcessFsFlag { .read(true) .write(true) .create(true) + .truncate(false) .open(&file_path); match open_result { diff --git a/cli/worker.rs b/cli/worker.rs index be5a85cd6..ed82f4872 100644 --- a/cli/worker.rs +++ b/cli/worker.rs @@ -72,12 +72,6 @@ pub trait ModuleLoaderFactory: Send + Sync { fn create_source_map_getter(&self) -> Option<Rc<dyn SourceMapGetter>>; } -// todo(dsherret): this is temporary and we should remove this -// once we no longer conditionally initialize the node runtime -pub trait HasNodeSpecifierChecker: Send + Sync { - fn has_node_specifier(&self) -> bool; -} - #[async_trait::async_trait(?Send)] pub trait HmrRunner: Send + Sync { async fn start(&mut self) -> Result<(), AnyError>; diff --git a/ext/ffi/callback.rs b/ext/ffi/callback.rs index 556d21525..eeea49c23 100644 --- a/ext/ffi/callback.rs +++ b/ext/ffi/callback.rs @@ -34,7 +34,7 @@ use std::task::Poll; static THREAD_ID_COUNTER: AtomicU32 = AtomicU32::new(1); thread_local! { - static LOCAL_THREAD_ID: RefCell<u32> = RefCell::new(0); + static LOCAL_THREAD_ID: RefCell<u32> = const { RefCell::new(0) }; } #[derive(Clone)] diff --git a/ext/ffi/dlfcn.rs b/ext/ffi/dlfcn.rs index ad287b9d0..bd46f14b2 100644 --- a/ext/ffi/dlfcn.rs +++ b/ext/ffi/dlfcn.rs @@ -101,7 +101,7 @@ struct ForeignStatic { #[derive(Debug)] enum ForeignSymbol { ForeignFunction(ForeignFunction), - ForeignStatic(ForeignStatic), + ForeignStatic(#[allow(dead_code)] ForeignStatic), } impl<'de> Deserialize<'de> for ForeignSymbol { diff --git a/ext/http/http_next.rs b/ext/http/http_next.rs index 99d602fcc..a6527397f 100644 --- a/ext/http/http_next.rs +++ b/ext/http/http_next.rs @@ -20,6 +20,7 @@ use crate::websocket_upgrade::WebSocketUpgrade; use crate::LocalExecutor; use cache_control::CacheControl; use deno_core::error::AnyError; +use deno_core::external; use deno_core::futures::future::poll_fn; use deno_core::futures::TryFutureExt; use deno_core::op2; @@ -130,30 +131,6 @@ impl< #[repr(transparent)] struct RcHttpRecord(Rc<HttpRecord>); -// Temp copy -/// Define an external type. -macro_rules! external { - ($type:ident, $name:literal) => { - impl deno_core::Externalizable for $type { - fn external_marker() -> usize { - // Use the address of a static mut as a way to get around lack of usize-sized TypeId. Because it is mutable, the - // compiler cannot collapse multiple definitions into one. - static mut DEFINITION: deno_core::ExternalDefinition = - deno_core::ExternalDefinition::new($name); - // Wash the pointer through black_box so the compiler cannot see what we're going to do with it and needs - // to assume it will be used for valid purposes. - // SAFETY: temporary while waiting on deno core bump - let ptr = std::hint::black_box(unsafe { &mut DEFINITION } as *mut _); - ptr as usize - } - - fn external_name() -> &'static str { - $name - } - } - }; -} - // Register the [`HttpRecord`] as an external. external!(RcHttpRecord, "http record"); diff --git a/ext/http/service.rs b/ext/http/service.rs index 654da25b3..932575e37 100644 --- a/ext/http/service.rs +++ b/ext/http/service.rs @@ -150,7 +150,7 @@ impl std::ops::Deref for HttpServerState { enum RequestBodyState { Incoming(Incoming), - Resource(HttpRequestBodyAutocloser), + Resource(#[allow(dead_code)] HttpRequestBodyAutocloser), } impl From<Incoming> for RequestBodyState { diff --git a/ext/napi/lib.rs b/ext/napi/lib.rs index 520597891..b3313f0fe 100644 --- a/ext/napi/lib.rs +++ b/ext/napi/lib.rs @@ -79,7 +79,7 @@ pub const napi_would_deadlock: napi_status = 21; pub const NAPI_AUTO_LENGTH: usize = usize::MAX; thread_local! { - pub static MODULE_TO_REGISTER: RefCell<Option<*const NapiModule>> = RefCell::new(None); + pub static MODULE_TO_REGISTER: RefCell<Option<*const NapiModule>> = const { RefCell::new(None) }; } type napi_addon_register_func = diff --git a/ext/node/ops/vm_internal.rs b/ext/node/ops/vm_internal.rs index 274fac91a..b4bef5adb 100644 --- a/ext/node/ops/vm_internal.rs +++ b/ext/node/ops/vm_internal.rs @@ -155,9 +155,7 @@ impl ContextifyContext { scope: &mut v8::HandleScope<'a>, object: v8::Local<'a, v8::Object>, ) -> Option<&'c ContextifyContext> { - let Some(context) = object.get_creation_context(scope) else { - return None; - }; + let context = object.get_creation_context(scope)?; let context_ptr = context.get_aligned_pointer_from_embedder_data(0); // SAFETY: We are storing a pointer to the ContextifyContext diff --git a/ext/web/stream_resource.rs b/ext/web/stream_resource.rs index 9a46b6d47..b96ac36bc 100644 --- a/ext/web/stream_resource.rs +++ b/ext/web/stream_resource.rs @@ -594,7 +594,7 @@ mod tests { static V8_GLOBAL: OnceLock<()> = OnceLock::new(); thread_local! { - static ISOLATE: OnceCell<std::sync::Mutex<v8::OwnedIsolate>> = OnceCell::new(); + static ISOLATE: OnceCell<std::sync::Mutex<v8::OwnedIsolate>> = const { OnceCell::new() }; } fn with_isolate<T>(mut f: impl FnMut(&mut v8::Isolate) -> T) -> T { diff --git a/rust-toolchain.toml b/rust-toolchain.toml index a436857e5..27610ca75 100644 --- a/rust-toolchain.toml +++ b/rust-toolchain.toml @@ -1,3 +1,3 @@ [toolchain] -channel = "1.76.0" +channel = "1.77.2" components = ["rustfmt", "clippy"] diff --git a/tests/napi/src/promise.rs b/tests/napi/src/promise.rs index 82cd7a160..1f1c31f1e 100644 --- a/tests/napi/src/promise.rs +++ b/tests/napi/src/promise.rs @@ -5,6 +5,7 @@ use crate::napi_get_callback_info; use crate::napi_new_property; use napi_sys::*; use std::ptr; +use std::ptr::addr_of_mut; static mut CURRENT_DEFERRED: napi_deferred = ptr::null_mut(); @@ -13,7 +14,11 @@ extern "C" fn test_promise_new( _info: napi_callback_info, ) -> napi_value { let mut value: napi_value = ptr::null_mut(); - assert_napi_ok!(napi_create_promise(env, &mut CURRENT_DEFERRED, &mut value)); + assert_napi_ok!(napi_create_promise( + env, + addr_of_mut!(CURRENT_DEFERRED), + &mut value + )); value } |