0
0
Fork 0
mirror of https://github.com/denoland/deno.git synced 2025-02-07 23:06:50 -05:00

chore: update to Rust 1.72 (#20258)

<!--
Before submitting a PR, please read https://deno.com/manual/contributing

1. Give the PR a descriptive title.

  Examples of good title:
    - fix(std/http): Fix race condition in server
    - docs(console): Update docstrings
    - feat(doc): Handle nested reexports

  Examples of bad title:
    - fix #7123
    - update docs
    - fix bugs

2. Ensure there is a related issue and it is referenced in the PR text.
3. Ensure there are tests that cover the changes.
4. Ensure `cargo test` passes.
5. Ensure `./tools/format.js` passes without changing files.
6. Ensure `./tools/lint.js` passes.
7. Open as a draft PR if your work is still in progress. The CI won't
run
   all steps, but you can add '[ci]' to a commit message to force it to.
8. If you would like to run the benchmarks on the CI, add the 'ci-bench'
label.
-->

As the title.

---------

Co-authored-by: Matt Mastracci <matthew@mastracci.com>
This commit is contained in:
林炳权 2023-08-27 12:04:12 +08:00 committed by GitHub
parent e4cebf3e0d
commit 2080669943
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
28 changed files with 212 additions and 190 deletions

View file

@ -476,7 +476,8 @@ impl FileFetcher {
let Ok(cache_key) = self.http_cache.cache_item_key(specifier) else { let Ok(cache_key) = self.http_cache.cache_item_key(specifier) else {
return false; return false;
}; };
let Ok(Some(metadata)) = self.http_cache.read_metadata(&cache_key) else { let Ok(Some(metadata)) = self.http_cache.read_metadata(&cache_key)
else {
return false; return false;
}; };
let cache_semantics = CacheSemantics::new( let cache_semantics = CacheSemantics::new(

View file

@ -1873,7 +1873,7 @@ impl Inner {
} }
_ => false, _ => false,
}, },
"deno-lint" => matches!(&d.code, Some(_)), "deno-lint" => d.code.is_some(),
"deno" => diagnostics::DenoDiagnostic::is_fixable(d), "deno" => diagnostics::DenoDiagnostic::is_fixable(d),
_ => false, _ => false,
}, },

View file

