mirror of
https://github.com/denoland/deno.git
synced 2024-12-23 15:49:44 -05:00
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:
parent
c6f1107e9c
commit
9304126be5
16 changed files with 24 additions and 65 deletions
2
.github/workflows/ci.generate.ts
vendored
2
.github/workflows/ci.generate.ts
vendored
|
@ -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";
|
||||
|
|
8
.github/workflows/ci.yml
vendored
8
.github/workflows/ci.yml
vendored
|
@ -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
|
||||
|
|
|
@ -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(_) => {
|
||||
|
|
11
cli/tools/vendor/build.rs
vendored
11
cli/tools/vendor/build.rs
vendored
|
@ -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>>;
|
||||
|
|
8
cli/tools/vendor/test.rs
vendored
8
cli/tools/vendor/test.rs
vendored
|
@ -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 {
|
||||
|
|
|
@ -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 {
|
||||
|
|
|
@ -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>;
|
||||
|
|
|
@ -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)]
|
||||
|
|
|
@ -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 {
|
||||
|
|
|
@ -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");
|
||||
|
||||
|
|
|
@ -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 {
|
||||
|
|
|
@ -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 =
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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 {
|
||||
|
|
|
@ -1,3 +1,3 @@
|
|||
[toolchain]
|
||||
channel = "1.76.0"
|
||||
channel = "1.77.2"
|
||||
components = ["rustfmt", "clippy"]
|
||||
|
|
|
@ -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
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue