chore: update to Rust 1.77.2 (#23262)

update to Rust 1.77.2


---------

Co-authored-by: Matt Mastracci <matthew@mastracci.com>
This commit is contained in:
林炳权 2024-04-11 06:08:23 +08:00 committed by GitHub
parent c6f1107e9c
commit 9304126be5
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
16 changed files with 24 additions and 65 deletions

View File

@ -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";

View File

@ -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

View File

@ -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(_) => {

View File

@ -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>>;

View File

@ -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 {

View File

@ -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 {

View File

@ -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>;

View File

@ -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)]

View File

@ -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 {

View File

@ -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");

View File

@ -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 {

View File

@ -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 =

View File

@ -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

View File

@ -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 {

View File

@ -1,3 +1,3 @@
[toolchain]
channel = "1.76.0"
channel = "1.77.2"
components = ["rustfmt", "clippy"]

View File

@ -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
}