@ -308,10 +308,9 @@ fn napi_coerce_to_number(
check_env!(env); check_env!(env);
let env = unsafe { &mut *env }; let env = unsafe { &mut *env };
let value = napi_value_unchecked(value); let value = napi_value_unchecked(value);
let Some(coerced) = value let Some(coerced) = value.to_number(&mut env.scope()) else {
.to_number(&mut env.scope()) else { return napi_number_expected;
return napi_number_expected; };
};
let value: v8::Local<v8::Value> = coerced.into(); let value: v8::Local<v8::Value> = coerced.into();
*result = value.into(); *result = value.into();
napi_ok napi_ok
@ -1352,10 +1351,9 @@ fn napi_call_function(
#[napi_sym::napi_sym] #[napi_sym::napi_sym]
fn napi_close_escapable_handle_scope( fn napi_close_escapable_handle_scope(
env: *mut Env, _env: *mut Env,
_scope: napi_escapable_handle_scope, _scope: napi_escapable_handle_scope,
) -> napi_status { ) -> napi_status {
let mut _env = &mut *(env as *mut Env);
// TODO: do this properly // TODO: do this properly
napi_ok napi_ok
} }
@ -1365,7 +1363,7 @@ fn napi_close_handle_scope(
env: *mut Env, env: *mut Env,
scope: napi_handle_scope, scope: napi_handle_scope,
) -> napi_status { ) -> napi_status {
let env = &mut *(env as *mut Env); let env = &mut *env;
if env.open_handle_scopes == 0 { if env.open_handle_scopes == 0 {
return napi_handle_scope_mismatch; return napi_handle_scope_mismatch;
} }
@ -1497,7 +1495,7 @@ fn napi_define_class(
env_ptr, env_ptr,
*result, *result,
static_descriptors.len(), static_descriptors.len(),
static_descriptors.as_ptr() as *const napi_property_descriptor, static_descriptors.as_ptr(),
)); ));
} }
@ -1519,7 +1517,8 @@ fn napi_define_properties(
let scope = &mut env.scope(); let scope = &mut env.scope();
let Ok(object) = v8::Local::<v8::Object>::try_from(napi_value_unchecked(obj)) else { let Ok(object) = v8::Local::<v8::Object>::try_from(napi_value_unchecked(obj))
else {
return napi_object_expected; return napi_object_expected;
}; };
@ -1614,11 +1613,9 @@ fn napi_delete_property(
check_arg!(env, result); check_arg!(env, result);
let scope = &mut env.scope(); let scope = &mut env.scope();
let Some(object) = object let Some(object) = object.map(|o| o.to_object(scope)).flatten() else {
.map(|o| o.to_object(scope)) return napi_invalid_arg;
.flatten() else { };
return napi_invalid_arg;
};
let Some(deleted) = object.delete(scope, key.unwrap_unchecked()) else { let Some(deleted) = object.delete(scope, key.unwrap_unchecked()) else {
return napi_generic_failure; return napi_generic_failure;
@ -1630,8 +1627,7 @@ fn napi_delete_property(
// TODO: properly implement ref counting stuff // TODO: properly implement ref counting stuff
#[napi_sym::napi_sym] #[napi_sym::napi_sym]
fn napi_delete_reference(env: *mut Env, _nref: napi_ref) -> napi_status { fn napi_delete_reference(_env: *mut Env, _nref: napi_ref) -> napi_status {
let mut _env = &mut *(env as *mut Env);
napi_ok napi_ok
} }
@ -1869,7 +1865,7 @@ fn napi_get_instance_data(
env: *mut Env, env: *mut Env,
result: *mut *mut c_void, result: *mut *mut c_void,
) -> napi_status { ) -> napi_status {
let env = &mut *(env as *mut Env); let env = &mut *env;
let shared = env.shared(); let shared = env.shared();
*result = shared.instance_data; *result = shared.instance_data;
napi_ok napi_ok
@ -2118,11 +2114,9 @@ fn napi_has_own_property(
check_arg!(env, result); check_arg!(env, result);
let scope = &mut env.scope(); let scope = &mut env.scope();
let Some(object) = object let Some(object) = object.map(|o| o.to_object(scope)).flatten() else {
.map(|o| o.to_object(scope)) return napi_invalid_arg;
.flatten() else { };
return napi_invalid_arg;
};
if key.is_none() { if key.is_none() {
return napi_invalid_arg; return napi_invalid_arg;
@ -2131,7 +2125,7 @@ fn napi_has_own_property(
return napi_name_expected; return napi_name_expected;
}; };
let Some(has_own) = object.has_own_property(scope, key) else { let Some(has_own) = object.has_own_property(scope, key) else {
return napi_generic_failure; return napi_generic_failure;
}; };
@ -2153,11 +2147,9 @@ fn napi_has_property(
check_arg!(env, result); check_arg!(env, result);
let scope = &mut env.scope(); let scope = &mut env.scope();
let Some(object) = object let Some(object) = object.map(|o| o.to_object(scope)).flatten() else {
.map(|o| o.to_object(scope)) return napi_invalid_arg;
.flatten() else { };
return napi_invalid_arg;
};
let Some(has) = object.has(scope, key.unwrap_unchecked()) else { let Some(has) = object.has(scope, key.unwrap_unchecked()) else {
return napi_generic_failure; return napi_generic_failure;
@ -2180,10 +2172,9 @@ fn napi_instanceof(
let value = napi_value_unchecked(value); let value = napi_value_unchecked(value);
let constructor = napi_value_unchecked(constructor); let constructor = napi_value_unchecked(constructor);
let Some(ctor) = constructor let Some(ctor) = constructor.to_object(&mut env.scope()) else {
.to_object(&mut env.scope()) else { return napi_object_expected;
return napi_object_expected; };
};
if !ctor.is_function() { if !ctor.is_function() {
return napi_function_expected; return napi_function_expected;
} }
@ -2294,8 +2285,7 @@ fn napi_is_error(
} }
#[napi_sym::napi_sym] #[napi_sym::napi_sym]
fn napi_is_exception_pending(env: *mut Env, result: *mut bool) -> napi_status { fn napi_is_exception_pending(_env: *mut Env, result: *mut bool) -> napi_status {
let mut _env = &mut *(env as *mut Env);
// TODO // TODO
*result = false; *result = false;
napi_ok napi_ok
@ -2389,7 +2379,7 @@ fn napi_open_handle_scope(
env: *mut Env, env: *mut Env,
_result: *mut napi_handle_scope, _result: *mut napi_handle_scope,
) -> napi_status { ) -> napi_status {
let env = &mut *(env as *mut Env); let env = &mut *env;
// *result = &mut env.scope() as *mut _ as napi_handle_scope; // *result = &mut env.scope() as *mut _ as napi_handle_scope;
env.open_handle_scopes += 1; env.open_handle_scopes += 1;
@ -2525,7 +2515,7 @@ fn napi_set_instance_data(
finalize_cb: Option<napi_finalize>, finalize_cb: Option<napi_finalize>,
finalize_hint: *mut c_void, finalize_hint: *mut c_void,
) -> napi_status { ) -> napi_status {
let env = &mut *(env as *mut Env); let env = &mut *env;
let shared = env.shared_mut(); let shared = env.shared_mut();
shared.instance_data = data; shared.instance_data = data;
shared.data_finalize = if finalize_cb.is_some() { shared.data_finalize = if finalize_cb.is_some() {
@ -2567,11 +2557,9 @@ fn napi_set_property(
check_arg_option!(env, value); check_arg_option!(env, value);
let scope = &mut env.scope(); let scope = &mut env.scope();
let Some(object) = object let Some(object) = object.map(|o| o.to_object(scope)).flatten() else {
.map(|o| o.to_object(scope)) return napi_invalid_arg;
.flatten() else { };
return napi_invalid_arg
};
if object if object
.set(scope, key.unwrap_unchecked(), value.unwrap_unchecked()) .set(scope, key.unwrap_unchecked(), value.unwrap_unchecked())
@ -2759,10 +2747,9 @@ fn napi_unwrap(
let shared = &*(env.shared as *const EnvShared); let shared = &*(env.shared as *const EnvShared);
let napi_wrap = v8::Local::new(&mut env.scope(), &shared.napi_wrap); let napi_wrap = v8::Local::new(&mut env.scope(), &shared.napi_wrap);
let ext = obj.get_private(&mut env.scope(), napi_wrap).unwrap(); let ext = obj.get_private(&mut env.scope(), napi_wrap).unwrap();
let Some(ext) = v8::Local::<v8::External>::try_from(ext) let Some(ext) = v8::Local::<v8::External>::try_from(ext).ok() else {
.ok() else { return napi_invalid_arg;
return napi_invalid_arg; };
};
*result = ext.value(); *result = ext.value();
napi_ok napi_ok
} }

View file

@ -100,9 +100,10 @@ impl NpmPackageFsResolver for GlobalNpmPackageResolver {
) -> Result<PathBuf, AnyError> { ) -> Result<PathBuf, AnyError> {
let Some(referrer_pkg_id) = self let Some(referrer_pkg_id) = self
.cache .cache
.resolve_package_folder_id_from_specifier(referrer, &self.registry_url) else { .resolve_package_folder_id_from_specifier(referrer, &self.registry_url)
bail!("could not find npm package for '{}'", referrer); else {
}; bail!("could not find npm package for '{}'", referrer);
};
let pkg = if mode.is_types() && !name.starts_with("@types/") { let pkg = if mode.is_types() && !name.starts_with("@types/") {
// attempt to resolve the types package first, then fallback to the regular package // attempt to resolve the types package first, then fallback to the regular package
match self.resolve_types_package(name, &referrer_pkg_id) { match self.resolve_types_package(name, &referrer_pkg_id) {
@ -123,10 +124,10 @@ impl NpmPackageFsResolver for GlobalNpmPackageResolver {
&self, &self,
specifier: &ModuleSpecifier, specifier: &ModuleSpecifier,
) -> Result<Option<PathBuf>, AnyError> { ) -> Result<Option<PathBuf>, AnyError> {
let Some(pkg_folder_id) = self.cache.resolve_package_folder_id_from_specifier( let Some(pkg_folder_id) = self
specifier, .cache
&self.registry_url, .resolve_package_folder_id_from_specifier(specifier, &self.registry_url)
) else { else {
return Ok(None); return Ok(None);
}; };
Ok(Some( Ok(Some(

View file

@ -110,7 +110,9 @@ impl LocalNpmPackageResolver {
&self, &self,
specifier: &ModuleSpecifier, specifier: &ModuleSpecifier,
) -> Result<Option<PathBuf>, AnyError> { ) -> Result<Option<PathBuf>, AnyError> {
let Some(relative_url) = self.root_node_modules_url.make_relative(specifier) else { let Some(relative_url) =
self.root_node_modules_url.make_relative(specifier)
else {
return Ok(None); return Ok(None);
}; };
if relative_url.starts_with("../") { if relative_url.starts_with("../") {
@ -230,7 +232,9 @@ impl NpmPackageFsResolver for LocalNpmPackageResolver {
&self, &self,
specifier: &ModuleSpecifier, specifier: &ModuleSpecifier,
) -> Result<Option<NpmPackageCacheFolderId>, AnyError> { ) -> Result<Option<NpmPackageCacheFolderId>, AnyError> {
let Some(folder_path) = self.resolve_package_folder_from_specifier(specifier)? else { let Some(folder_path) =
self.resolve_package_folder_from_specifier(specifier)?
else {
return Ok(None); return Ok(None);
}; };
let folder_name = folder_path.parent().unwrap().to_string_lossy(); let folder_name = folder_path.parent().unwrap().to_string_lossy();

View file

@ -135,9 +135,10 @@ impl CliNpmResolver {
) -> Result<Option<PathBuf>, AnyError> { ) -> Result<Option<PathBuf>, AnyError> {
let Some(path) = self let Some(path) = self
.fs_resolver .fs_resolver
.resolve_package_folder_from_specifier(specifier)? else { .resolve_package_folder_from_specifier(specifier)?
return Ok(None); else {
}; return Ok(None);
};
log::debug!( log::debug!(
"Resolved package folder of {} to {}", "Resolved package folder of {} to {}",
specifier, specifier,
@ -153,9 +154,10 @@ impl CliNpmResolver {
) -> Result<Option<NpmPackageId>, AnyError> { ) -> Result<Option<NpmPackageId>, AnyError> {
let Some(cache_folder_id) = self let Some(cache_folder_id) = self
.fs_resolver .fs_resolver
.resolve_package_cache_folder_id_from_specifier(specifier)? else { .resolve_package_cache_folder_id_from_specifier(specifier)?
return Ok(None); else {
}; return Ok(None);
};
Ok(Some( Ok(Some(
self self
.resolution .resolution

View file

@ -183,10 +183,12 @@ impl ModuleLoader for EmbeddedModuleLoader {
}; };
} }
let Some(module) = self.shared.eszip.get_module(original_specifier.as_str()) else { let Some(module) =
self.shared.eszip.get_module(original_specifier.as_str())
else {
return Box::pin(deno_core::futures::future::ready(Err(type_error( return Box::pin(deno_core::futures::future::ready(Err(type_error(
format!("Module not found: {}", original_specifier), format!("Module not found: {}", original_specifier),
)))) ))));
}; };
let original_specifier = original_specifier.clone(); let original_specifier = original_specifier.clone();
let found_specifier = let found_specifier =

View file

@ -266,15 +266,15 @@ fn fmt_with_glob_config() {
let output = cmd_output.combined_output(); let output = cmd_output.combined_output();
if cfg!(windows) { if cfg!(windows) {
assert_contains!(output, r#"glob\nested\fizz\fizz.ts"#); assert_contains!(output, r"glob\nested\fizz\fizz.ts");
assert_contains!(output, r#"glob\pages\[id].ts"#); assert_contains!(output, r"glob\pages\[id].ts");
assert_contains!(output, r#"glob\nested\fizz\bar.ts"#); assert_contains!(output, r"glob\nested\fizz\bar.ts");
assert_contains!(output, r#"glob\nested\foo\foo.ts"#); assert_contains!(output, r"glob\nested\foo\foo.ts");
assert_contains!(output, r#"glob\data\test1.js"#); assert_contains!(output, r"glob\data\test1.js");
assert_contains!(output, r#"glob\nested\foo\bar.ts"#); assert_contains!(output, r"glob\nested\foo\bar.ts");
assert_contains!(output, r#"glob\nested\foo\fizz.ts"#); assert_contains!(output, r"glob\nested\foo\fizz.ts");
assert_contains!(output, r#"glob\nested\fizz\foo.ts"#); assert_contains!(output, r"glob\nested\fizz\foo.ts");
assert_contains!(output, r#"glob\data\test1.ts"#); assert_contains!(output, r"glob\data\test1.ts");
} else { } else {
assert_contains!(output, "glob/nested/fizz/fizz.ts"); assert_contains!(output, "glob/nested/fizz/fizz.ts");
assert_contains!(output, "glob/pages/[id].ts"); assert_contains!(output, "glob/pages/[id].ts");
@ -303,15 +303,15 @@ fn fmt_with_glob_config_and_flags() {
let output = cmd_output.combined_output(); let output = cmd_output.combined_output();
if cfg!(windows) { if cfg!(windows) {
assert_contains!(output, r#"glob\nested\fizz\fizz.ts"#); assert_contains!(output, r"glob\nested\fizz\fizz.ts");
assert_contains!(output, r#"glob\pages\[id].ts"#); assert_contains!(output, r"glob\pages\[id].ts");
assert_contains!(output, r#"glob\nested\fizz\bazz.ts"#); assert_contains!(output, r"glob\nested\fizz\bazz.ts");
assert_contains!(output, r#"glob\nested\foo\foo.ts"#); assert_contains!(output, r"glob\nested\foo\foo.ts");
assert_contains!(output, r#"glob\data\test1.js"#); assert_contains!(output, r"glob\data\test1.js");
assert_contains!(output, r#"glob\nested\foo\bazz.ts"#); assert_contains!(output, r"glob\nested\foo\bazz.ts");
assert_contains!(output, r#"glob\nested\foo\fizz.ts"#); assert_contains!(output, r"glob\nested\foo\fizz.ts");
assert_contains!(output, r#"glob\nested\fizz\foo.ts"#); assert_contains!(output, r"glob\nested\fizz\foo.ts");
assert_contains!(output, r#"glob\data\test1.ts"#); assert_contains!(output, r"glob\data\test1.ts");
} else { } else {
assert_contains!(output, "glob/nested/fizz/fizz.ts"); assert_contains!(output, "glob/nested/fizz/fizz.ts");
assert_contains!(output, "glob/pages/[id].ts"); assert_contains!(output, "glob/pages/[id].ts");
@ -333,8 +333,8 @@ fn fmt_with_glob_config_and_flags() {
let output = cmd_output.combined_output(); let output = cmd_output.combined_output();
if cfg!(windows) { if cfg!(windows) {
assert_contains!(output, r#"glob\data\test1.js"#); assert_contains!(output, r"glob\data\test1.js");
assert_contains!(output, r#"glob\data\test1.ts"#); assert_contains!(output, r"glob\data\test1.ts");
} else { } else {
assert_contains!(output, "glob/data/test1.js"); assert_contains!(output, "glob/data/test1.js");
assert_contains!(output, "glob/data/test1.ts"); assert_contains!(output, "glob/data/test1.ts");

View file

@ -131,15 +131,15 @@ fn lint_with_glob_config() {
let output = cmd_output.combined_output(); let output = cmd_output.combined_output();
if cfg!(windows) { if cfg!(windows) {
assert_contains!(output, r#"glob\nested\fizz\fizz.ts:1:10"#); assert_contains!(output, r"glob\nested\fizz\fizz.ts:1:10");
assert_contains!(output, r#"glob\pages\[id].ts:1:10"#); assert_contains!(output, r"glob\pages\[id].ts:1:10");
assert_contains!(output, r#"glob\nested\fizz\bar.ts:1:10"#); assert_contains!(output, r"glob\nested\fizz\bar.ts:1:10");
assert_contains!(output, r#"glob\nested\foo\foo.ts:1:10"#); assert_contains!(output, r"glob\nested\foo\foo.ts:1:10");
assert_contains!(output, r#"glob\data\test1.js:1:10"#); assert_contains!(output, r"glob\data\test1.js:1:10");
assert_contains!(output, r#"glob\nested\foo\bar.ts:1:10"#); assert_contains!(output, r"glob\nested\foo\bar.ts:1:10");
assert_contains!(output, r#"glob\nested\foo\fizz.ts:1:10"#); assert_contains!(output, r"glob\nested\foo\fizz.ts:1:10");
assert_contains!(output, r#"glob\nested\fizz\foo.ts:1:10"#); assert_contains!(output, r"glob\nested\fizz\foo.ts:1:10");
assert_contains!(output, r#"glob\data\test1.ts:1:10"#); assert_contains!(output, r"glob\data\test1.ts:1:10");
} else { } else {
assert_contains!(output, "glob/nested/fizz/fizz.ts:1:10"); assert_contains!(output, "glob/nested/fizz/fizz.ts:1:10");
assert_contains!(output, "glob/pages/[id].ts:1:10"); assert_contains!(output, "glob/pages/[id].ts:1:10");
@ -168,15 +168,15 @@ fn lint_with_glob_config_and_flags() {
let output = cmd_output.combined_output(); let output = cmd_output.combined_output();
if cfg!(windows) { if cfg!(windows) {
assert_contains!(output, r#"glob\nested\fizz\fizz.ts:1:10"#); assert_contains!(output, r"glob\nested\fizz\fizz.ts:1:10");
assert_contains!(output, r#"glob\pages\[id].ts:1:10"#); assert_contains!(output, r"glob\pages\[id].ts:1:10");
assert_contains!(output, r#"glob\nested\fizz\bazz.ts:1:10"#); assert_contains!(output, r"glob\nested\fizz\bazz.ts:1:10");
assert_contains!(output, r#"glob\nested\foo\foo.ts:1:10"#); assert_contains!(output, r"glob\nested\foo\foo.ts:1:10");
assert_contains!(output, r#"glob\data\test1.js:1:10"#); assert_contains!(output, r"glob\data\test1.js:1:10");
assert_contains!(output, r#"glob\nested\foo\bazz.ts:1:10"#); assert_contains!(output, r"glob\nested\foo\bazz.ts:1:10");
assert_contains!(output, r#"glob\nested\foo\fizz.ts:1:10"#); assert_contains!(output, r"glob\nested\foo\fizz.ts:1:10");
assert_contains!(output, r#"glob\nested\fizz\foo.ts:1:10"#); assert_contains!(output, r"glob\nested\fizz\foo.ts:1:10");
assert_contains!(output, r#"glob\data\test1.ts:1:10"#); assert_contains!(output, r"glob\data\test1.ts:1:10");
} else { } else {
assert_contains!(output, "glob/nested/fizz/fizz.ts:1:10"); assert_contains!(output, "glob/nested/fizz/fizz.ts:1:10");
assert_contains!(output, "glob/pages/[id].ts:1:10"); assert_contains!(output, "glob/pages/[id].ts:1:10");
@ -200,8 +200,8 @@ fn lint_with_glob_config_and_flags() {
let output = cmd_output.combined_output(); let output = cmd_output.combined_output();
if cfg!(windows) { if cfg!(windows) {
assert_contains!(output, r#"glob\data\test1.js:1:10"#); assert_contains!(output, r"glob\data\test1.js:1:10");
assert_contains!(output, r#"glob\data\test1.ts:1:10"#); assert_contains!(output, r"glob\data\test1.ts:1:10");
} else { } else {
assert_contains!(output, "glob/data/test1.js:1:10"); assert_contains!(output, "glob/data/test1.js:1:10");
assert_contains!(output, "glob/data/test1.ts:1:10"); assert_contains!(output, "glob/data/test1.ts:1:10");

View file

@ -3685,7 +3685,7 @@ fn lsp_find_references() {
"uri": "file:///a/mod.ts", "uri": "file:///a/mod.ts",
"languageId": "typescript", "languageId": "typescript",
"version": 1, "version": 1,
"text": r#"export const a = 1;\nconst b = 2;"# "text": r"export const a = 1;\nconst b = 2;"
} }
})); }));
client.did_open(json!({ client.did_open(json!({

View file

@ -242,7 +242,7 @@ fn pty_internal_repl() {
fn pty_emoji() { fn pty_emoji() {
// windows was having issues displaying this // windows was having issues displaying this
util::with_pty(&["repl"], |mut console| { util::with_pty(&["repl"], |mut console| {
console.write_line(r#"console.log('\u{1F995}');"#); console.write_line(r"console.log('\u{1F995}');");
console.expect("🦕"); console.expect("🦕");
}); });
} }

View file

@ -229,7 +229,7 @@ impl<'a> Iterator for StartEventQueue<'a> {
let mut result = self.queue.next().unwrap(); let mut result = self.queue.next().unwrap();
if pending_offset == queue_offset { if pending_offset == queue_offset {
let pending_trees = self.pending.take().unwrap().trees; let pending_trees = self.pending.take().unwrap().trees;
result.trees.extend(pending_trees.into_iter()) result.trees.extend(pending_trees)
} }
Some(result) Some(result)
} }
@ -338,7 +338,7 @@ fn merge_range_tree_children<'a>(
let child_forests: Vec<Vec<&'a mut RangeTree<'a>>> = flat_children let child_forests: Vec<Vec<&'a mut RangeTree<'a>>> = flat_children
.into_iter() .into_iter()
.zip(wrapped_children.into_iter()) .zip(wrapped_children)
.map(|(flat, wrapped)| merge_children_lists(flat, wrapped)) .map(|(flat, wrapped)| merge_children_lists(flat, wrapped))
.collect(); .collect();

View file

@ -16,7 +16,7 @@ pub fn construct_v8_flags(
) -> Vec<String> { ) -> Vec<String> {
std::iter::once("UNUSED_BUT_NECESSARY_ARG0".to_owned()) std::iter::once("UNUSED_BUT_NECESSARY_ARG0".to_owned())
.chain(default_v8_flags.iter().cloned()) .chain(default_v8_flags.iter().cloned())
.chain(env_v8_flags.into_iter()) .chain(env_v8_flags)
.chain(v8_flags.iter().cloned()) .chain(v8_flags.iter().cloned())
.collect::<Vec<_>>() .collect::<Vec<_>>()
} }

View file

@ -507,11 +507,13 @@ impl CliMainWorkerFactory {
return Ok(None); return Ok(None);
} }
let Some(resolution) = self.shared.node_resolver.resolve_npm_req_reference( let Some(resolution) =
package_ref, self.shared.node_resolver.resolve_npm_req_reference(
NodeResolutionMode::Execution, package_ref,
permissions, NodeResolutionMode::Execution,
)? else { permissions,
)?
else {
return Ok(None); return Ok(None);
}; };
match &resolution { match &resolution {

View file

@ -377,7 +377,7 @@ pub(crate) fn format_error(e: dlopen::Error, path: String) -> String {
let path = OsStr::new(&path) let path = OsStr::new(&path)
.encode_wide() .encode_wide()
.chain(Some(0).into_iter()) .chain(Some(0))
.collect::<Vec<_>>(); .collect::<Vec<_>>();
let arguments = [path.as_ptr()]; let arguments = [path.as_ptr()];

View file

@ -10,7 +10,6 @@ use deno_core::op;
use deno_core::serde_v8; use deno_core::serde_v8;
use deno_core::v8; use deno_core::v8;
use deno_core::ResourceId; use deno_core::ResourceId;
use std::ffi::c_void;
use std::ptr; use std::ptr;
#[op(v8)] #[op(v8)]
@ -147,7 +146,7 @@ pub fn op_ffi_get_static<'scope>(
} }
NativeType::Pointer | NativeType::Function | NativeType::Buffer => { NativeType::Pointer | NativeType::Function | NativeType::Buffer => {
let external: v8::Local<v8::Value> = let external: v8::Local<v8::Value> =
v8::External::new(scope, data_ptr as *mut c_void).into(); v8::External::new(scope, data_ptr).into();
external.into() external.into()
} }
NativeType::Struct(_) => { NativeType::Struct(_) => {

View file

@ -962,14 +962,14 @@ where
#[smi] #[smi]
pub fn op_http_try_wait(state: &mut OpState, #[smi] rid: ResourceId) -> SlabId { pub fn op_http_try_wait(state: &mut OpState, #[smi] rid: ResourceId) -> SlabId {
// The resource needs to exist. // The resource needs to exist.
let Ok(join_handle) = state let Ok(join_handle) = state.resource_table.get::<HttpJoinHandle>(rid) else {
.resource_table return SlabId::MAX;
.get::<HttpJoinHandle>(rid) else {
return SlabId::MAX;
}; };
// If join handle is somehow locked, just abort. // If join handle is somehow locked, just abort.
let Some(mut handle) = RcRef::map(&join_handle, |this| &this.2).try_borrow_mut() else { let Some(mut handle) =
RcRef::map(&join_handle, |this| &this.2).try_borrow_mut()
else {
return SlabId::MAX; return SlabId::MAX;
}; };

View file

@ -290,7 +290,9 @@ impl Body for ResponseBytes {
unreachable!() unreachable!()
} }
ResponseBytesInner::Bytes(..) => { ResponseBytesInner::Bytes(..) => {
let ResponseBytesInner::Bytes(data) = self.complete(true) else { unreachable!(); }; let ResponseBytesInner::Bytes(data) = self.complete(true) else {
unreachable!();
};
return std::task::Poll::Ready(Some(Ok(Frame::data(data)))); return std::task::Poll::Ready(Some(Ok(Frame::data(data))));
} }
ResponseBytesInner::UncompressedStream(stm) => { ResponseBytesInner::UncompressedStream(stm) => {

View file

@ -494,9 +494,15 @@ async fn call_remote<
// `unwrap()` never fails because `tx` is owned by the task held by `refresher`. // `unwrap()` never fails because `tx` is owned by the task held by `refresher`.
metadata_rx.changed().await.unwrap(); metadata_rx.changed().await.unwrap();
}; };
let Some(sc_endpoint) = metadata.endpoints.iter().find(|x| x.consistency == "strong") else { let Some(sc_endpoint) = metadata
return Err(type_error("No strong consistency endpoint is available for this database")); .endpoints
}; .iter()
.find(|x| x.consistency == "strong")
else {
return Err(type_error(
"No strong consistency endpoint is available for this database",
));
};
let full_url = format!("{}/{}", sc_endpoint.url, method); let full_url = format!("{}/{}", sc_endpoint.url, method);
{ {

View file

@ -355,7 +355,7 @@ impl SqliteDb {
spawn_blocking(move || { spawn_blocking(move || {
let mut db = db.try_lock().ok(); let mut db = db.try_lock().ok();
let Some(db) = db.as_mut().and_then(|x| x.as_mut()) else { let Some(db) = db.as_mut().and_then(|x| x.as_mut()) else {
return Err(type_error(ERROR_USING_CLOSED_DATABASE)) return Err(type_error(ERROR_USING_CLOSED_DATABASE));
}; };
let result = match db.transaction() { let result = match db.transaction() {
Ok(tx) => f(tx), Ok(tx) => f(tx),
@ -626,16 +626,17 @@ impl SqliteQueue {
tx: &rusqlite::Transaction<'_>, tx: &rusqlite::Transaction<'_>,
) -> Result<bool, AnyError> { ) -> Result<bool, AnyError> {
let Some((_, id, data, backoff_schedule, keys_if_undelivered)) = tx let Some((_, id, data, backoff_schedule, keys_if_undelivered)) = tx
.prepare_cached(STATEMENT_QUEUE_GET_RUNNING_BY_ID)? .prepare_cached(STATEMENT_QUEUE_GET_RUNNING_BY_ID)?
.query_row([id], |row| { .query_row([id], |row| {
let deadline: u64 = row.get(0)?; let deadline: u64 = row.get(0)?;
let id: String = row.get(1)?; let id: String = row.get(1)?;
let data: Vec<u8> = row.get(2)?; let data: Vec<u8> = row.get(2)?;
let backoff_schedule: String = row.get(3)?; let backoff_schedule: String = row.get(3)?;
let keys_if_undelivered: String = row.get(4)?; let keys_if_undelivered: String = row.get(4)?;
Ok((deadline, id, data, backoff_schedule, keys_if_undelivered)) Ok((deadline, id, data, backoff_schedule, keys_if_undelivered))
}) })
.optional()? else { .optional()?
else {
return Ok(false); return Ok(false);
}; };
@ -926,7 +927,9 @@ fn mutate_le64(
mutate: impl FnOnce(u64, u64) -> u64, mutate: impl FnOnce(u64, u64) -> u64,
) -> Result<(), AnyError> { ) -> Result<(), AnyError> {
let Value::U64(operand) = *operand else { let Value::U64(operand) = *operand else {
return Err(type_error(format!("Failed to perform '{op_name}' mutation on a non-U64 operand"))); return Err(type_error(format!(
"Failed to perform '{op_name}' mutation on a non-U64 operand"
)));
}; };
let old_value = tx let old_value = tx

View file

@ -264,7 +264,9 @@ fn is_managed_key(
} }
fn current_mode(scope: &mut v8::HandleScope) -> Mode { fn current_mode(scope: &mut v8::HandleScope) -> Mode {
let Some(v8_string) = v8::StackTrace::current_script_name_or_source_url(scope) else { let Some(v8_string) =
v8::StackTrace::current_script_name_or_source_url(scope)
else {
return Mode::Deno; return Mode::Deno;
}; };
let op_state = deno_core::JsRuntime::op_state_from(scope); let op_state = deno_core::JsRuntime::op_state_from(scope);
@ -375,7 +377,8 @@ pub fn query<'s>(
return; return;
}; };
let Some(attributes) = inner.get_property_attributes(scope, key.into()) else { let Some(attributes) = inner.get_property_attributes(scope, key.into())
else {
return; return;
}; };
@ -429,7 +432,9 @@ pub fn enumerator<'s>(
}; };
let inner = v8::Local::new(scope, inner); let inner = v8::Local::new(scope, inner);
let Some(array) = inner.get_property_names(scope, GetPropertyNamesArgs::default()) else { let Some(array) =
inner.get_property_names(scope, GetPropertyNamesArgs::default())
else {
return; return;
}; };

View file

@ -230,31 +230,27 @@ fn x509name_to_string(
) -> Result<String, x509_parser::error::X509Error> { ) -> Result<String, x509_parser::error::X509Error> {
// Lifted from https://github.com/rusticata/x509-parser/blob/4d618c2ed6b1fc102df16797545895f7c67ee0fe/src/x509.rs#L543-L566 // Lifted from https://github.com/rusticata/x509-parser/blob/4d618c2ed6b1fc102df16797545895f7c67ee0fe/src/x509.rs#L543-L566
// since it's a private function (Copyright 2017 Pierre Chifflier) // since it's a private function (Copyright 2017 Pierre Chifflier)
name.iter_rdn().fold(Ok(String::new()), |acc, rdn| { name.iter_rdn().try_fold(String::new(), |acc, rdn| {
acc.and_then(|mut _vec| { rdn
rdn .iter()
.iter() .try_fold(String::new(), |acc2, attr| {
.fold(Ok(String::new()), |acc2, attr| { let val_str =
acc2.and_then(|mut _vec2| { attribute_value_to_string(attr.attr_value(), attr.attr_type())?;
let val_str = // look ABBREV, and if not found, use shortname
attribute_value_to_string(attr.attr_value(), attr.attr_type())?; let abbrev = match oid2abbrev(attr.attr_type(), oid_registry) {
// look ABBREV, and if not found, use shortname Ok(s) => String::from(s),
let abbrev = match oid2abbrev(attr.attr_type(), oid_registry) { _ => format!("{:?}", attr.attr_type()),
Ok(s) => String::from(s), };
_ => format!("{:?}", attr.attr_type()), let rdn = format!("{}={}", abbrev, val_str);
}; match acc2.len() {
let rdn = format!("{}={}", abbrev, val_str); 0 => Ok(rdn),
match _vec2.len() { _ => Ok(acc2 + " + " + rdn.as_str()),
0 => Ok(rdn), }
_ => Ok(_vec2 + " + " + rdn.as_str()), })
} .map(|v| match acc.len() {
}) 0 => v,
}) _ => acc + "\n" + v.as_str(),
.map(|v| match _vec.len() { })
0 => v,
_ => _vec + "\n" + v.as_str(),
})
})
}) })
} }

View file

@ -1053,9 +1053,10 @@ impl NodeResolver {
// ResolveSelf // ResolveSelf
let Some(package_config) = let Some(package_config) =
self.get_package_scope_config(referrer, permissions)? else { self.get_package_scope_config(referrer, permissions)?
return Ok(None); else {
}; return Ok(None);
};
if package_config.exists if package_config.exists
&& package_config.name.as_ref() == Some(&package_name) && package_config.name.as_ref() == Some(&package_name)
{ {
@ -1132,9 +1133,10 @@ impl NodeResolver {
) -> Result<Option<PackageJson>, AnyError> { ) -> Result<Option<PackageJson>, AnyError> {
let Some(root_folder) = self let Some(root_folder) = self
.npm_resolver .npm_resolver
.resolve_package_folder_from_path(&referrer.to_file_path().unwrap())? else { .resolve_package_folder_from_path(&referrer.to_file_path().unwrap())?
return Ok(None); else {
}; return Ok(None);
};
let package_json_path = root_folder.join("package.json"); let package_json_path = root_folder.join("package.json");
self self
.load_package_json(permissions, package_json_path) .load_package_json(permissions, package_json_path)
@ -1146,7 +1148,8 @@ impl NodeResolver {
url: &ModuleSpecifier, url: &ModuleSpecifier,
permissions: &dyn NodePermissions, permissions: &dyn NodePermissions,
) -> Result<Option<PackageJson>, AnyError> { ) -> Result<Option<PackageJson>, AnyError> {
let Some(package_json_path) = self.get_closest_package_json_path(url)? else { let Some(package_json_path) = self.get_closest_package_json_path(url)?
else {
return Ok(None); return Ok(None);
}; };
self self
@ -1169,9 +1172,10 @@ impl NodeResolver {
} }
let Some(root_pkg_folder) = self let Some(root_pkg_folder) = self
.npm_resolver .npm_resolver
.resolve_package_folder_from_path(current_dir)? else { .resolve_package_folder_from_path(current_dir)?
return Ok(None); else {
}; return Ok(None);
};
while current_dir.starts_with(&root_pkg_folder) { while current_dir.starts_with(&root_pkg_folder) {
current_dir = current_dir.parent().unwrap(); current_dir = current_dir.parent().unwrap();
let package_json_path = current_dir.join("package.json"); let package_json_path = current_dir.join("package.json");

View file

@ -183,7 +183,8 @@ pub fn op_readable_stream_resource_get_sink(
state: &mut OpState, state: &mut OpState,
#[smi] rid: ResourceId, #[smi] rid: ResourceId,
) -> *const c_void { ) -> *const c_void {
let Ok(resource) = state.resource_table.get::<ReadableStreamResource>(rid) else { let Ok(resource) = state.resource_table.get::<ReadableStreamResource>(rid)
else {
return std::ptr::null(); return std::ptr::null();
}; };
resource.data.tx as _ resource.data.tx as _

View file

@ -581,7 +581,8 @@ pub async fn op_ws_next_event(
let Ok(resource) = state let Ok(resource) = state
.borrow_mut() .borrow_mut()
.resource_table .resource_table
.get::<ServerWebSocket>(rid) else { .get::<ServerWebSocket>(rid)
else {
// op_ws_get_error will correctly handle a bad resource // op_ws_get_error will correctly handle a bad resource
return MessageKind::Error as u16; return MessageKind::Error as u16;
}; };

View file

@ -579,7 +579,7 @@ mod deprecated {
#[cfg(unix)] #[cfg(unix)]
let signal = run_status.signal(); let signal = run_status.signal();
#[cfg(not(unix))] #[cfg(not(unix))]
let signal = None; let signal = Default::default();
code code
.or(signal) .or(signal)

View file

@ -1,3 +1,3 @@
[toolchain] [toolchain]
channel = "1.71.0" channel = "1.72.0"
components = ["rustfmt", "clippy"] components = ["rustfmt", "clippy"]

View file

@ -1228,11 +1228,14 @@ async fn main_server(
let body = hyper::body::to_bytes(req.into_body()) let body = hyper::body::to_bytes(req.into_body())
.await .await
.unwrap_or_default(); .unwrap_or_default();
let Ok(body): Result<SnapshotRead, _> = prost::Message::decode(&body[..]) else { let Ok(body): Result<SnapshotRead, _> = prost::Message::decode(&body[..])
return Ok(Response::builder() else {
.status(StatusCode::BAD_REQUEST) return Ok(
.body(Body::empty()) Response::builder()
.unwrap()); .status(StatusCode::BAD_REQUEST)
.body(Body::empty())
.unwrap(),
);
}; };
if body.ranges.is_empty() { if body.ranges.is_empty() {
return Ok( return Ok(
@ -1280,11 +1283,14 @@ async fn main_server(
let body = hyper::body::to_bytes(req.into_body()) let body = hyper::body::to_bytes(req.into_body())
.await .await
.unwrap_or_default(); .unwrap_or_default();
let Ok(_body): Result<AtomicWrite, _> = prost::Message::decode(&body[..]) else { let Ok(_body): Result<AtomicWrite, _> = prost::Message::decode(&body[..])
return Ok(Response::builder() else {
.status(StatusCode::BAD_REQUEST) return Ok(
.body(Body::empty()) Response::builder()
.unwrap()); .status(StatusCode::BAD_REQUEST)
.body(Body::empty())
.unwrap(),
);
}; };
Ok( Ok(
Response::builder() Response::builder()