mirror of
https://github.com/denoland/deno.git
synced 2024-11-22 04:51:22 +00: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
0cc0cd0bbc
commit
e2a817d11c
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.
|
// Bump this number when you want to purge the cache.
|
||||||
// Note: the tools/release/01_bump_crate_versions.ts script will update this version
|
// 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.
|
// automatically via regex, so ensure that this line maintains this format.
|
||||||
const cacheVersion = 81;
|
const cacheVersion = 82;
|
||||||
|
|
||||||
const ubuntuX86Runner = "ubuntu-22.04";
|
const ubuntuX86Runner = "ubuntu-22.04";
|
||||||
const ubuntuX86XlRunner = "ubuntu-22.04-xl";
|
const ubuntuX86XlRunner = "ubuntu-22.04-xl";
|
||||||
|
8
.github/workflows/ci.yml
vendored
8
.github/workflows/ci.yml
vendored
@ -363,8 +363,8 @@ jobs:
|
|||||||
path: |-
|
path: |-
|
||||||
~/.cargo/registry/index
|
~/.cargo/registry/index
|
||||||
~/.cargo/registry/cache
|
~/.cargo/registry/cache
|
||||||
key: '81-cargo-home-${{ matrix.os }}-${{ matrix.arch }}-${{ hashFiles(''Cargo.lock'') }}'
|
key: '82-cargo-home-${{ matrix.os }}-${{ matrix.arch }}-${{ hashFiles(''Cargo.lock'') }}'
|
||||||
restore-keys: '81-cargo-home-${{ matrix.os }}-${{ matrix.arch }}'
|
restore-keys: '82-cargo-home-${{ matrix.os }}-${{ matrix.arch }}'
|
||||||
if: '!(matrix.skip)'
|
if: '!(matrix.skip)'
|
||||||
- name: Restore cache build output (PR)
|
- name: Restore cache build output (PR)
|
||||||
uses: actions/cache/restore@v4
|
uses: actions/cache/restore@v4
|
||||||
@ -376,7 +376,7 @@ jobs:
|
|||||||
!./target/*/*.zip
|
!./target/*/*.zip
|
||||||
!./target/*/*.tar.gz
|
!./target/*/*.tar.gz
|
||||||
key: never_saved
|
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
|
- name: Apply and update mtime cache
|
||||||
if: '!(matrix.skip) && (!startsWith(github.ref, ''refs/tags/''))'
|
if: '!(matrix.skip) && (!startsWith(github.ref, ''refs/tags/''))'
|
||||||
uses: ./.github/mtime_cache
|
uses: ./.github/mtime_cache
|
||||||
@ -670,7 +670,7 @@ jobs:
|
|||||||
!./target/*/gn_out
|
!./target/*/gn_out
|
||||||
!./target/*/*.zip
|
!./target/*/*.zip
|
||||||
!./target/*/*.tar.gz
|
!./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:
|
publish-canary:
|
||||||
name: publish canary
|
name: publish canary
|
||||||
runs-on: ubuntu-22.04
|
runs-on: ubuntu-22.04
|
||||||
|
@ -231,6 +231,7 @@ pub fn with_folder_sync_lock(
|
|||||||
match fs::OpenOptions::new()
|
match fs::OpenOptions::new()
|
||||||
.write(true)
|
.write(true)
|
||||||
.create(true)
|
.create(true)
|
||||||
|
.truncate(false)
|
||||||
.open(&sync_lock_path)
|
.open(&sync_lock_path)
|
||||||
{
|
{
|
||||||
Ok(_) => {
|
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::fmt::Write as _;
|
||||||
use std::path::Path;
|
use std::path::Path;
|
||||||
use std::path::PathBuf;
|
|
||||||
use std::sync::Arc;
|
use std::sync::Arc;
|
||||||
|
|
||||||
use deno_ast::ModuleSpecifier;
|
use deno_ast::ModuleSpecifier;
|
||||||
@ -34,19 +33,13 @@ use super::specifiers::is_remote_specifier;
|
|||||||
|
|
||||||
/// Allows substituting the environment for testing purposes.
|
/// Allows substituting the environment for testing purposes.
|
||||||
pub trait VendorEnvironment {
|
pub trait VendorEnvironment {
|
||||||
fn cwd(&self) -> Result<PathBuf, AnyError>;
|
|
||||||
fn create_dir_all(&self, dir_path: &Path) -> Result<(), AnyError>;
|
fn create_dir_all(&self, dir_path: &Path) -> Result<(), AnyError>;
|
||||||
fn write_file(&self, file_path: &Path, bytes: &[u8]) -> Result<(), AnyError>;
|
fn write_file(&self, file_path: &Path, bytes: &[u8]) -> Result<(), AnyError>;
|
||||||
fn path_exists(&self, path: &Path) -> bool;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
pub struct RealVendorEnvironment;
|
pub struct RealVendorEnvironment;
|
||||||
|
|
||||||
impl VendorEnvironment for 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> {
|
fn create_dir_all(&self, dir_path: &Path) -> Result<(), AnyError> {
|
||||||
Ok(std::fs::create_dir_all(dir_path)?)
|
Ok(std::fs::create_dir_all(dir_path)?)
|
||||||
}
|
}
|
||||||
@ -55,10 +48,6 @@ impl VendorEnvironment for RealVendorEnvironment {
|
|||||||
std::fs::write(file_path, bytes)
|
std::fs::write(file_path, bytes)
|
||||||
.with_context(|| format!("Failed writing {}", file_path.display()))
|
.with_context(|| format!("Failed writing {}", file_path.display()))
|
||||||
}
|
}
|
||||||
|
|
||||||
fn path_exists(&self, path: &Path) -> bool {
|
|
||||||
path.exists()
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
type BuildGraphFuture = LocalBoxFuture<'static, Result<ModuleGraph, AnyError>>;
|
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 {
|
impl VendorEnvironment for TestVendorEnvironment {
|
||||||
fn cwd(&self) -> Result<PathBuf, AnyError> {
|
|
||||||
Ok(make_path("/"))
|
|
||||||
}
|
|
||||||
|
|
||||||
fn create_dir_all(&self, dir_path: &Path) -> Result<(), AnyError> {
|
fn create_dir_all(&self, dir_path: &Path) -> Result<(), AnyError> {
|
||||||
let mut directories = self.directories.borrow_mut();
|
let mut directories = self.directories.borrow_mut();
|
||||||
for path in dir_path.ancestors() {
|
for path in dir_path.ancestors() {
|
||||||
@ -169,10 +165,6 @@ impl VendorEnvironment for TestVendorEnvironment {
|
|||||||
);
|
);
|
||||||
Ok(())
|
Ok(())
|
||||||
}
|
}
|
||||||
|
|
||||||
fn path_exists(&self, path: &Path) -> bool {
|
|
||||||
self.files.borrow().contains_key(&path.to_path_buf())
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
pub struct VendorOutput {
|
pub struct VendorOutput {
|
||||||
|
@ -676,7 +676,9 @@ impl Drop for LaxSingleProcessFsFlagInner {
|
|||||||
/// This should only be used in places where it's ideal for multiple
|
/// 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,
|
/// processes to not update something on the file system at the same time,
|
||||||
/// but it's not that big of a deal.
|
/// but it's not that big of a deal.
|
||||||
pub struct LaxSingleProcessFsFlag(Option<LaxSingleProcessFsFlagInner>);
|
pub struct LaxSingleProcessFsFlag(
|
||||||
|
#[allow(dead_code)] Option<LaxSingleProcessFsFlagInner>,
|
||||||
|
);
|
||||||
|
|
||||||
impl LaxSingleProcessFsFlag {
|
impl LaxSingleProcessFsFlag {
|
||||||
pub async fn lock(file_path: PathBuf, long_wait_message: &str) -> Self {
|
pub async fn lock(file_path: PathBuf, long_wait_message: &str) -> Self {
|
||||||
@ -688,6 +690,7 @@ impl LaxSingleProcessFsFlag {
|
|||||||
.read(true)
|
.read(true)
|
||||||
.write(true)
|
.write(true)
|
||||||
.create(true)
|
.create(true)
|
||||||
|
.truncate(false)
|
||||||
.open(&file_path);
|
.open(&file_path);
|
||||||
|
|
||||||
match open_result {
|
match open_result {
|
||||||
|
@ -72,12 +72,6 @@ pub trait ModuleLoaderFactory: Send + Sync {
|
|||||||
fn create_source_map_getter(&self) -> Option<Rc<dyn SourceMapGetter>>;
|
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)]
|
#[async_trait::async_trait(?Send)]
|
||||||
pub trait HmrRunner: Send + Sync {
|
pub trait HmrRunner: Send + Sync {
|
||||||
async fn start(&mut self) -> Result<(), AnyError>;
|
async fn start(&mut self) -> Result<(), AnyError>;
|
||||||
|
@ -34,7 +34,7 @@ use std::task::Poll;
|
|||||||
static THREAD_ID_COUNTER: AtomicU32 = AtomicU32::new(1);
|
static THREAD_ID_COUNTER: AtomicU32 = AtomicU32::new(1);
|
||||||
|
|
||||||
thread_local! {
|
thread_local! {
|
||||||
static LOCAL_THREAD_ID: RefCell<u32> = RefCell::new(0);
|
static LOCAL_THREAD_ID: RefCell<u32> = const { RefCell::new(0) };
|
||||||
}
|
}
|
||||||
|
|
||||||
#[derive(Clone)]
|
#[derive(Clone)]
|
||||||
|
@ -101,7 +101,7 @@ struct ForeignStatic {
|
|||||||
#[derive(Debug)]
|
#[derive(Debug)]
|
||||||
enum ForeignSymbol {
|
enum ForeignSymbol {
|
||||||
ForeignFunction(ForeignFunction),
|
ForeignFunction(ForeignFunction),
|
||||||
ForeignStatic(ForeignStatic),
|
ForeignStatic(#[allow(dead_code)] ForeignStatic),
|
||||||
}
|
}
|
||||||
|
|
||||||
impl<'de> Deserialize<'de> for ForeignSymbol {
|
impl<'de> Deserialize<'de> for ForeignSymbol {
|
||||||
|
@ -20,6 +20,7 @@ use crate::websocket_upgrade::WebSocketUpgrade;
|
|||||||
use crate::LocalExecutor;
|
use crate::LocalExecutor;
|
||||||
use cache_control::CacheControl;
|
use cache_control::CacheControl;
|
||||||
use deno_core::error::AnyError;
|
use deno_core::error::AnyError;
|
||||||
|
use deno_core::external;
|
||||||
use deno_core::futures::future::poll_fn;
|
use deno_core::futures::future::poll_fn;
|
||||||
use deno_core::futures::TryFutureExt;
|
use deno_core::futures::TryFutureExt;
|
||||||
use deno_core::op2;
|
use deno_core::op2;
|
||||||
@ -130,30 +131,6 @@ impl<
|
|||||||
#[repr(transparent)]
|
#[repr(transparent)]
|
||||||
struct RcHttpRecord(Rc<HttpRecord>);
|
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.
|
// Register the [`HttpRecord`] as an external.
|
||||||
external!(RcHttpRecord, "http record");
|
external!(RcHttpRecord, "http record");
|
||||||
|
|
||||||
|
@ -150,7 +150,7 @@ impl std::ops::Deref for HttpServerState {
|
|||||||
|
|
||||||
enum RequestBodyState {
|
enum RequestBodyState {
|
||||||
Incoming(Incoming),
|
Incoming(Incoming),
|
||||||
Resource(HttpRequestBodyAutocloser),
|
Resource(#[allow(dead_code)] HttpRequestBodyAutocloser),
|
||||||
}
|
}
|
||||||
|
|
||||||
impl From<Incoming> for RequestBodyState {
|
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;
|
pub const NAPI_AUTO_LENGTH: usize = usize::MAX;
|
||||||
|
|
||||||
thread_local! {
|
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 =
|
type napi_addon_register_func =
|
||||||
|
@ -155,9 +155,7 @@ impl ContextifyContext {
|
|||||||
scope: &mut v8::HandleScope<'a>,
|
scope: &mut v8::HandleScope<'a>,
|
||||||
object: v8::Local<'a, v8::Object>,
|
object: v8::Local<'a, v8::Object>,
|
||||||
) -> Option<&'c ContextifyContext> {
|
) -> Option<&'c ContextifyContext> {
|
||||||
let Some(context) = object.get_creation_context(scope) else {
|
let context = object.get_creation_context(scope)?;
|
||||||
return None;
|
|
||||||
};
|
|
||||||
|
|
||||||
let context_ptr = context.get_aligned_pointer_from_embedder_data(0);
|
let context_ptr = context.get_aligned_pointer_from_embedder_data(0);
|
||||||
// SAFETY: We are storing a pointer to the ContextifyContext
|
// SAFETY: We are storing a pointer to the ContextifyContext
|
||||||
|
@ -594,7 +594,7 @@ mod tests {
|
|||||||
static V8_GLOBAL: OnceLock<()> = OnceLock::new();
|
static V8_GLOBAL: OnceLock<()> = OnceLock::new();
|
||||||
|
|
||||||
thread_local! {
|
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 {
|
fn with_isolate<T>(mut f: impl FnMut(&mut v8::Isolate) -> T) -> T {
|
||||||
|
@ -1,3 +1,3 @@
|
|||||||
[toolchain]
|
[toolchain]
|
||||||
channel = "1.76.0"
|
channel = "1.77.2"
|
||||||
components = ["rustfmt", "clippy"]
|
components = ["rustfmt", "clippy"]
|
||||||
|
@ -5,6 +5,7 @@ use crate::napi_get_callback_info;
|
|||||||
use crate::napi_new_property;
|
use crate::napi_new_property;
|
||||||
use napi_sys::*;
|
use napi_sys::*;
|
||||||
use std::ptr;
|
use std::ptr;
|
||||||
|
use std::ptr::addr_of_mut;
|
||||||
|
|
||||||
static mut CURRENT_DEFERRED: napi_deferred = ptr::null_mut();
|
static mut CURRENT_DEFERRED: napi_deferred = ptr::null_mut();
|
||||||
|
|
||||||
@ -13,7 +14,11 @@ extern "C" fn test_promise_new(
|
|||||||
_info: napi_callback_info,
|
_info: napi_callback_info,
|
||||||
) -> napi_value {
|
) -> napi_value {
|
||||||
let mut value: napi_value = ptr::null_mut();
|
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
|
value
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user