diff --git a/.github/workflows/ci.generate.ts b/.github/workflows/ci.generate.ts index aca1b7b994..823e2defd9 100755 --- a/.github/workflows/ci.generate.ts +++ b/.github/workflows/ci.generate.ts @@ -5,7 +5,7 @@ import * as yaml from "https://deno.land/std@0.173.0/encoding/yaml.ts"; // 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 = 54; +const cacheVersion = 55; const Runners = (() => { const ubuntuRunner = "ubuntu-22.04"; diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 434ce5262e..311d6c0a0c 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -315,8 +315,8 @@ jobs: path: |- ~/.cargo/registry/index ~/.cargo/registry/cache - key: '54-cargo-home-${{ matrix.os }}-${{ hashFiles(''Cargo.lock'') }}' - restore-keys: '54-cargo-home-${{ matrix.os }}' + key: '55-cargo-home-${{ matrix.os }}-${{ hashFiles(''Cargo.lock'') }}' + restore-keys: '55-cargo-home-${{ matrix.os }}' if: '!(github.event_name == ''pull_request'' && matrix.skip_pr)' - name: Restore cache build output (PR) uses: actions/cache/restore@v3 @@ -328,7 +328,7 @@ jobs: !./target/*/*.zip !./target/*/*.tar.gz key: never_saved - restore-keys: '54-cargo-target-${{ matrix.os }}-${{ matrix.profile }}-${{ matrix.job }}-' + restore-keys: '55-cargo-target-${{ matrix.os }}-${{ matrix.profile }}-${{ matrix.job }}-' - name: Apply and update mtime cache if: '!(github.event_name == ''pull_request'' && matrix.skip_pr) && (!startsWith(github.ref, ''refs/tags/''))' uses: ./.github/mtime_cache @@ -616,7 +616,7 @@ jobs: !./target/*/gn_out !./target/*/*.zip !./target/*/*.tar.gz - key: '54-cargo-target-${{ matrix.os }}-${{ matrix.profile }}-${{ matrix.job }}-${{ github.sha }}' + key: '55-cargo-target-${{ matrix.os }}-${{ matrix.profile }}-${{ matrix.job }}-${{ github.sha }}' publish-canary: name: publish canary runs-on: ubuntu-22.04 diff --git a/cli/errors.rs b/cli/errors.rs index 4ea0e000af..f867ebbccd 100644 --- a/cli/errors.rs +++ b/cli/errors.rs @@ -15,6 +15,7 @@ use deno_graph::ModuleError; use deno_graph::ModuleGraphError; use deno_graph::ResolutionError; use import_map::ImportMapError; +use std::fmt::Write; fn get_import_map_error_class(_: &ImportMapError) -> &'static str { "URIError" @@ -70,7 +71,10 @@ pub fn get_error_class_name(e: &AnyError) -> &'static str { log::warn!( "Error '{}' contains boxed error of unknown type:{}", e, - e.chain().map(|e| format!("\n {e:?}")).collect::() + e.chain().fold(String::new(), |mut output, e| { + let _ = write!(output, "\n {e:?}"); + output + }) ); } "Error" diff --git a/cli/tools/bench/mitata.rs b/cli/tools/bench/mitata.rs index 1e20e40168..7ddea6f823 100644 --- a/cli/tools/bench/mitata.rs +++ b/cli/tools/bench/mitata.rs @@ -149,8 +149,7 @@ pub mod cpu { } pub fn linux() -> String { - let info = - std::fs::read_to_string("/proc/cpuinfo").unwrap_or(String::new()); + let info = std::fs::read_to_string("/proc/cpuinfo").unwrap_or_default(); for line in info.lines() { let mut iter = line.split(':'); diff --git a/cli/tools/bench/mod.rs b/cli/tools/bench/mod.rs index 1c44c8b3c1..454a971266 100644 --- a/cli/tools/bench/mod.rs +++ b/cli/tools/bench/mod.rs @@ -244,7 +244,6 @@ async fn bench_specifiers( let join_handles = specifiers.into_iter().map(move |specifier| { let worker_factory = worker_factory.clone(); let permissions = permissions.clone(); - let specifier = specifier; let sender = sender.clone(); let options = option_for_handles.clone(); spawn_blocking(move || { diff --git a/cli/tools/coverage/merge.rs b/cli/tools/coverage/merge.rs index 0a436acfb8..c7f9b15244 100644 --- a/cli/tools/coverage/merge.rs +++ b/cli/tools/coverage/merge.rs @@ -26,7 +26,7 @@ pub fn merge_processes( for script_cov in process_cov.result { url_to_scripts .entry(script_cov.url.clone()) - .or_insert_with(Vec::new) + .or_default() .push(script_cov); } } @@ -66,10 +66,7 @@ pub fn merge_scripts( end: root_range_cov.end_char_offset, } }; - range_to_funcs - .entry(root_range) - .or_insert_with(Vec::new) - .push(func_cov); + range_to_funcs.entry(root_range).or_default().push(func_cov); } } @@ -103,11 +100,7 @@ impl Ord for CharRange { impl PartialOrd for CharRange { fn partial_cmp(&self, other: &Self) -> Option<::std::cmp::Ordering> { - if self.start != other.start { - self.start.partial_cmp(&other.start) - } else { - other.end.partial_cmp(&self.end) - } + Some(self.cmp(other)) } } @@ -167,7 +160,7 @@ fn into_start_events<'a>(trees: Vec<&'a mut RangeTree<'a>>) -> Vec { for child in tree.children.drain(..) { result .entry(child.start) - .or_insert_with(Vec::new) + .or_default() .push((parent_index, child)); } } @@ -294,7 +287,7 @@ fn merge_range_tree_children<'a>( }; parent_to_nested .entry(parent_index) - .or_insert_with(Vec::new) + .or_default() .push(child); } } @@ -312,10 +305,7 @@ fn merge_range_tree_children<'a>( flat_children[parent_index].push(tree); continue; } - parent_to_nested - .entry(parent_index) - .or_insert_with(Vec::new) - .push(tree); + parent_to_nested.entry(parent_index).or_default().push(tree); } start_event_queue.set_pending_offset(open_range_end); open_range = Some(CharRange { diff --git a/cli/tools/jupyter/server.rs b/cli/tools/jupyter/server.rs index 0b8d25c3ee..391d202fd5 100644 --- a/cli/tools/jupyter/server.rs +++ b/cli/tools/jupyter/server.rs @@ -416,9 +416,7 @@ impl JupyterServer { // Otherwise, executing multiple cells one-by-one might lead to output // from various cells be grouped together in another cell result. tokio::time::sleep(std::time::Duration::from_millis(5)).await; - } else { - let exception_details = exception_details.unwrap(); - + } else if let Some(exception_details) = exception_details { // Determine the exception value and name let (name, message, stack) = if let Some(exception) = exception_details.exception { diff --git a/cli/util/fs.rs b/cli/util/fs.rs index 93403659a7..9aeeb62ccb 100644 --- a/cli/util/fs.rs +++ b/cli/util/fs.rs @@ -9,6 +9,7 @@ use deno_runtime::deno_crypto::rand; use deno_runtime::deno_node::PathClean; use std::borrow::Cow; use std::env::current_dir; +use std::fmt::Write as FmtWrite; use std::fs::OpenOptions; use std::io::Error; use std::io::ErrorKind; @@ -57,9 +58,10 @@ pub fn atomic_write_file>( fn inner(file_path: &Path, data: &[u8], mode: u32) -> std::io::Result<()> { let temp_file_path = { - let rand: String = (0..4) - .map(|_| format!("{:02x}", rand::random::())) - .collect(); + let rand: String = (0..4).fold(String::new(), |mut output, _| { + let _ = write!(output, "{:02x}", rand::random::()); + output + }); let extension = format!("{rand}.tmp"); file_path.with_extension(extension) }; diff --git a/ext/node/resolution.rs b/ext/node/resolution.rs index 8b09077b60..3bc7537aca 100644 --- a/ext/node/resolution.rs +++ b/ext/node/resolution.rs @@ -654,7 +654,7 @@ impl NodeResolver { if !is_url { let export_target = if pattern { pattern_re - .replace(&target, |_caps: ®ex::Captures| subpath.clone()) + .replace(&target, |_caps: ®ex::Captures| subpath) .to_string() } else { format!("{target}{subpath}") @@ -722,9 +722,7 @@ impl NodeResolver { if pattern { let resolved_path_str = resolved_path.to_string_lossy(); let replaced = pattern_re - .replace(&resolved_path_str, |_caps: ®ex::Captures| { - subpath.clone() - }); + .replace(&resolved_path_str, |_caps: ®ex::Captures| subpath); return Ok(PathBuf::from(replaced.to_string())); } Ok(resolved_path.join(subpath).clean()) @@ -777,8 +775,8 @@ impl NodeResolver { let resolved_result = self.resolve_package_target( package_json_path, target_item.to_owned(), - subpath.clone(), - package_subpath.clone(), + subpath, + package_subpath, referrer, referrer_kind, pattern, @@ -826,8 +824,8 @@ impl NodeResolver { let resolved = self.resolve_package_target( package_json_path, condition_target, - subpath.clone(), - package_subpath.clone(), + subpath, + package_subpath, referrer, referrer_kind, pattern, diff --git a/rust-toolchain.toml b/rust-toolchain.toml index b36fa2701c..b44c3df5f6 100644 --- a/rust-toolchain.toml +++ b/rust-toolchain.toml @@ -1,3 +1,3 @@ [toolchain] -channel = "1.72.1" +channel = "1.73.0" components = ["rustfmt", "clippy"]