Task #108012 - openshell-0.0.21-1.20260407002617882653.pr22.84.gaa1ae57/scan-results.err
back to task #108012download
Error: CLIPPY_WARNING:
crates/openshell-bootstrap/src/container_runtime.rs:6:5: warning: item in documentation is missing backticks
# |
# 6 | //! OpenShell supports both Docker and Podman as container runtimes. This module
# | ^^^^^^^^^
# |
# = help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.94.0/index.html#doc_markdown
# = note: `-W clippy::doc-markdown` implied by `-W clippy::pedantic`
# = help: to override `-W clippy::pedantic` add `#[allow(clippy::doc_markdown)]`
# help: try
# |
# 6 - //! OpenShell supports both Docker and Podman as container runtimes. This module
# 6 + //! `OpenShell` supports both Docker and Podman as container runtimes. This module
# |
Error: CLIPPY_WARNING:
crates/openshell-bootstrap/src/container_runtime.rs:85:1: warning: this `impl` can be derived
# |
# 85 | / impl Default for ContainerRuntime {
# 86 | | fn default() -> Self {
# 87 | | Self::Docker
# 88 | | }
# 89 | | }
# | |_^
# |
# = help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.94.0/index.html#derivable_impls
# = note: `-W clippy::derivable-impls` implied by `-W clippy::all`
# = help: to override `-W clippy::all` add `#[allow(clippy::derivable_impls)]`
# help: replace the manual implementation with a derive attribute and mark the default variant
# |
# 34 + #[derive(Default)]
# 35 | pub enum ContainerRuntime {
# 36 ~ #[default]
# 37 ~ Docker,
# |
Error: CLIPPY_WARNING:
crates/openshell-bootstrap/src/container_runtime.rs:185:5: warning: this `if` statement can be collapsed
# |
# 185 | / if let Ok(docker_host) = std::env::var("DOCKER_HOST") {
# 186 | | if docker_host.starts_with("tcp://") || docker_host.starts_with("ssh://") {
# 187 | | return true;
# 188 | | }
# 189 | | }
# | |_____^
# |
# = help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.94.0/index.html#collapsible_if
# = note: `-W clippy::collapsible-if` implied by `-W clippy::all`
# = help: to override `-W clippy::all` add `#[allow(clippy::collapsible_if)]`
# help: collapse nested if block
# |
# 185 ~ if let Ok(docker_host) = std::env::var("DOCKER_HOST")
# 186 ~ && (docker_host.starts_with("tcp://") || docker_host.starts_with("ssh://")) {
# 187 | return true;
# 188 ~ }
# |
Error: CLIPPY_WARNING:
crates/openshell-bootstrap/src/container_runtime.rs:265:5: warning: this `if` statement can be collapsed
# |
# 265 | / if let Ok(docker_host) = std::env::var("DOCKER_HOST") {
# 266 | | if let Some(path) = docker_host.strip_prefix("unix://") {
# 267 | | push_if_socket_exists(&mut found, path);
# 268 | | }
# 269 | | }
# | |_____^
# |
# = help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.94.0/index.html#collapsible_if
# help: collapse nested if block
# |
# 265 ~ if let Ok(docker_host) = std::env::var("DOCKER_HOST")
# 266 ~ && let Some(path) = docker_host.strip_prefix("unix://") {
# 267 | push_if_socket_exists(&mut found, path);
# 268 ~ }
# |
Error: CLIPPY_WARNING:
crates/openshell-bootstrap/src/docker.rs:51:1: warning: pub(crate) function inside private module
# |
# 51 | pub(crate) fn resolve_gpu_device_ids(
# | ----------^^^^^^^^^^^^^^^^^^^^^^^^^^
# | |
# | help: consider using: `pub`
# |
# = help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.94.0/index.html#redundant_pub_crate
# = note: `-W clippy::redundant-pub-crate` implied by `-W clippy::nursery`
# = help: to override `-W clippy::nursery` add `#[allow(clippy::redundant_pub_crate)]`
Error: CLIPPY_WARNING:
crates/openshell-bootstrap/src/docker.rs:198:1: warning: pub(crate) function inside private module
# |
# 198 | pub(crate) fn connect_local(runtime: ContainerRuntime) -> Result<Docker> {
# | ----------^^^^^^^^^^^^^^^^^
# | |
# | help: consider using: `pub`
# |
# = help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.94.0/index.html#redundant_pub_crate
Error: CLIPPY_WARNING:
crates/openshell-bootstrap/src/docker.rs:211:13: warning: this `if` statement can be collapsed
# |
# 211 | / if let Ok(host) = std::env::var("CONTAINER_HOST") {
# 212 | | if let Some(path) = host.strip_prefix("unix://") {
# 213 | | return Docker::connect_with_socket(path, 120, API_DEFAULT_VERSION).map_err(
# 214 | | |err| {
# ... |
# 223 | | }
# | |_____________^
# |
# = help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.94.0/index.html#collapsible_if
# help: collapse nested if block
# |
# 211 ~ if let Ok(host) = std::env::var("CONTAINER_HOST")
# 212 ~ && let Some(path) = host.strip_prefix("unix://") {
# 213 | return Docker::connect_with_socket(path, 120, API_DEFAULT_VERSION).map_err(
# ...
# 221 | );
# 222 ~ }
# |
Error: CLIPPY_WARNING:
crates/openshell-bootstrap/src/docker.rs:226:13: warning: this `if` statement can be collapsed
# |
# 226 | / if let Ok(host) = std::env::var("DOCKER_HOST") {
# 227 | | if let Some(path) = host.strip_prefix("unix://") {
# 228 | | return Docker::connect_with_socket(path, 120, API_DEFAULT_VERSION).map_err(
# 229 | | |err| {
# ... |
# 238 | | }
# | |_____________^
# |
# = help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.94.0/index.html#collapsible_if
# help: collapse nested if block
# |
# 226 ~ if let Ok(host) = std::env::var("DOCKER_HOST")
# 227 ~ && let Some(path) = host.strip_prefix("unix://") {
# 228 | return Docker::connect_with_socket(path, 120, API_DEFAULT_VERSION).map_err(
# ...
# 236 | );
# 237 ~ }
# |
Error: CLIPPY_WARNING:
crates/openshell-bootstrap/src/docker.rs:287:24: warning: variables can be used directly in the `format!` string
# |
# 287 | hints.push(format!(
# | ________________________^
# 288 | | "No container runtime socket found and {} is not set.",
# 289 | | host_env
# 290 | | ));
# | |_____________^
# |
# = help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.94.0/index.html#uninlined_format_args
# = note: `-W clippy::uninlined-format-args` implied by `-W clippy::pedantic`
# = help: to override `-W clippy::pedantic` add `#[allow(clippy::uninlined_format_args)]`
Error: CLIPPY_WARNING:
crates/openshell-bootstrap/src/docker.rs:313:19: warning: called `unwrap` on `env_val` after checking its variant with `is_none`
# |
# 283 | if env_val.is_none() {
# | -------------------- help: try: `if let Some(<item>) = env_val`
# ...
# 313 | let val = env_val.unwrap();
# | ^^^^^^^^^^^^^^^^
# |
# = help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.94.0/index.html#unnecessary_unwrap
# = note: `-W clippy::unnecessary-unwrap` implied by `-W clippy::all`
# = help: to override `-W clippy::all` add `#[allow(clippy::unnecessary_unwrap)]`
Error: CLIPPY_WARNING:
crates/openshell-bootstrap/src/docker.rs:403:44: warning: this `map_or` can be simplified
# |
# 403 | .filter(|c| is_gateway_image(c) && port.map_or(true, |p| has_port(c, p)))
# | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
# |
# = help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.94.0/index.html#unnecessary_map_or
# = note: `-W clippy::unnecessary-map-or` implied by `-W clippy::all`
# = help: to override `-W clippy::all` add `#[allow(clippy::unnecessary_map_or)]`
# help: use is_none_or instead
# |
# 403 - .filter(|c| is_gateway_image(c) && port.map_or(true, |p| has_port(c, p)))
# 403 + .filter(|c| is_gateway_image(c) && port.is_none_or(|p| has_port(c, p)))
# |
Error: CLIPPY_WARNING:
crates/openshell-bootstrap/src/docker.rs:409:24: warning: use Option::map_or_else instead of an if let/else
# |
# 409 | let hint = if let Some(p) = port {
# | ________________________^
# 410 | | format!(
# 411 | | "No openshell gateway container found listening on port {p}.\n\
# 412 | | Is the gateway running? Check with: docker ps (or podman ps)"
# ... |
# 417 | | .to_string()
# 418 | | };
# | |_____________^
# |
# = help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.94.0/index.html#option_if_let_else
# = note: `-W clippy::option-if-let-else` implied by `-W clippy::nursery`
# = help: to override `-W clippy::nursery` add `#[allow(clippy::option_if_let_else)]`
# help: try
# |
# 409 ~ let hint = port.map_or_else(|| "No openshell gateway container found.\n\
# 410 + Is the gateway running? Check with: docker ps (or podman ps)"
# 411 + .to_string(), |p| format!(
# 412 + "No openshell gateway container found listening on port {p}.\n\
# 413 + Is the gateway running? Check with: docker ps (or podman ps)"
# 414 ~ ));
# |
Error: CLIPPY_WARNING:
crates/openshell-bootstrap/src/docker.rs:545:1: warning: this function has too many arguments (12/7)
# |
# 545 | / pub async fn ensure_container(
# 546 | | docker: &Docker,
# 547 | | name: &str,
# 548 | | image_ref: &str,
# ... |
# 557 | | runtime: ContainerRuntime,
# 558 | | ) -> Result<u16> {
# | |________________^
# |
# = help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.94.0/index.html#too_many_arguments
# = note: `-W clippy::too-many-arguments` implied by `-W clippy::all`
# = help: to override `-W clippy::all` add `#[allow(clippy::too_many_arguments)]`
Error: CLIPPY_WARNING:
crates/openshell-bootstrap/src/docker.rs:925:13: warning: this `if` statement can be collapsed
# |
# 925 | / if let Some(public) = port.public_port {
# 926 | | if needed_ports.contains(&public) {
# 927 | | let cname = names
# 928 | | .first()
# ... |
# 941 | | }
# | |_____________^
# |
# = help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.94.0/index.html#collapsible_if
# help: collapse nested if block
# |
# 925 ~ if let Some(public) = port.public_port
# 926 ~ && needed_ports.contains(&public) {
# 927 | let cname = names
# ...
# 939 | });
# 940 ~ }
# |
Error: CLIPPY_WARNING:
crates/openshell-bootstrap/src/docker.rs:927:33: warning: called `map(<f>).unwrap_or_else(<g>)` on an `Option` value
# |
# 927 | let cname = names
# | _________________________________^
# 928 | | .first()
# 929 | | .map(|n| n.trim_start_matches('/').to_string())
# 930 | | .unwrap_or_else(|| {
# ... |
# 934 | | .unwrap_or_else(|| "<unknown>".to_string())
# 935 | | });
# | |__________________________^
# |
# = help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.94.0/index.html#map_unwrap_or
# = note: `-W clippy::map-unwrap-or` implied by `-W clippy::pedantic`
# = help: to override `-W clippy::pedantic` add `#[allow(clippy::map_unwrap_or)]`
# help: try
# |
# 927 ~ let cname = names
# 928 + .first().map_or_else(|| {
# 929 + container
# 930 + .id
# 931 + .clone()
# 932 + .unwrap_or_else(|| "<unknown>".to_string())
# 933 ~ }, |n| n.trim_start_matches('/').to_string());
# |
Error: CLIPPY_WARNING:
crates/openshell-bootstrap/src/lib.rs:123:31: warning: item in documentation is missing backticks
# |
# 123 | /// - `[cdi-ids…]` — CDI DeviceRequest with the given device IDs
# | ^^^^^^^^^^^^^
# |
# = help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.94.0/index.html#doc_markdown
# help: try
# |
# 123 - /// - `[cdi-ids…]` — CDI DeviceRequest with the given device IDs
# 123 + /// - `[cdi-ids…]` — CDI `DeviceRequest` with the given device IDs
# |
Error: CLIPPY_WARNING:
crates/openshell-bootstrap/src/lib.rs:353:5: warning: all if blocks contain the same code at the start
# |
# 353 | / if remote_opts.is_some() {
# 354 | | log("[status] Downloading gateway".to_string());
# | |________________________________________________________^
# |
# = help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.94.0/index.html#branches_sharing_code
# = note: `-W clippy::branches-sharing-code` implied by `-W clippy::nursery`
# = help: to override `-W clippy::nursery` add `#[allow(clippy::branches_sharing_code)]`
# help: consider moving these statements before the if
# |
# 353 ~ log("[status] Downloading gateway".to_string());
# 354 + if remote_opts.is_some() {
# |
Error: CLIPPY_WARNING:
crates/openshell-bootstrap/src/lib.rs:747:1: warning: first doc comment paragraph is too long
# |
# 747 | / /// Fetch the last `n` lines of container logs for a local gateway as a
# 748 | | /// `String`. This is a convenience wrapper for diagnostic call sites (e.g.
# 749 | | /// failure diagnosis in the CLI) that do not hold a Docker client handle.
# 750 | | ///
# 751 | | /// Returns an empty string on any Docker/connection error so callers don't
# | |_^
# |
# = help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.94.0/index.html#too_long_first_doc_paragraph
# = note: `-W clippy::too-long-first-doc-paragraph` implied by `-W clippy::nursery`
# = help: to override `-W clippy::nursery` add `#[allow(clippy::too_long_first_doc_paragraph)]`
Error: CLIPPY_WARNING:
crates/openshell-bootstrap/src/lib.rs:754:5: warning: this could be rewritten as `let...else`
# |
# 754 | / let docker = match Docker::connect_with_local_defaults() {
# 755 | | Ok(d) => d,
# 756 | | Err(_) => return String::new(),
# 757 | | };
# | |______^ help: consider writing: `let Ok(docker) = Docker::connect_with_local_defaults() else { return String::new() };`
# |
# = help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.94.0/index.html#manual_let_else
# = note: `-W clippy::manual-let-else` implied by `-W clippy::pedantic`
# = help: to override `-W clippy::pedantic` add `#[allow(clippy::manual_let_else)]`
Error: CLIPPY_WARNING:
crates/openshell-bootstrap/src/metadata.rs:320:5: warning: this `if` statement can be collapsed
# |
# 320 | / if let Some(current) = load_last_sandbox(gateway) {
# 321 | | if current == sandbox {
# 322 | | if let Ok(path) = last_sandbox_path(gateway) {
# 323 | | let _ = std::fs::remove_file(path);
# ... |
# 326 | | }
# | |_____^
# |
# = help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.94.0/index.html#collapsible_if
# help: collapse nested if block
# |
# 320 ~ if let Some(current) = load_last_sandbox(gateway)
# 321 ~ && current == sandbox {
# 322 | if let Ok(path) = last_sandbox_path(gateway) {
# 323 | let _ = std::fs::remove_file(path);
# 324 | }
# 325 ~ }
# |
Error: CLIPPY_WARNING:
crates/openshell-bootstrap/src/metadata.rs:321:9: warning: this `if` statement can be collapsed
# |
# 321 | / if current == sandbox {
# 322 | | if let Ok(path) = last_sandbox_path(gateway) {
# 323 | | let _ = std::fs::remove_file(path);
# 324 | | }
# 325 | | }
# | |_________^
# |
# = help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.94.0/index.html#collapsible_if
# help: collapse nested if block
# |
# 321 ~ if current == sandbox
# 322 ~ && let Ok(path) = last_sandbox_path(gateway) {
# 323 | let _ = std::fs::remove_file(path);
# 324 ~ }
# |
Error: CLIPPY_WARNING:
crates/openshell-cli/src/auth.rs:75:19: warning: casting `u64` to `usize` may truncate the value on targets with 32-bit wide pointers
# |
# 75 | let idx = (hash_b as usize) % charset.len();
# | ^^^^^^^^^^^^^^^^^
# |
# = help: if this is intentional allow the lint with `#[allow(clippy::cast_possible_truncation)]` ...
# = help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.94.0/index.html#cast_possible_truncation
# = note: `-W clippy::cast-possible-truncation` implied by `-W clippy::pedantic`
# = help: to override `-W clippy::pedantic` add `#[allow(clippy::cast_possible_truncation)]`
# help: ... or use `try_from` and handle the error accordingly
# |
# 75 - let idx = (hash_b as usize) % charset.len();
# 75 + let idx = usize::try_from(hash_b) % charset.len();
# |
Error: CLIPPY_WARNING:
crates/openshell-cli/src/auth.rs:131:41: warning: used underscore-prefixed binding
# |
# 131 | std::io::stdin().read_line(&mut _input).ok();
# | ^^^^^^
# |
# note: binding is defined here
# --> crates/openshell-cli/src/auth.rs:130:13
# |
# 130 | let mut _input = String::new();
# | ^^^^^^^^^^
# = help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.94.0/index.html#used_underscore_binding
# = note: `-W clippy::used-underscore-binding` implied by `-W clippy::pedantic`
# = help: to override `-W clippy::pedantic` add `#[allow(clippy::used_underscore_binding)]`
Error: CLIPPY_WARNING:
crates/openshell-cli/src/bootstrap.rs:104:8: warning: this pattern matching can be expressed using equality
# |
# 104 | if let Some(false) = override_value {
# | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `override_value == Some(false)`
# |
# = help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.94.0/index.html#equatable_if_let
# = note: `-W clippy::equatable-if-let` implied by `-W clippy::nursery`
# = help: to override `-W clippy::nursery` add `#[allow(clippy::equatable_if_let)]`
Error: CLIPPY_WARNING:
crates/openshell-cli/src/main.rs:825:27: warning: item in documentation is missing backticks
# |
# 825 | /// When enabled, OpenShell auto-selects CDI when the Docker daemon has
# | ^^^^^^^^^
# |
# = help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.94.0/index.html#doc_markdown
# = note: `-W clippy::doc-markdown` implied by `-W clippy::pedantic`
# = help: to override `-W clippy::pedantic` add `#[allow(clippy::doc_markdown)]`
# help: try
# |
# 825 - /// When enabled, OpenShell auto-selects CDI when the Docker daemon has
# 825 + /// When enabled, `OpenShell` auto-selects CDI when the Docker daemon has
# |
Error: CLIPPY_WARNING:
crates/openshell-cli/src/main.rs:1160:22: warning: item in documentation is missing backticks
# |
# 1160 | /// Accepts [bind_address:]port (e.g. 8080, 0.0.0.0:8080). Keeps the sandbox alive.
# | ^^^^^^^^^^^^
# |
# = help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.94.0/index.html#doc_markdown
# help: try
# |
# 1160 - /// Accepts [bind_address:]port (e.g. 8080, 0.0.0.0:8080). Keeps the sandbox alive.
# 1160 + /// Accepts [`bind_address`:]port (e.g. 8080, 0.0.0.0:8080). Keeps the sandbox alive.
# |
Error: CLIPPY_WARNING:
crates/openshell-cli/src/main.rs:1517:31: warning: item in documentation is missing backticks
# |
# 1517 | /// Port to forward: [bind_address:]port (e.g. 8080, 0.0.0.0:8080).
# | ^^^^^^^^^^^^
# |
# = help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.94.0/index.html#doc_markdown
# help: try
# |
# 1517 - /// Port to forward: [bind_address:]port (e.g. 8080, 0.0.0.0:8080).
# 1517 + /// Port to forward: [`bind_address`:]port (e.g. 8080, 0.0.0.0:8080).
# |
Error: CLIPPY_WARNING:
crates/openshell-cli/src/main.rs:1545:1: warning: async block generated by this macro may allocate a lot of stack space
# |
# 1545 | #[tokio::main]
# | ^^^^^^^^^^^^^^
# |
# = help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.94.0/index.html#large_stack_frames
# = note: `-W clippy::large-stack-frames` implied by `-W clippy::nursery`
# = help: to override `-W clippy::nursery` add `#[allow(clippy::large_stack_frames)]`
Error: CLIPPY_WARNING:
crates/openshell-cli/src/main.rs:1598:17: warning: large future with a size of 16776 bytes
# |
# 1598 | / run::gateway_admin_deploy(
# 1599 | | &name,
# 1600 | | remote.as_deref(),
# 1601 | | ssh_key.as_deref(),
# ... |
# 1610 | | cli.container_runtime.as_deref(),
# 1611 | | )
# | |_________________^
# |
# = help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.94.0/index.html#large_futures
# = note: `-W clippy::large-futures` implied by `-W clippy::pedantic`
# = help: to override `-W clippy::pedantic` add `#[allow(clippy::large_futures)]`
# help: consider `Box::pin` on it
# |
# 1598 ~ Box::pin(run::gateway_admin_deploy(
# 1599 + &name,
# 1600 + remote.as_deref(),
# 1601 + ssh_key.as_deref(),
# 1602 + port,
# 1603 + gateway_host.as_deref(),
# 1604 + recreate,
# 1605 + plaintext,
# 1606 + disable_gateway_auth,
# 1607 + registry_username.as_deref(),
# 1608 + registry_token.as_deref(),
# 1609 + gpu,
# 1610 + cli.container_runtime.as_deref(),
# 1611 + ))
# |
Error: CLIPPY_WARNING:
crates/openshell-cli/src/main.rs:1752:29: warning: you seem to be trying to use `match` for destructuring a single pattern. Consider using `if let`
# |
# 1752 | None => match run::find_forward_by_port(port)? {
# | _____________________________^
# 1753 | | Some(n) => {
# 1754 | | eprintln!("→ Found forward on sandbox '{n}'");
# 1755 | | n
# ... |
# 1761 | | },
# | |_____________________^
# |
# = help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.94.0/index.html#single_match_else
# = note: `-W clippy::single-match-else` implied by `-W clippy::pedantic`
# = help: to override `-W clippy::pedantic` add `#[allow(clippy::single_match_else)]`
# help: try
# |
# 1752 ~ None => if let Some(n) = run::find_forward_by_port(port)? {
# 1753 ~ eprintln!("→ Found forward on sandbox '{n}'");
# 1754 + n
# 1755 + } else {
# 1756 + eprintln!("{} No active forward found for port {port}", "!".yellow(),);
# 1757 + return Ok(());
# 1758 ~ },
# |
Error: CLIPPY_WARNING:
crates/openshell-cli/src/run.rs:345:14: warning: this parameter is a mutable reference but is not used mutably
# |
# 345 | fn clear(&mut self) {
# | ^----^^^^
# | |
# | help: consider removing this `mut`
# |
# = help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.94.0/index.html#needless_pass_by_ref_mut
# = note: `-W clippy::needless-pass-by-ref-mut` implied by `-W clippy::nursery`
# = help: to override `-W clippy::nursery` add `#[allow(clippy::needless_pass_by_ref_mut)]`
Error: CLIPPY_WARNING:
crates/openshell-cli/src/run.rs:389:29: warning: casting `u64` to `f64` may cause a loss of precision (`u64` is 64 bits wide, but `f64`'s mantissa is only 52 bits wide)
# |
# 389 | format!("{:.1} GB", bytes as f64 / GB as f64)
# | ^^^^^^^^^^^^
# |
# = help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.94.0/index.html#cast_precision_loss
# = note: `-W clippy::cast-precision-loss` implied by `-W clippy::pedantic`
# = help: to override `-W clippy::pedantic` add `#[allow(clippy::cast_precision_loss)]`
Error: CLIPPY_WARNING:
crates/openshell-cli/src/run.rs:389:44: warning: casting `u64` to `f64` may cause a loss of precision (`u64` is 64 bits wide, but `f64`'s mantissa is only 52 bits wide)
# |
# 389 | format!("{:.1} GB", bytes as f64 / GB as f64)
# | ^^^^^^^^^
# |
# = help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.94.0/index.html#cast_precision_loss
Error: CLIPPY_WARNING:
crates/openshell-cli/src/run.rs:395:9: warning: variables can be used directly in the `format!` string
# |
# 395 | format!("{} B", bytes)
# | ^^^^^^^^^^^^^^^^^^^^^^
# |
# = help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.94.0/index.html#uninlined_format_args
# = note: `-W clippy::uninlined-format-args` implied by `-W clippy::pedantic`
# = help: to override `-W clippy::pedantic` add `#[allow(clippy::uninlined_format_args)]`
# help: change this to
# |
# 395 - format!("{} B", bytes)
# 395 + format!("{bytes} B")
# |
Error: CLIPPY_WARNING:
crates/openshell-cli/src/run.rs:624:19: warning: use Option::map_or_else instead of an if let/else
# |
# 624 | let msg = if let Some(detail) = &self.progress {
# | ___________________^
# 625 | | format!("{} ({})", self.status, detail.dimmed())
# 626 | | } else {
# 627 | | self.status.clone()
# 628 | | };
# | |_________^ help: try: `self.progress.as_ref().map_or_else(|| self.status.clone(), |detail| format!("{} ({})", self.status, detail.dimmed()))`
# |
# = help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.94.0/index.html#option_if_let_else
# = note: `-W clippy::option-if-let-else` implied by `-W clippy::nursery`
# = help: to override `-W clippy::nursery` add `#[allow(clippy::option_if_let_else)]`
Error: CLIPPY_WARNING:
crates/openshell-cli/src/run.rs:991:28: warning: use Option::map_or_else instead of an if let/else
# |
# 991 | let detected_runtime = match openshell_bootstrap::detect_runtime(None) {
# | ____________________________^
# 992 | | Ok(rt) => rt,
# 993 | | Err(_) => {
# 994 | | tracing::warn!(
# ... |
# 999 | | };
# | |_____^
# |
# = help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.94.0/index.html#option_if_let_else
# help: try
# |
# 991 ~ let detected_runtime = openshell_bootstrap::detect_runtime(None).map_or_else(|_| {
# 992 + tracing::warn!(
# 993 + "no container runtime detected, defaulting to Docker for gateway metadata"
# 994 + );
# 995 + openshell_bootstrap::ContainerRuntime::default()
# 996 ~ }, |rt| rt);
# |
Error: CLIPPY_WARNING:
crates/openshell-cli/src/run.rs:991:28: warning: you seem to be trying to use `match` for destructuring a single pattern. Consider using `if let`
# |
# 991 | let detected_runtime = match openshell_bootstrap::detect_runtime(None) {
# | ____________________________^
# 992 | | Ok(rt) => rt,
# 993 | | Err(_) => {
# 994 | | tracing::warn!(
# ... |
# 999 | | };
# | |_____^
# |
# = help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.94.0/index.html#single_match_else
# = note: `-W clippy::single-match-else` implied by `-W clippy::pedantic`
# = help: to override `-W clippy::pedantic` add `#[allow(clippy::single_match_else)]`
# help: try
# |
# 991 ~ let detected_runtime = if let Ok(rt) = openshell_bootstrap::detect_runtime(None) { rt } else {
# 992 + tracing::warn!(
# 993 + "no container runtime detected, defaulting to Docker for gateway metadata"
# 994 + );
# 995 + openshell_bootstrap::ContainerRuntime::default()
# 996 ~ };
# |
Error: CLIPPY_WARNING:
crates/openshell-cli/src/run.rs:1020:44: warning: use Option::map_or instead of an if let/else
# |
# 1020 | let (remote_host, resolved_host) = if let Some(dest) = remote {
# | ____________________________________________^
# 1021 | | let ssh_host = extract_host_from_ssh_destination(dest);
# 1022 | | let resolved = resolve_ssh_hostname(&ssh_host);
# 1023 | | (Some(dest.to_string()), Some(resolved))
# 1024 | | } else {
# 1025 | | (None, None)
# 1026 | | };
# | |_________^
# |
# = help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.94.0/index.html#option_if_let_else
# help: try
# |
# 1020 ~ let (remote_host, resolved_host) = remote.map_or((None, None), |dest| {
# 1021 + let ssh_host = extract_host_from_ssh_destination(dest);
# 1022 + let resolved = resolve_ssh_hostname(&ssh_host);
# 1023 + (Some(dest.to_string()), Some(resolved))
# 1024 ~ });
# |
Error: CLIPPY_WARNING:
crates/openshell-cli/src/run.rs:1362:1: warning: this function has too many arguments (12/7)
# |
# 1362 | / pub async fn gateway_admin_deploy(
# 1363 | | name: &str,
# 1364 | | remote: Option<&str>,
# 1365 | | ssh_key: Option<&str>,
# ... |
# 1374 | | container_runtime: Option<&str>,
# 1375 | | ) -> Result<()> {
# | |_______________^
# |
# = help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.94.0/index.html#too_many_arguments
# = note: `-W clippy::too-many-arguments` implied by `-W clippy::all`
# = help: to override `-W clippy::all` add `#[allow(clippy::too_many_arguments)]`
Error: CLIPPY_WARNING:
crates/openshell-cli/src/run.rs:1389:5: warning: this `if` statement can be collapsed
# |
# 1389 | / if !recreate {
# 1390 | | if let Some(existing) =
# 1391 | | openshell_bootstrap::check_existing_deployment(name, remote_opts.as_ref()).await?
# ... |
# 1401 | | }
# | |_____^
# |
# = help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.94.0/index.html#collapsible_if
# = note: `-W clippy::collapsible-if` implied by `-W clippy::all`
# = help: to override `-W clippy::all` add `#[allow(clippy::collapsible_if)]`
# help: collapse nested if block
# |
# 1389 ~ if !recreate
# 1390 ~ && let Some(existing) =
# 1391 | openshell_bootstrap::check_existing_deployment(name, remote_opts.as_ref()).await?
# ...
# 1399 | }
# 1400 ~ }
# |
Error: CLIPPY_WARNING:
crates/openshell-cli/src/run.rs:1390:9: warning: this `if` statement can be collapsed
# |
# 1390 | / if let Some(existing) =
# 1391 | | openshell_bootstrap::check_existing_deployment(name, remote_opts.as_ref()).await?
# 1392 | | {
# 1393 | | if existing.container_running {
# ... |
# 1400 | | }
# | |_________^
# |
# = help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.94.0/index.html#collapsible_if
# help: collapse nested if block
# |
# 1391 ~ openshell_bootstrap::check_existing_deployment(name, remote_opts.as_ref()).await?
# 1392 ~ && existing.container_running {
# 1393 | eprintln!(
# ...
# 1397 | return Ok(());
# 1398 ~ }
# |
Error: CLIPPY_WARNING:
crates/openshell-cli/src/run.rs:1408:27: warning: unnecessary boolean `not` operation
# |
# 1408 | let stored_metadata = if !recreate {
# | ___________________________^
# 1409 | | openshell_bootstrap::load_gateway_metadata(name).ok()
# 1410 | | } else {
# 1411 | | None
# 1412 | | };
# | |_____^
# |
# = help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.94.0/index.html#if_not_else
# = note: `-W clippy::if-not-else` implied by `-W clippy::pedantic`
# = help: to override `-W clippy::pedantic` add `#[allow(clippy::if_not_else)]`
# help: try
# |
# 1408 ~ let stored_metadata = if recreate {
# 1409 + None
# 1410 + } else {
# 1411 + openshell_bootstrap::load_gateway_metadata(name).ok()
# 1412 ~ };
# |
Error: CLIPPY_WARNING:
crates/openshell-cli/src/run.rs:1637:6: warning: future cannot be sent between threads safely
# |
# 1637 | ) -> Result<()> {
# | ^^^^^^^^^^
# |
# = note: `std::sync::ReentrantLockGuard<'_, std::cell::RefCell<std::io::LineWriter<std::io::stdio::StdoutRaw>>>` doesn't implement `std::marker::Send`
# = help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.94.0/index.html#future_not_send
# = note: `-W clippy::future-not-send` implied by `-W clippy::nursery`
# = help: to override `-W clippy::nursery` add `#[allow(clippy::future_not_send)]`
Error: CLIPPY_WARNING:
crates/openshell-cli/src/run.rs:1639:23: warning: use Option::map_or_else instead of an if let/else
# |
# 1639 | let remote_opts = if let Some(dest) = remote {
# | _______________________^
# 1640 | | let mut opts = RemoteOptions::new(dest);
# 1641 | | if let Some(key) = ssh_key {
# 1642 | | opts = opts.with_ssh_key(key);
# ... |
# 1655 | | None
# 1656 | | };
# | |_____^
# |
# = help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.94.0/index.html#option_if_let_else
# help: try
# |
# 1639 ~ let remote_opts = remote.map_or_else(|| if let Some(metadata) = get_gateway_metadata(name)
# 1640 + && metadata.is_remote
# 1641 + && let Some(ref host) = metadata.remote_host
# 1642 + {
# 1643 + let mut opts = RemoteOptions::new(host.clone());
# 1644 + if let Some(key) = ssh_key {
# 1645 + opts = opts.with_ssh_key(key);
# 1646 + }
# 1647 + Some(opts)
# 1648 + } else {
# 1649 + None
# 1650 + }, |dest| {
# 1651 + let mut opts = RemoteOptions::new(dest);
# 1652 + if let Some(key) = ssh_key {
# 1653 + opts = opts.with_ssh_key(key);
# 1654 + }
# 1655 + Some(opts)
# 1656 ~ });
# |
Error: CLIPPY_WARNING:
crates/openshell-cli/src/run.rs:1690:23: warning: use Option::map_or_else instead of an if let/else
# |
# 1690 | let remote_host = if let Some(dest) = remote {
# | _______________________^
# 1691 | | Some(dest.to_string())
# 1692 | | } else if let Some(metadata) = get_gateway_metadata(name)
# 1693 | | && metadata.is_remote
# ... |
# 1697 | | None
# 1698 | | };
# | |_____^
# |
# = help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.94.0/index.html#option_if_let_else
# help: try
# |
# 1690 ~ let remote_host = remote.map_or_else(|| if let Some(metadata) = get_gateway_metadata(name)
# 1691 + && metadata.is_remote
# 1692 + {
# 1693 + metadata.remote_host.clone()
# 1694 + } else {
# 1695 + None
# 1696 ~ }, |dest| Some(dest.to_string()));
# |
Error: CLIPPY_WARNING:
crates/openshell-cli/src/run.rs:1695:29: warning: redundant clone
# |
# 1695 | metadata.remote_host.clone()
# | ^^^^^^^^ help: remove this
# |
# note: this value is dropped without further use
# --> crates/openshell-cli/src/run.rs:1695:9
# |
# 1695 | metadata.remote_host.clone()
# | ^^^^^^^^^^^^^^^^^^^^
# = help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.94.0/index.html#redundant_clone
# = note: `-W clippy::redundant-clone` implied by `-W clippy::nursery`
# = help: to override `-W clippy::nursery` add `#[allow(clippy::redundant_clone)]`
Error: CLIPPY_WARNING:
crates/openshell-cli/src/run.rs:1774:63: warning: future cannot be sent between threads safely
# |
# 1774 | pub async fn doctor_check(container_runtime: Option<&str>) -> Result<()> {
# | ^^^^^^^^^^ future returned by `doctor_check` is not `Send`
# |
# note: future is not `Send` as this value is used across an await
# --> crates/openshell-cli/src/run.rs:1790:65
# |
# 1776 | let mut stdout = std::io::stdout().lock();
# | ---------- has type `std::io::StdoutLock<'_>` which is not `Send`
# ...
# 1790 | match openshell_bootstrap::check_runtime_available(runtime).await {
# | ^^^^^ await occurs here, with `mut stdout` maybe used later
# = note: `std::sync::ReentrantLockGuard<'_, std::cell::RefCell<std::io::LineWriter<std::io::stdio::StdoutRaw>>>` doesn't implement `std::marker::Send`
# = help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.94.0/index.html#future_not_send
Error: CLIPPY_WARNING:
crates/openshell-cli/src/run.rs:1802:14: warning: unnecessary semicolon
# |
# 1802 | };
# | ^ help: remove
# |
# = help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.94.0/index.html#unnecessary_semicolon
# = note: `-W clippy::unnecessary-semicolon` implied by `-W clippy::pedantic`
# = help: to override `-W clippy::pedantic` add `#[allow(clippy::unnecessary_semicolon)]`
Error: CLIPPY_WARNING:
crates/openshell-cli/src/run.rs:1897:9: warning: large future with a size of 16992 bytes
# |
# 1897 | crate::bootstrap::run_bootstrap(remote, ssh_key, requested_gpu).await?;
# | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider `Box::pin` on it: `Box::pin(crate::bootstrap::run_bootstrap(remote, ssh_key, requested_gpu))`
# |
# = help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.94.0/index.html#large_futures
# = note: `-W clippy::large-futures` implied by `-W clippy::pedantic`
# = help: to override `-W clippy::pedantic` add `#[allow(clippy::large_futures)]`
Error: CLIPPY_WARNING:
crates/openshell-cli/src/run.rs:1900:5: warning: large future with a size of 19616 bytes
# |
# 1900 | / sandbox_create(
# 1901 | | &server,
# 1902 | | name,
# 1903 | | from,
# ... |
# 1918 | | &tls,
# 1919 | | )
# | |_____^
# |
# = help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.94.0/index.html#large_futures
# help: consider `Box::pin` on it
# |
# 1900 ~ Box::pin(sandbox_create(
# 1901 + &server,
# 1902 + name,
# 1903 + from,
# 1904 + &gateway_name,
# 1905 + upload,
# 1906 + keep,
# 1907 + gpu,
# 1908 + editor,
# 1909 + remote,
# 1910 + ssh_key,
# 1911 + providers,
# 1912 + policy,
# 1913 + forward,
# 1914 + command,
# 1915 + tty_override,
# 1916 + Some(false),
# 1917 + auto_providers_override,
# 1918 + &tls,
# 1919 + ))
# |
Error: CLIPPY_WARNING:
crates/openshell-cli/src/run.rs:2022:17: warning: large future with a size of 16992 bytes
# |
# 2022 | crate::bootstrap::run_bootstrap(remote, ssh_key, requested_gpu).await?;
# | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider `Box::pin` on it: `Box::pin(crate::bootstrap::run_bootstrap(remote, ssh_key, requested_gpu))`
# |
# = help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.94.0/index.html#large_futures
Error: CLIPPY_WARNING:
crates/openshell-cli/src/run.rs:2269:33: warning: variables can be used directly in the `format!` string
# |
# 2269 | ... format!("Image pulled ({})", size_label)
# | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
# |
# = help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.94.0/index.html#uninlined_format_args
# help: change this to
# |
# 2269 - format!("Image pulled ({})", size_label)
# 2269 + format!("Image pulled ({size_label})")
# |
Error: CLIPPY_WARNING:
crates/openshell-cli/src/run.rs:2308:13: warning: these match arms have identical bodies
# |
# 2308 | / Some(openshell_core::proto::sandbox_stream_event::Payload::DraftPolicyUpdate(_)) => {
# 2309 | | // Draft policy updates are handled in the draft panel, not during provisioning.
# 2310 | | }
# | |_____________^
# 2311 | None => {}
# | ^^^^^^^^^^
# |
# = help: if this is unintentional make the arms return different values
# = help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.94.0/index.html#match_same_arms
# = note: `-W clippy::match-same-arms` implied by `-W clippy::pedantic`
# = help: to override `-W clippy::pedantic` add `#[allow(clippy::match_same_arms)]`
# help: otherwise merge the patterns into a single arm
# |
# 2308 ~ Some(openshell_core::proto::sandbox_stream_event::Payload::DraftPolicyUpdate(_)) | None => {
# 2309 | // Draft policy updates are handled in the draft panel, not during provisioning.
# 2310 | }
# 2311 ~ }
# |
Error: CLIPPY_WARNING:
crates/openshell-cli/src/run.rs:2569:5: warning: use Option::map_or instead of an if let/else
# |
# 2569 | / if let Ok(resolved) = resolve_from(source) {
# 2570 | | match resolved {
# 2571 | | ResolvedSource::Image(image) => image_requests_gpu(&image),
# 2572 | | ResolvedSource::Dockerfile { .. } => false,
# ... |
# 2575 | | false
# 2576 | | }
# | |_____^
# |
# = help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.94.0/index.html#option_if_let_else
# help: try
# |
# 2569 ~ resolve_from(source).map_or(false, |resolved| match resolved {
# 2570 + ResolvedSource::Image(image) => image_requests_gpu(&image),
# 2571 + ResolvedSource::Dockerfile { .. } => false,
# 2572 + })
# |
Error: CLIPPY_WARNING:
crates/openshell-cli/src/run.rs:4081:5: warning: variables can be used directly in the `format!` string
# |
# 4081 | println!("Sandbox: {}", name);
# | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
# |
# = help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.94.0/index.html#uninlined_format_args
# help: change this to
# |
# 4081 - println!("Sandbox: {}", name);
# 4081 + println!("Sandbox: {name}");
# |
Error: CLIPPY_WARNING:
crates/openshell-cli/src/run.rs:4083:5: warning: variables can be used directly in the `format!` string
# |
# 4083 | println!("Policy Source: {}", policy_source);
# | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
# |
# = help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.94.0/index.html#uninlined_format_args
# help: change this to
# |
# 4083 - println!("Policy Source: {}", policy_source);
# 4083 + println!("Policy Source: {policy_source}");
# |
Error: CLIPPY_WARNING:
crates/openshell-cli/src/run.rs:4650:1: warning: this function has too many arguments (8/7)
# |
# 4650 | / pub async fn sandbox_logs(
# 4651 | | server: &str,
# 4652 | | name: &str,
# 4653 | | lines: u32,
# ... |
# 4658 | | tls: &TlsOptions,
# 4659 | | ) -> Result<()> {
# | |_______________^
# |
# = help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.94.0/index.html#too_many_arguments
Error: CLIPPY_WARNING:
crates/openshell-cli/src/ssh.rs:45:22: warning: unused `self` argument
# |
# 45 | fn remote_target(self, host_alias: &str) -> String {
# | ^^^^
# |
# = help: consider refactoring to an associated function
# = help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.94.0/index.html#unused_self
# = note: `-W clippy::unused-self` implied by `-W clippy::pedantic`
# = help: to override `-W clippy::pedantic` add `#[allow(clippy::unused_self)]`
Error: CLIPPY_WARNING:
crates/openshell-cli/src/ssh.rs:343:9: warning: you seem to be trying to use `match` for destructuring a single pattern. Consider using `if let`
# |
# 343 | / match tokio::time::timeout(FOREGROUND_FORWARD_STARTUP_GRACE_PERIOD, child.wait()).await {
# 344 | | Ok(status) => status.into_diagnostic()?,
# 345 | | Err(_) => {
# 346 | | eprintln!("{}", foreground_forward_started_message(name, spec));
# ... |
# 349 | | }
# | |_________^
# |
# = help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.94.0/index.html#single_match_else
# help: try
# |
# 343 ~ if let Ok(status) = tokio::time::timeout(FOREGROUND_FORWARD_STARTUP_GRACE_PERIOD, child.wait()).await { status.into_diagnostic()? } else {
# 344 + eprintln!("{}", foreground_forward_started_message(name, spec));
# 345 + child.wait().await.into_diagnostic()?
# 346 + }
# |
Error: CLIPPY_WARNING:
crates/openshell-cli/src/ssh.rs:483:24: warning: use Option::map_or_else instead of an if let/else
# |
# 483 | let escaped_dest = match dest_dir {
# | ________________________^
# 484 | | Some(d) => shell_escape(d),
# 485 | | None => "$HOME".to_string(),
# 486 | | };
# | |_____^ help: try: `dest_dir.map_or_else(|| "$HOME".to_string(), |d| shell_escape(d))`
# |
# = help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.94.0/index.html#option_if_let_else
Error: CLIPPY_WARNING:
crates/openshell-cli/src/ssh.rs:566:32: warning: item in documentation is missing backticks
# |
# 566 | /// Split a sandbox path into (parent_directory, basename).
# | ^^^^^^^^^^^^^^^^
# |
# = help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.94.0/index.html#doc_markdown
# = note: `-W clippy::doc-markdown` implied by `-W clippy::pedantic`
# = help: to override `-W clippy::pedantic` add `#[allow(clippy::doc_markdown)]`
# help: try
# |
# 566 - /// Split a sandbox path into (parent_directory, basename).
# 566 + /// Split a sandbox path into (`parent_directory`, basename).
# |
Error: CLIPPY_WARNING:
crates/openshell-cli/src/ssh.rs:632:5: warning: this `if` statement can be collapsed
# |
# 632 | / if let Some(path) = sandbox_path {
# 633 | | if local_path.is_file() && !path.ends_with('/') {
# 634 | | let (parent, target_name) = split_sandbox_path(path);
# 635 | | if parent != "/" {
# ... |
# 649 | | }
# | |_____^
# |
# = help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.94.0/index.html#collapsible_if
# help: collapse nested if block
# |
# 632 ~ if let Some(path) = sandbox_path
# 633 ~ && local_path.is_file() && !path.ends_with('/') {
# 634 | let (parent, target_name) = split_sandbox_path(path);
# ...
# 647 | }
# 648 ~ }
# |
Error: CLIPPY_WARNING:
crates/openshell-cli/src/ssh.rs:783:5: warning: adding items after statements is confusing, since items exist from the start of the scope
# |
# 783 | const MAX_CONNECT_WAIT: Duration = Duration::from_secs(60);
# | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
# |
# = help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.94.0/index.html#items_after_statements
# = note: `-W clippy::items-after-statements` implied by `-W clippy::pedantic`
# = help: to override `-W clippy::pedantic` add `#[allow(clippy::items_after_statements)]`
Error: CLIPPY_WARNING:
crates/openshell-cli/src/ssh.rs:784:5: warning: adding items after statements is confusing, since items exist from the start of the scope
# |
# 784 | const INITIAL_BACKOFF: Duration = Duration::from_secs(1);
# | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
# |
# = help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.94.0/index.html#items_after_statements
Error: CLIPPY_WARNING:
crates/openshell-cli/src/ssh.rs:966:19: warning: called `map(<f>).unwrap_or(<a>)` on an `Option` value
# |
# 966 | let end = lines
# | ___________________^
# 967 | | .iter()
# 968 | | .enumerate()
# 969 | | .skip(start + 1)
# 970 | | .find(|(_, line)| line.trim_start().starts_with("Host "))
# 971 | | .map(|(idx, _)| idx)
# 972 | | .unwrap_or(lines.len());
# | |___________________________________^
# |
# = help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.94.0/index.html#map_unwrap_or
# = note: `-W clippy::map-unwrap-or` implied by `-W clippy::pedantic`
# = help: to override `-W clippy::pedantic` add `#[allow(clippy::map_unwrap_or)]`
# help: use `map_or(<a>, <f>)` instead
# |
# 971 - .map(|(idx, _)| idx)
# 972 - .unwrap_or(lines.len());
# 971 + .map_or(lines.len(), |(idx, _)| idx);
# |
Error: CLIPPY_WARNING:
crates/openshell-core/src/config.rs:4:34: warning: item in documentation is missing backticks
# |
# 4 | //! Configuration management for OpenShell components.
# | ^^^^^^^^^
# |
# = help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.94.0/index.html#doc_markdown
# help: try
# |
# 4 - //! Configuration management for OpenShell components.
# 4 + //! Configuration management for `OpenShell` components.
# |
Error: CLIPPY_WARNING:
crates/openshell-core/src/config.rs:42:56: warning: item in documentation is missing backticks
# |
# 42 | /// gRPC endpoint for sandboxes to connect back to OpenShell.
# | ^^^^^^^^^
# |
# = help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.94.0/index.html#doc_markdown
# help: try
# |
# 42 - /// gRPC endpoint for sandboxes to connect back to OpenShell.
# 42 + /// gRPC endpoint for sandboxes to connect back to `OpenShell`.
# |
Error: CLIPPY_WARNING:
crates/openshell-core/src/error.rs:4:28: warning: item in documentation is missing backticks
# |
# 4 | //! Common error types for OpenShell.
# | ^^^^^^^^^
# |
# = help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.94.0/index.html#doc_markdown
# help: try
# |
# 4 - //! Common error types for OpenShell.
# 4 + //! Common error types for `OpenShell`.
# |
Error: CLIPPY_WARNING:
crates/openshell-core/src/error.rs:9:29: warning: item in documentation is missing backticks
# |
# 9 | /// Result type alias using OpenShell's error type.
# | ^^^^^^^^^
# |
# = help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.94.0/index.html#doc_markdown
# help: try
# |
# 9 - /// Result type alias using OpenShell's error type.
# 9 + /// Result type alias using `OpenShell`'s error type.
# |
Error: CLIPPY_WARNING:
crates/openshell-core/src/error.rs:12:5: warning: item in documentation is missing backticks
# |
# 12 | /// OpenShell error type.
# | ^^^^^^^^^
# |
# = help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.94.0/index.html#doc_markdown
# help: try
# |
# 12 - /// OpenShell error type.
# 12 + /// `OpenShell` error type.
# |
Error: CLIPPY_WARNING:
crates/openshell-core/src/forward.rs:138:5: warning: this could be rewritten as `let...else`
# |
# 138 | / let entries = match std::fs::read_dir(&dir) {
# 139 | | Ok(e) => e,
# 140 | | Err(_) => return Ok(None),
# 141 | | };
# | |______^ help: consider writing: `let Ok(entries) = std::fs::read_dir(&dir) else { return Ok(None) };`
# |
# = help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.94.0/index.html#manual_let_else
# = note: `-W clippy::manual-let-else` implied by `-W clippy::pedantic`
# = help: to override `-W clippy::pedantic` add `#[allow(clippy::manual_let_else)]`
Error: CLIPPY_WARNING:
crates/openshell-core/src/forward.rs:146:9: warning: this `if` statement can be collapsed
# |
# 146 | / if let Some(name) = file_name.strip_suffix(&suffix) {
# 147 | | if !name.is_empty() {
# 148 | | return Ok(Some(name.to_string()));
# 149 | | }
# 150 | | }
# | |_________^
# |
# = help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.94.0/index.html#collapsible_if
# = note: `-W clippy::collapsible-if` implied by `-W clippy::all`
# = help: to override `-W clippy::all` add `#[allow(clippy::collapsible_if)]`
# help: collapse nested if block
# |
# 146 ~ if let Some(name) = file_name.strip_suffix(&suffix)
# 147 ~ && !name.is_empty() {
# 148 | return Ok(Some(name.to_string()));
# 149 ~ }
# |
Error: CLIPPY_WARNING:
crates/openshell-core/src/inference.rs:122:5: warning: use Option::map_or_else instead of an if let/else
# |
# 122 | / match profile_for(provider_type) {
# 123 | | Some(profile) => {
# 124 | | let headers = profile
# 125 | | .default_headers
# ... |
# 131 | | None => (AuthHeader::Bearer, Vec::new()),
# 132 | | }
# | |_____^
# |
# = help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.94.0/index.html#option_if_let_else
# = note: `-W clippy::option-if-let-else` implied by `-W clippy::nursery`
# = help: to override `-W clippy::nursery` add `#[allow(clippy::option_if_let_else)]`
# help: try
# |
# 122 ~ profile_for(provider_type).map_or_else(|| (AuthHeader::Bearer, Vec::new()), |profile| {
# 123 + let headers = profile
# 124 + .default_headers
# 125 + .iter()
# 126 + .map(|(k, v)| ((*k).to_string(), (*v).to_string()))
# 127 + .collect();
# 128 + (profile.auth.clone(), headers)
# 129 + })
# |
Error: CLIPPY_WARNING:
crates/openshell-core/src/lib.rs:4:5: warning: item in documentation is missing backticks
# |
# 4 | //! OpenShell Core - shared library for OpenShell components.
# | ^^^^^^^^^
# |
# = help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.94.0/index.html#doc_markdown
# = note: `-W clippy::doc-markdown` implied by `-W clippy::pedantic`
# = help: to override `-W clippy::pedantic` add `#[allow(clippy::doc_markdown)]`
# help: try
# |
# 4 - //! OpenShell Core - shared library for OpenShell components.
# 4 + //! `OpenShell` Core - shared library for OpenShell components.
# |
Error: CLIPPY_WARNING:
crates/openshell-core/src/lib.rs:4:41: warning: item in documentation is missing backticks
# |
# 4 | //! OpenShell Core - shared library for OpenShell components.
# | ^^^^^^^^^
# |
# = help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.94.0/index.html#doc_markdown
# help: try
# |
# 4 - //! OpenShell Core - shared library for OpenShell components.
# 4 + //! OpenShell Core - shared library for `OpenShell` components.
# |
Error: CLIPPY_WARNING:
crates/openshell-policy/src/lib.rs:4:52: warning: item in documentation is missing backticks
# |
# 4 | //! Shared sandbox policy parsing and defaults for OpenShell.
# | ^^^^^^^^^
# |
# = help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.94.0/index.html#doc_markdown
# = note: `-W clippy::doc-markdown` implied by `-W clippy::pedantic`
# = help: to override `-W clippy::pedantic` add `#[allow(clippy::doc_markdown)]`
# help: try
# |
# 4 - //! Shared sandbox policy parsing and defaults for OpenShell.
# 4 + //! Shared sandbox policy parsing and defaults for `OpenShell`.
# |
Error: CLIPPY_WARNING:
crates/openshell-policy/src/lib.rs:104:15: warning: this argument (4 byte) is passed by reference, but would be more efficient if passed by value (limit: 8 byte)
# |
# 104 | fn is_zero(v: &u32) -> bool {
# | ^^^^ help: consider passing by value instead: `u32`
# |
# = help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.94.0/index.html#trivially_copy_pass_by_ref
# = note: `-W clippy::trivially-copy-pass-by-ref` implied by `-W clippy::pedantic`
# = help: to override `-W clippy::pedantic` add `#[allow(clippy::trivially_copy_pass_by_ref)]`
Error: CLIPPY_WARNING:
crates/openshell-policy/src/lib.rs:315:72: warning: unnecessary boolean `not` operation
# |
# 315 | ... let yaml_matcher = if !matcher.any.is_empty() {
# | __________________________________________^
# 316 | | ... QueryMatcherDef::Any(QueryAnyDef {
# 317 | | ... any: matcher.any,
# 318 | | ... })
# 319 | | ... } else {
# 320 | | ... QueryMatcherDef::Glob(matcher.glob)
# 321 | | ... };
# | |_______________________^
# |
# = help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.94.0/index.html#if_not_else
# = note: `-W clippy::if-not-else` implied by `-W clippy::pedantic`
# = help: to override `-W clippy::pedantic` add `#[allow(clippy::if_not_else)]`
# help: try
# |
# 315 ~ let yaml_matcher = if matcher.any.is_empty() {
# 316 + QueryMatcherDef::Glob(matcher.glob)
# 317 + } else {
# 318 + QueryMatcherDef::Any(QueryAnyDef {
# 319 + any: matcher.any,
# 320 + })
# 321 ~ };
# |
Error: CLIPPY_WARNING:
crates/openshell-policy/src/lib.rs:459:29: warning: redundant closure
# |
# 459 | .get_or_insert_with(|| ProcessPolicy::default());
# | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace the closure with the associated function itself: `ProcessPolicy::default`
# |
# = help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.94.0/index.html#redundant_closure
# = note: `-W clippy::redundant-closure` implied by `-W clippy::all`
# = help: to override `-W clippy::all` add `#[allow(clippy::redundant_closure)]`
Error: CLIPPY_WARNING:
crates/openshell-tui/src/app.rs:362:33: warning: item in documentation is missing backticks
# |
# 362 | /// Warning shown at top of EnterKey modal (e.g. autodetect failure).
# | ^^^^^^^^
# |
# = help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.94.0/index.html#doc_markdown
# = note: `-W clippy::doc-markdown` implied by `-W clippy::pedantic`
# = help: to override `-W clippy::pedantic` add `#[allow(clippy::doc_markdown)]`
# help: try
# |
# 362 - /// Warning shown at top of EnterKey modal (e.g. autodetect failure).
# 362 + /// Warning shown at top of `EnterKey` modal (e.g. autodetect failure).
# |
Error: CLIPPY_WARNING:
crates/openshell-tui/src/app.rs:552:16: warning: this argument (272 byte) is passed by value, but might be more efficient if passed by reference (limit: 256 byte)
# |
# 552 | theme: crate::theme::Theme,
# | ^^^^^^^^^^^^^^^^^^^ help: consider passing by reference instead: `&crate::theme::Theme`
# |
# = help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.94.0/index.html#large_types_passed_by_value
# = note: `-W clippy::large-types-passed-by-value` implied by `-W clippy::pedantic`
# = help: to override `-W clippy::pedantic` add `#[allow(clippy::large_types_passed_by_value)]`
Error: CLIPPY_WARNING:
crates/openshell-tui/src/app.rs:688:38: warning: called `map(<f>).unwrap_or(<a>)` on an `Option` value
# |
# 688 | let (value, scope) = settings
# | ______________________________________^
# 689 | | .get(reg.key)
# 690 | | .map(|es| {
# 691 | | let v = es.value.as_ref().and_then(|sv| sv.value.clone());
# ... |
# 698 | | })
# 699 | | .unwrap_or((None, SettingScope::Unset));
# | |___________________________________________________________^
# |
# = help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.94.0/index.html#map_unwrap_or
# = note: `-W clippy::map-unwrap-or` implied by `-W clippy::pedantic`
# = help: to override `-W clippy::pedantic` add `#[allow(clippy::map_unwrap_or)]`
# help: use `map_or(<a>, <f>)` instead
# |
# 690 ~ .map_or((None, SettingScope::Unset), |es| {
# 691 | let v = es.value.as_ref().and_then(|sv| sv.value.clone());
# ...
# 697 | (v, s)
# 698 ~ });
# |
Error: CLIPPY_WARNING:
crates/openshell-tui/src/app.rs:1624:66: warning: casting `isize` to `usize` may lose the sign of the value
# |
# 1624 | self.sandbox_log_scroll = (self.sandbox_log_scroll + delta as usize).min(max_scroll);
# | ^^^^^^^^^^^^^^ help: if this is intentional, use `cast_unsigned()` instead: `delta.cast_unsigned()`
# |
# = help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.94.0/index.html#cast_sign_loss
# = note: `-W clippy::cast-sign-loss` implied by `-W clippy::pedantic`
# = help: to override `-W clippy::pedantic` add `#[allow(clippy::cast_sign_loss)]`
Error: CLIPPY_WARNING:
crates/openshell-tui/src/app.rs:1839:17: warning: unnested or-patterns
# |
# 1839 | KeyCode::Char('j') | KeyCode::Down | KeyCode::Char('k') | KeyCode::Up => {
# | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
# |
# = help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.94.0/index.html#unnested_or_patterns
# = note: `-W clippy::unnested-or-patterns` implied by `-W clippy::pedantic`
# = help: to override `-W clippy::pedantic` add `#[allow(clippy::unnested_or_patterns)]`
# help: nest the patterns
# |
# 1839 - KeyCode::Char('j') | KeyCode::Down | KeyCode::Char('k') | KeyCode::Up => {
# 1839 + KeyCode::Char('j' | 'k') | KeyCode::Down | KeyCode::Up => {
# |
Error: CLIPPY_WARNING:
crates/openshell-tui/src/app.rs:2045:40: warning: redundant closure
# |
# 2045 | .map_or(String::new(), |s| s.to_string())
# | ^^^^^^^^^^^^^^^^^ help: replace the closure with the method itself: `std::string::ToString::to_string`
# |
# = help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.94.0/index.html#redundant_closure_for_method_calls
# = note: `-W clippy::redundant-closure-for-method-calls` implied by `-W clippy::pedantic`
# = help: to override `-W clippy::pedantic` add `#[allow(clippy::redundant_closure_for_method_calls)]`
Error: CLIPPY_WARNING:
crates/openshell-tui/src/event.rs:127:9: warning: used underscore-prefixed binding
# |
# 127 | self._keepalive.clone()
# | ^^^^^^^^^^^^^^^
# |
# note: binding is defined here
# --> crates/openshell-tui/src/event.rs:59:5
# |
# 59 | _keepalive: mpsc::UnboundedSender<Event>,
# | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
# = help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.94.0/index.html#used_underscore_binding
# = note: `-W clippy::used-underscore-binding` implied by `-W clippy::pedantic`
# = help: to override `-W clippy::pedantic` add `#[allow(clippy::used_underscore_binding)]`
Error: CLIPPY_WARNING:
crates/openshell-tui/src/lib.rs:35:16: warning: item in documentation is missing backticks
# |
# 35 | /// Launch the OpenShell TUI.
# | ^^^^^^^^^
# |
# = help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.94.0/index.html#doc_markdown
# help: try
# |
# 35 - /// Launch the OpenShell TUI.
# 35 + /// Launch the `OpenShell` TUI.
# |
Error: CLIPPY_WARNING:
crates/openshell-tui/src/lib.rs:37:55: warning: item in documentation is missing backticks
# |
# 37 | /// `channel` must be a connected gRPC channel to the OpenShell gateway.
# | ^^^^^^^^^
# |
# = help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.94.0/index.html#doc_markdown
# help: try
# |
# 37 - /// `channel` must be a connected gRPC channel to the OpenShell gateway.
# 37 + /// `channel` must be a connected gRPC channel to the `OpenShell` gateway.
# |
Error: CLIPPY_WARNING:
crates/openshell-tui/src/lib.rs:190:34: warning: use Option::map_or_else instead of an if let/else
# |
# 190 | let masked = if let Some(val) = provider.credentials.values().next() {
# | __________________________________^
# 191 | | mask_secret(val)
# 192 | | } else {
# 193 | | "-".to_string()
# 194 | | };
# | |_____________________^ help: try: `provider.credentials.values().next().map_or_else(|| "-".to_string(), |val| mask_secret(val))`
# |
# = help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.94.0/index.html#option_if_let_else
Error: CLIPPY_WARNING:
crates/openshell-tui/src/lib.rs:315:17: warning: this `if` statement can be collapsed
# |
# 315 | / if app.screen == Screen::Splash {
# 316 | | if let Some(start) = app.splash_start {
# 317 | | if start.elapsed() >= SPLASH_DURATION {
# 318 | | app.dismiss_splash();
# ... |
# 321 | | }
# | |_________________^
# |
# = help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.94.0/index.html#collapsible_if
# help: collapse nested if block
# |
# 315 ~ if app.screen == Screen::Splash
# 316 ~ && let Some(start) = app.splash_start {
# 317 | if start.elapsed() >= SPLASH_DURATION {
# 318 | app.dismiss_splash();
# 319 | }
# 320 ~ }
# |
Error: CLIPPY_WARNING:
crates/openshell-tui/src/lib.rs:316:21: warning: this `if` statement can be collapsed
# |
# 316 | / if let Some(start) = app.splash_start {
# 317 | | if start.elapsed() >= SPLASH_DURATION {
# 318 | | app.dismiss_splash();
# 319 | | }
# 320 | | }
# | |_____________________^
# |
# = help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.94.0/index.html#collapsible_if
# help: collapse nested if block
# |
# 316 ~ if let Some(start) = app.splash_start
# 317 ~ && start.elapsed() >= SPLASH_DURATION {
# 318 | app.dismiss_splash();
# 319 ~ }
# |
Error: CLIPPY_WARNING:
crates/openshell-tui/src/lib.rs:340:17: warning: this `if` statement can be collapsed
# |
# 340 | / if let Some(form) = app.create_form.as_ref() {
# 341 | | if form.create_result.is_some() {
# 342 | | let elapsed = form
# 343 | | .anim_start
# ... |
# 394 | | }
# | |_________________^
# |
# = help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.94.0/index.html#collapsible_if
# help: collapse nested if block
# |
# 340 ~ if let Some(form) = app.create_form.as_ref()
# 341 ~ && form.create_result.is_some() {
# 342 | let elapsed = form
# ...
# 392 | }
# 393 ~ }
# |
Error: CLIPPY_WARNING:
crates/openshell-tui/src/lib.rs:363:50: warning: redundant closure
# |
# 363 | ... .map(|p| p.to_string())
# | ^^^^^^^^^^^^^^^^^ help: replace the closure with the method itself: `std::string::ToString::to_string`
# |
# = help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.94.0/index.html#redundant_closure_for_method_calls
Error: CLIPPY_WARNING:
crates/openshell-tui/src/lib.rs:396:17: warning: this `if` statement can be collapsed
# |
# 396 | / if let Some(form) = app.create_provider_form.as_ref() {
# 397 | | if form.create_result.is_some() {
# 398 | | let elapsed = form
# 399 | | .anim_start
# ... |
# 426 | | }
# | |_________________^
# |
# = help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.94.0/index.html#collapsible_if
# help: collapse nested if block
# |
# 396 ~ if let Some(form) = app.create_provider_form.as_ref()
# 397 ~ && form.create_result.is_some() {
# 398 | let elapsed = form
# ...
# 424 | }
# 425 ~ }
# |
Error: CLIPPY_WARNING:
crates/openshell-tui/src/lib.rs:596:29: warning: calling `HashMap::default()` is more clear than this expression
# |
# 596 | fields: Default::default(),
# | ^^^^^^^^^^^^^^^^^^ help: try: `HashMap::default()`
# |
# = help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.94.0/index.html#default_trait_access
# = note: `-W clippy::default-trait-access` implied by `-W clippy::pedantic`
# = help: to override `-W clippy::pedantic` add `#[allow(clippy::default_trait_access)]`
Error: CLIPPY_WARNING:
crates/openshell-tui/src/lib.rs:607:29: warning: calling `HashMap::default()` is more clear than this expression
# |
# 607 | fields: Default::default(),
# | ^^^^^^^^^^^^^^^^^^ help: try: `HashMap::default()`
# |
# = help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.94.0/index.html#default_trait_access
Error: CLIPPY_WARNING:
crates/openshell-tui/src/lib.rs:623:9: warning: this could be rewritten as `let...else`
# |
# 623 | / let resp =
# 624 | | match tokio::time::timeout(Duration::from_secs(5), client.watch_sandbox(req)).await {
# 625 | | Ok(Ok(r)) => r,
# 626 | | Ok(Err(_)) | Err(_) => return, // Silently stop — user can re-enter logs.
# 627 | | };
# | |______________^ help: consider writing: `let Ok(Ok(resp)) = tokio::time::timeout(Duration::from_secs(5), client.watch_sandbox(req)).await else { return };`
# |
# = help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.94.0/index.html#manual_let_else
# = note: `-W clippy::manual-let-else` implied by `-W clippy::pedantic`
# = help: to override `-W clippy::pedantic` add `#[allow(clippy::manual_let_else)]`
Error: CLIPPY_WARNING:
crates/openshell-tui/src/lib.rs:630:9: warning: this loop could be written as a `while let` loop
# |
# 630 | / loop {
# 631 | | match stream.message().await {
# 632 | | Ok(Some(event)) => {
# 633 | | if let Some(openshell_core::proto::sandbox_stream_event::Payload::Log(log)) =
# ... |
# 642 | | }
# | |_________^ help: try: `while let Ok(Some(event)) = stream.message().await { .. }`
# |
# = help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.94.0/index.html#while_let_loop
# = note: `-W clippy::while-let-loop` implied by `-W clippy::all`
# = help: to override `-W clippy::all` add `#[allow(clippy::while_let_loop)]`
Error: CLIPPY_WARNING:
crates/openshell-tui/src/lib.rs:719:25: warning: assigning the result of `Clone::clone()` may be inefficient
# |
# 719 | app.sandbox_providers_list = spec.providers.clone();
# | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `clone_from()`: `app.sandbox_providers_list.clone_from(&spec.providers)`
# |
# = help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.94.0/index.html#assigning_clones
# = note: `-W clippy::assigning-clones` implied by `-W clippy::pedantic`
# = help: to override `-W clippy::pedantic` add `#[allow(clippy::assigning_clones)]`
Error: CLIPPY_WARNING:
crates/openshell-tui/src/lib.rs:801:29: warning: you seem to be trying to use `match` for destructuring a single pattern. Consider using `if let`
# |
# 801 | Ok(Ok(resp)) => match resp.into_inner().sandbox {
# | _____________________________^
# 802 | | Some(s) => s.id,
# 803 | | None => {
# 804 | | app.status_text = "sandbox not found".to_string();
# ... |
# 807 | | },
# | |_____________^
# |
# = help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.94.0/index.html#single_match_else
# help: try
# |
# 801 ~ Ok(Ok(resp)) => if let Some(s) = resp.into_inner().sandbox { s.id } else {
# 802 + app.status_text = "sandbox not found".to_string();
# 803 + return;
# 804 ~ },
# |
Error: CLIPPY_WARNING:
crates/openshell-tui/src/lib.rs:945:29: warning: you seem to be trying to use `match` for destructuring a single pattern. Consider using `if let`
# |
# 945 | Ok(Ok(resp)) => match resp.into_inner().sandbox {
# | _____________________________^
# 946 | | Some(s) => s.id,
# 947 | | None => {
# 948 | | app.status_text = format!("exec: sandbox {sandbox_name} not found");
# ... |
# 951 | | },
# | |_____________^
# |
# = help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.94.0/index.html#single_match_else
# help: try
# |
# 945 ~ Ok(Ok(resp)) => if let Some(s) = resp.into_inner().sandbox { s.id } else {
# 946 + app.status_text = format!("exec: sandbox {sandbox_name} not found");
# 947 + return;
# 948 ~ },
# |
Error: CLIPPY_WARNING:
crates/openshell-tui/src/lib.rs:1010:14: warning: redundant closure
# |
# 1010 | .map(|word| shell_escape(word))
# | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace the closure with the function itself: `shell_escape`
# |
# = help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.94.0/index.html#redundant_closure
# = note: `-W clippy::redundant-closure` implied by `-W clippy::all`
# = help: to override `-W clippy::all` add `#[allow(clippy::redundant_closure)]`
Error: CLIPPY_WARNING:
crates/openshell-tui/src/lib.rs:1200:42: warning: variables can be used directly in the `format!` string
# |
# 1200 | ... Span::styled(format!("{:<6} {}", method, target), t.text),
# | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
# |
# = help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.94.0/index.html#uninlined_format_args
# help: change this to
# |
# 1200 - Span::styled(format!("{:<6} {}", method, target), t.text),
# 1200 + Span::styled(format!("{method:<6} {target}"), t.text),
# |
Error: CLIPPY_WARNING:
crates/openshell-tui/src/lib.rs:1268:5: warning: assigning the result of `Clone::clone()` may be inefficient
# |
# 1268 | app.pending_forward_ports = ports.clone();
# | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `clone_from()`: `app.pending_forward_ports.clone_from(&ports)`
# |
# = help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.94.0/index.html#assigning_clones
Error: CLIPPY_WARNING:
crates/openshell-tui/src/lib.rs:1337:17: warning: you seem to be trying to use `match` for destructuring a single pattern. Consider using `if let`
# |
# 1337 | / match client.get_sandbox(req).await {
# 1338 | | Ok(resp) => {
# 1339 | | if let Some(sandbox) = resp.into_inner().sandbox {
# 1340 | | if sandbox.phase == 2 {
# ... |
# 1351 | | Err(_) => {} // Retry on transient errors.
# 1352 | | }
# | |_________________^
# |
# = note: you might want to preserve the comments from inside the `match`
# = help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.94.0/index.html#single_match
# = note: `-W clippy::single-match` implied by `-W clippy::all`
# = help: to override `-W clippy::all` add `#[allow(clippy::single_match)]`
# help: try
# |
# 1337 ~ if let Ok(resp) = client.get_sandbox(req).await {
# 1338 + if let Some(sandbox) = resp.into_inner().sandbox {
# 1339 + if sandbox.phase == 2 {
# 1340 + break sandbox.id;
# 1341 + }
# 1342 + if sandbox.phase == 3 {
# 1343 + let _ = tx.send(Event::CreateResult(Err(
# 1344 + "sandbox entered error state".to_string(),
# 1345 + )));
# 1346 + return;
# 1347 + }
# 1348 + }
# 1349 + }
# |
Error: CLIPPY_WARNING:
crates/openshell-tui/src/lib.rs:1547:29: warning: calling `HashMap::default()` is more clear than this expression
# |
# 1547 | config: Default::default(),
# | ^^^^^^^^^^^^^^^^^^ help: try: `HashMap::default()`
# |
# = help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.94.0/index.html#default_trait_access
Error: CLIPPY_WARNING:
crates/openshell-tui/src/lib.rs:1626:25: warning: calling `HashMap::default()` is more clear than this expression
# |
# 1626 | config: Default::default(),
# | ^^^^^^^^^^^^^^^^^^ help: try: `HashMap::default()`
# |
# = help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.94.0/index.html#default_trait_access
Error: CLIPPY_WARNING:
crates/openshell-tui/src/lib.rs:1930:17: warning: you seem to be trying to use `match` for destructuring a single pattern. Consider using `if let`
# |
# 1930 | / match openshell_core::settings::parse_bool_like(&raw) {
# 1931 | | Some(v) => setting_value::Value::BoolValue(v),
# 1932 | | None => {
# 1933 | | let _ = tx.send(Event::GlobalSettingSetResult(Err(format!(
# ... |
# 1938 | | }
# | |_________________^
# |
# = help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.94.0/index.html#single_match_else
# help: try
# |
# 1930 ~ if let Some(v) = openshell_core::settings::parse_bool_like(&raw) { setting_value::Value::BoolValue(v) } else {
# 1931 + let _ = tx.send(Event::GlobalSettingSetResult(Err(format!(
# 1932 + "invalid bool value: {raw}"
# 1933 + ))));
# 1934 + return;
# 1935 + }
# |
Error: CLIPPY_WARNING:
crates/openshell-tui/src/lib.rs:1940:64: warning: you seem to be trying to use `match` for destructuring a single pattern. Consider using `if let`
# |
# 1940 | openshell_core::settings::SettingValueKind::Int => match raw.parse::<i64>() {
# | ________________________________________________________________^
# 1941 | | Ok(v) => setting_value::Value::IntValue(v),
# 1942 | | Err(_) => {
# 1943 | | let _ = tx.send(Event::GlobalSettingSetResult(Err(format!(
# ... |
# 1948 | | },
# | |_____________^
# |
# = help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.94.0/index.html#single_match_else
# help: try
# |
# 1940 ~ openshell_core::settings::SettingValueKind::Int => if let Ok(v) = raw.parse::<i64>() { setting_value::Value::IntValue(v) } else {
# 1941 + let _ = tx.send(Event::GlobalSettingSetResult(Err(format!(
# 1942 + "invalid int value: {raw}"
# 1943 + ))));
# 1944 + return;
# 1945 ~ },
# |
Error: CLIPPY_WARNING:
crates/openshell-tui/src/lib.rs:2032:17: warning: you seem to be trying to use `match` for destructuring a single pattern. Consider using `if let`
# |
# 2032 | / match openshell_core::settings::parse_bool_like(&raw) {
# 2033 | | Some(v) => setting_value::Value::BoolValue(v),
# 2034 | | None => {
# 2035 | | let _ = tx.send(Event::SandboxSettingSetResult(Err(format!(
# ... |
# 2040 | | }
# | |_________________^
# |
# = help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.94.0/index.html#single_match_else
# help: try
# |
# 2032 ~ if let Some(v) = openshell_core::settings::parse_bool_like(&raw) { setting_value::Value::BoolValue(v) } else {
# 2033 + let _ = tx.send(Event::SandboxSettingSetResult(Err(format!(
# 2034 + "invalid bool value: {raw}"
# 2035 + ))));
# 2036 + return;
# 2037 + }
# |
Error: CLIPPY_WARNING:
crates/openshell-tui/src/lib.rs:2042:64: warning: you seem to be trying to use `match` for destructuring a single pattern. Consider using `if let`
# |
# 2042 | openshell_core::settings::SettingValueKind::Int => match raw.parse::<i64>() {
# | ________________________________________________________________^
# 2043 | | Ok(v) => setting_value::Value::IntValue(v),
# 2044 | | Err(_) => {
# 2045 | | let _ = tx.send(Event::SandboxSettingSetResult(Err(format!(
# ... |
# 2050 | | },
# | |_____________^
# |
# = help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.94.0/index.html#single_match_else
# help: try
# |
# 2042 ~ openshell_core::settings::SettingValueKind::Int => if let Ok(v) = raw.parse::<i64>() { setting_value::Value::IntValue(v) } else {
# 2043 + let _ = tx.send(Event::SandboxSettingSetResult(Err(format!(
# 2044 + "invalid int value: {raw}"
# 2045 + ))));
# 2046 + return;
# 2047 ~ },
# |
Error: CLIPPY_WARNING:
crates/openshell-tui/src/theme.rs:216:27: warning: item in documentation is missing backticks
# |
# 216 | /// iTerm2, Terminal.app, WezTerm, Alacritty, and most modern terminals.
# | ^^^^^^^
# |
# = help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.94.0/index.html#doc_markdown
# help: try
# |
# 216 - /// iTerm2, Terminal.app, WezTerm, Alacritty, and most modern terminals.
# 216 + /// iTerm2, Terminal.app, `WezTerm`, Alacritty, and most modern terminals.
# |
Error: CLIPPY_WARNING:
crates/openshell-tui/src/ui/create_provider.rs:333:30: warning: variables can be used directly in the `format!` string
# |
# 333 | let padded = format!("{:width$}", env_name, width = max_name_len);
# | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
# |
# = help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.94.0/index.html#uninlined_format_args
# = note: `-W clippy::uninlined-format-args` implied by `-W clippy::pedantic`
# = help: to override `-W clippy::pedantic` add `#[allow(clippy::uninlined_format_args)]`
# help: change this to
# |
# 333 - let padded = format!("{:width$}", env_name, width = max_name_len);
# 333 + let padded = format!("{env_name:max_name_len$}");
# |
Error: CLIPPY_WARNING:
crates/openshell-tui/src/ui/create_provider.rs:356:5: warning: all if blocks contain the same code at the end
# |
# 356 | / idx += 1;
# 357 | | }
# | |_____^
# |
# = help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.94.0/index.html#branches_sharing_code
# = note: `-W clippy::branches-sharing-code` implied by `-W clippy::nursery`
# = help: to override `-W clippy::nursery` add `#[allow(clippy::branches_sharing_code)]`
# help: consider moving these statements after the if
# |
# 356 ~ }
# 357 + idx += 1;
# |
Error: CLIPPY_WARNING:
crates/openshell-tui/src/ui/create_sandbox.rs:307:22: warning: manual implementation of `.is_multiple_of()`
# |
# 307 | let mouth_open = frame % 2 == 0;
# | ^^^^^^^^^^^^^^ help: replace with: `frame.is_multiple_of(2)`
# |
# = help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.94.0/index.html#manual_is_multiple_of
# = note: `-W clippy::manual-is-multiple-of` implied by `-W clippy::all`
# = help: to override `-W clippy::all` add `#[allow(clippy::manual_is_multiple_of)]`
Error: CLIPPY_WARNING:
crates/openshell-tui/src/ui/create_sandbox.rs:371:9: warning: all if blocks contain the same code at the end
# |
# 371 | / current_str.push(ch);
# 372 | | }
# | |_________^
# |
# = help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.94.0/index.html#branches_sharing_code
# help: consider moving these statements after the if
# |
# 371 ~ }
# 372 + current_str.push(ch);
# |
Error: CLIPPY_WARNING:
crates/openshell-tui/src/ui/global_settings.rs:158:24: warning: casting `usize` to `u16` may truncate the value
# |
# 158 | let popup_height = (lines.len() + 2) as u16;
# | ^^^^^^^^^^^^^^^^^^^^^^^^
# |
# = help: if this is intentional allow the lint with `#[allow(clippy::cast_possible_truncation)]` ...
# = help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.94.0/index.html#cast_possible_truncation
# = note: `-W clippy::cast-possible-truncation` implied by `-W clippy::pedantic`
# = help: to override `-W clippy::pedantic` add `#[allow(clippy::cast_possible_truncation)]`
# help: ... or use `try_from` and handle the error accordingly
# |
# 158 - let popup_height = (lines.len() + 2) as u16;
# 158 + let popup_height = u16::try_from(lines.len() + 2);
# |
Error: CLIPPY_WARNING:
crates/openshell-tui/src/ui/global_settings.rs:242:24: warning: casting `usize` to `u16` may truncate the value
# |
# 242 | let popup_height = (lines.len() + 2) as u16;
# | ^^^^^^^^^^^^^^^^^^^^^^^^
# |
# = help: if this is intentional allow the lint with `#[allow(clippy::cast_possible_truncation)]` ...
# = help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.94.0/index.html#cast_possible_truncation
# help: ... or use `try_from` and handle the error accordingly
# |
# 242 - let popup_height = (lines.len() + 2) as u16;
# 242 + let popup_height = u16::try_from(lines.len() + 2);
# |
Error: CLIPPY_WARNING:
crates/openshell-tui/src/ui/mod.rs:4:1: warning: pub(crate) module inside private module
# |
# 4 | pub(crate) mod create_provider;
# | ----------^^^^^^^^^^^^^^^^^^^^
# | |
# | help: consider using: `pub`
# |
# = help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.94.0/index.html#redundant_pub_crate
# = note: `-W clippy::redundant-pub-crate` implied by `-W clippy::nursery`
# = help: to override `-W clippy::nursery` add `#[allow(clippy::redundant_pub_crate)]`
Error: CLIPPY_WARNING:
crates/openshell-tui/src/ui/mod.rs:5:1: warning: pub(crate) module inside private module
# |
# 5 | pub(crate) mod create_sandbox;
# | ----------^^^^^^^^^^^^^^^^^^^
# | |
# | help: consider using: `pub`
# |
# = help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.94.0/index.html#redundant_pub_crate
Error: CLIPPY_WARNING:
crates/openshell-tui/src/ui/mod.rs:7:1: warning: pub(crate) module inside private module
# |
# 7 | pub(crate) mod global_settings;
# | ----------^^^^^^^^^^^^^^^^^^^^
# | |
# | help: consider using: `pub`
# |
# = help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.94.0/index.html#redundant_pub_crate
Error: CLIPPY_WARNING:
crates/openshell-tui/src/ui/mod.rs:8:1: warning: pub(crate) module inside private module
# |
# 8 | pub(crate) mod providers;
# | ----------^^^^^^^^^^^^^^
# | |
# | help: consider using: `pub`
# |
# = help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.94.0/index.html#redundant_pub_crate
Error: CLIPPY_WARNING:
crates/openshell-tui/src/ui/mod.rs:9:1: warning: pub(crate) module inside private module
# |
# 9 | pub(crate) mod sandbox_detail;
# | ----------^^^^^^^^^^^^^^^^^^^
# | |
# | help: consider using: `pub`
# |
# = help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.94.0/index.html#redundant_pub_crate
Error: CLIPPY_WARNING:
crates/openshell-tui/src/ui/mod.rs:11:1: warning: pub(crate) module inside private module
# |
# 11 | pub(crate) mod sandbox_logs;
# | ----------^^^^^^^^^^^^^^^^^
# | |
# | help: consider using: `pub`
# |
# = help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.94.0/index.html#redundant_pub_crate
Error: CLIPPY_WARNING:
crates/openshell-tui/src/ui/mod.rs:13:1: warning: pub(crate) module inside private module
# |
# 13 | pub(crate) mod sandbox_settings;
# | ----------^^^^^^^^^^^^^^^^^^^^^
# | |
# | help: consider using: `pub`
# |
# = help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.94.0/index.html#redundant_pub_crate
Error: CLIPPY_WARNING:
crates/openshell-tui/src/ui/mod.rs:14:1: warning: pub(crate) module inside private module
# |
# 14 | pub(crate) mod sandboxes;
# | ----------^^^^^^^^^^^^^^
# | |
# | help: consider using: `pub`
# |
# = help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.94.0/index.html#redundant_pub_crate
Error: CLIPPY_WARNING:
crates/openshell-tui/src/ui/mod.rs:92:5: warning: this `if` statement can be collapsed
# |
# 92 | / if app.focus == Focus::SandboxLogs {
# 93 | | if let Some(detail_idx) = app.log_detail_index {
# 94 | | let filtered: Vec<&app::LogLine> = app.filtered_log_lines();
# 95 | | if let Some(log) = filtered.get(detail_idx) {
# ... |
# 99 | | }
# | |_____^
# |
# = help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.94.0/index.html#collapsible_if
# = note: `-W clippy::collapsible-if` implied by `-W clippy::all`
# = help: to override `-W clippy::all` add `#[allow(clippy::collapsible_if)]`
# help: collapse nested if block
# |
# 92 ~ if app.focus == Focus::SandboxLogs
# 93 ~ && let Some(detail_idx) = app.log_detail_index {
# 94 | let filtered: Vec<&app::LogLine> = app.filtered_log_lines();
# ...
# 97 | }
# 98 ~ }
# |
Error: CLIPPY_WARNING:
crates/openshell-tui/src/ui/mod.rs:328:39: warning: called `map(<f>).unwrap_or(<a>)` on an `Option` value
# |
# 328 | let selected_status = app
# | _______________________________________^
# 329 | | .draft_chunks
# 330 | | .get(app.draft_scroll + app.draft_selected)
# 331 | | .map(|c| c.status.as_str())
# 332 | | .unwrap_or("");
# | |__________________________________^
# |
# = help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.94.0/index.html#map_unwrap_or
# help: use `map_or(<a>, <f>)` instead
# |
# 331 - .map(|c| c.status.as_str())
# 332 - .unwrap_or("");
# 331 + .map_or("", |c| c.status.as_str());
# |
Error: CLIPPY_WARNING:
crates/openshell-tui/src/ui/mod.rs:459:1: warning: pub(crate) function inside private module
# |
# 459 | pub(crate) fn centered_popup(percent_x: u16, height: u16, area: Rect) -> Rect {
# | ----------^^^^^^^^^^^^^^^^^^
# | |
# | help: consider using: `pub`
# |
# = help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.94.0/index.html#redundant_pub_crate
Error: CLIPPY_WARNING:
crates/openshell-tui/src/ui/sandbox_draft.rs:327:24: warning: casting `usize` to `u16` may truncate the value
# |
# 327 | let popup_height = (7 + list_lines) as u16;
# | ^^^^^^^^^^^^^^^^^^^^^^^
# |
# = help: if this is intentional allow the lint with `#[allow(clippy::cast_possible_truncation)]` ...
# = help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.94.0/index.html#cast_possible_truncation
# help: ... or use `try_from` and handle the error accordingly
# |
# 327 - let popup_height = (7 + list_lines) as u16;
# 327 + let popup_height = u16::try_from(7 + list_lines);
# |
Error: CLIPPY_WARNING:
crates/openshell-tui/src/ui/sandbox_logs.rs:338:30: warning: item in documentation is missing backticks
# |
# 338 | /// Priority field order for L7_REQUEST log lines.
# | ^^^^^^^^^^
# |
# = help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.94.0/index.html#doc_markdown
# help: try
# |
# 338 - /// Priority field order for L7_REQUEST log lines.
# 338 + /// Priority field order for `L7_REQUEST` log lines.
# |
Error: CLIPPY_WARNING:
crates/openshell-tui/src/ui/sandbox_logs.rs:351:1: warning: pub(crate) function inside private module
# |
# 351 | pub(crate) fn ordered_fields<'a>(log: &'a LogLine) -> Vec<(&'a str, &'a str)> {
# | ----------^^^^^^^^^^^^^^^^^^
# | |
# | help: consider using: `pub`
# |
# = help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.94.0/index.html#redundant_pub_crate
Error: CLIPPY_WARNING:
crates/openshell-tui/src/ui/sandbox_logs.rs:351:30: warning: the following explicit lifetimes could be elided: 'a
# |
# 351 | pub(crate) fn ordered_fields<'a>(log: &'a LogLine) -> Vec<(&'a str, &'a str)> {
# | ^^ ^^ ^^ ^^
# |
# = help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.94.0/index.html#needless_lifetimes
# = note: `-W clippy::needless-lifetimes` implied by `-W clippy::all`
# = help: to override `-W clippy::all` add `#[allow(clippy::needless_lifetimes)]`
# help: elide the lifetimes
# |
# 351 - pub(crate) fn ordered_fields<'a>(log: &'a LogLine) -> Vec<(&'a str, &'a str)> {
# 351 + pub(crate) fn ordered_fields(log: &LogLine) -> Vec<(&str, &str)> {
# |
Error: CLIPPY_WARNING:
crates/openshell-tui/src/ui/sandbox_logs.rs:361:5: warning: use Option::map_or_else instead of an if let/else
# |
# 361 | / match order {
# 362 | | Some(priority) => {
# 363 | | let mut result: Vec<(&str, &str)> = Vec::with_capacity(log.fields.len());
# ... |
# 391 | | }
# | |_____^
# |
# = help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.94.0/index.html#option_if_let_else
# = note: `-W clippy::option-if-let-else` implied by `-W clippy::nursery`
# = help: to override `-W clippy::nursery` add `#[allow(clippy::option_if_let_else)]`
# help: try
# |
# 361 ~ order.map_or_else(|| {
# 362 + // Default: alphabetical.
# 363 + let mut pairs: Vec<(&str, &str)> = log
# 364 + .fields
# 365 + .iter()
# 366 + .map(|(k, v)| (k.as_str(), v.as_str()))
# 367 + .collect();
# 368 + pairs.sort_by_key(|(k, _)| *k);
# 369 + pairs
# 370 + }, |priority| {
# 371 + let mut result: Vec<(&str, &str)> = Vec::with_capacity(log.fields.len());
# 372 + // Add priority fields first (in order).
# 373 + for &key in priority {
# 374 + if let Some(val) = log.fields.get(key) {
# 375 + result.push((key, val.as_str()));
# 376 + }
# 377 + }
# 378 + // Add remaining fields alphabetically.
# 379 + let mut remaining: Vec<(&str, &str)> = log
# 380 + .fields
# 381 + .iter()
# 382 + .filter(|(k, _)| !priority.contains(&k.as_str()))
# 383 + .map(|(k, v)| (k.as_str(), v.as_str()))
# 384 + .collect();
# 385 + remaining.sort_by_key(|(k, _)| *k);
# 386 + result.extend(remaining);
# 387 + result
# 388 + })
# |
Error: CLIPPY_WARNING:
crates/openshell-tui/src/ui/sandbox_logs.rs:361:5: warning: you seem to be trying to use `match` for destructuring a single pattern. Consider using `if let`
# |
# 361 | / match order {
# 362 | | Some(priority) => {
# 363 | | let mut result: Vec<(&str, &str)> = Vec::with_capacity(log.fields.len());
# ... |
# 391 | | }
# | |_____^
# |
# = help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.94.0/index.html#single_match_else
# = note: `-W clippy::single-match-else` implied by `-W clippy::pedantic`
# = help: to override `-W clippy::pedantic` add `#[allow(clippy::single_match_else)]`
# help: try
# |
# 361 ~ if let Some(priority) = order {
# 362 + let mut result: Vec<(&str, &str)> = Vec::with_capacity(log.fields.len());
# 363 + // Add priority fields first (in order).
# 364 + for &key in priority {
# 365 + if let Some(val) = log.fields.get(key) {
# 366 + result.push((key, val.as_str()));
# 367 + }
# 368 + }
# 369 + // Add remaining fields alphabetically.
# 370 + let mut remaining: Vec<(&str, &str)> = log
# 371 + .fields
# 372 + .iter()
# 373 + .filter(|(k, _)| !priority.contains(&k.as_str()))
# 374 + .map(|(k, v)| (k.as_str(), v.as_str()))
# 375 + .collect();
# 376 + remaining.sort_by_key(|(k, _)| *k);
# 377 + result.extend(remaining);
# 378 + result
# 379 + } else {
# 380 + // Default: alphabetical.
# 381 + let mut pairs: Vec<(&str, &str)> = log
# 382 + .fields
# 383 + .iter()
# 384 + .map(|(k, v)| (k.as_str(), v.as_str()))
# 385 + .collect();
# 386 + pairs.sort_by_key(|(k, _)| *k);
# 387 + pairs
# 388 + }
# |
Error: CLIPPY_WARNING:
crates/openshell-tui/src/ui/sandbox_logs.rs:407:1: warning: pub(crate) function inside private module
# |
# 407 | pub(crate) fn format_short_time(epoch_ms: i64) -> String {
# | ----------^^^^^^^^^^^^^^^^^^^^^
# | |
# | help: consider using: `pub`
# |
# = help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.94.0/index.html#redundant_pub_crate
Error: CLIPPY_WARNING:
crates/openshell-tui/src/ui/sandbox_logs.rs:423:1: warning: pub(crate) function inside private module
# |
# 423 | pub(crate) fn format_log_line_plain(log: &LogLine) -> String {
# | ----------^^^^^^^^^^^^^^^^^^^^^^^^^
# | |
# | help: consider using: `pub`
# |
# = help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.94.0/index.html#redundant_pub_crate
Error: CLIPPY_WARNING:
crates/openshell-tui/src/ui/sandbox_settings.rs:166:24: warning: casting `usize` to `u16` may truncate the value
# |
# 166 | let popup_height = (lines.len() + 2) as u16;
# | ^^^^^^^^^^^^^^^^^^^^^^^^
# |
# = help: if this is intentional allow the lint with `#[allow(clippy::cast_possible_truncation)]` ...
# = help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.94.0/index.html#cast_possible_truncation
# help: ... or use `try_from` and handle the error accordingly
# |
# 166 - let popup_height = (lines.len() + 2) as u16;
# 166 + let popup_height = u16::try_from(lines.len() + 2);
# |
Error: CLIPPY_WARNING:
crates/openshell-tui/src/ui/sandbox_settings.rs:210:24: warning: casting `usize` to `u16` may truncate the value
# |
# 210 | let popup_height = (lines.len() + 2) as u16;
# | ^^^^^^^^^^^^^^^^^^^^^^^^
# |
# = help: if this is intentional allow the lint with `#[allow(clippy::cast_possible_truncation)]` ...
# = help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.94.0/index.html#cast_possible_truncation
# help: ... or use `try_from` and handle the error accordingly
# |
# 210 - let popup_height = (lines.len() + 2) as u16;
# 210 + let popup_height = u16::try_from(lines.len() + 2);
# |
Error: CLIPPY_WARNING:
crates/openshell-tui/src/ui/sandbox_settings.rs:248:24: warning: casting `usize` to `u16` may truncate the value
# |
# 248 | let popup_height = (lines.len() + 2) as u16;
# | ^^^^^^^^^^^^^^^^^^^^^^^^
# |
# = help: if this is intentional allow the lint with `#[allow(clippy::cast_possible_truncation)]` ...
# = help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.94.0/index.html#cast_possible_truncation
# help: ... or use `try_from` and handle the error accordingly
# |
# 248 - let popup_height = (lines.len() + 2) as u16;
# 248 + let popup_height = u16::try_from(lines.len() + 2);
# |
Error: CPPCHECK_WARNING (CWE-562):
openshell-0.0.21/vendor/protobuf-src/protobuf/src/google/protobuf/compiler/python/pyi_generator.cc:602: error[danglingLifetime]: Non-local variable 'printer_' will use pointer to local variable 'printer'.
# 600| GOOGLE_CHECK(output.get());
# 601| io::Printer printer(output.get(), '$');
# 602|-> printer_ = &printer;
# 603|
# 604| // item map will store "DESCRIPTOR", top level extensions, top level enum
Error: CPPCHECK_WARNING (CWE-562):
openshell-0.0.21/vendor/protobuf-src/protobuf/src/google/protobuf/map.h:718: error[returnTempReference]: Reference to temporary returned.
# 716| template <typename K>
# 717| value_type& operator[](K&& k) {
# 718|-> return *try_emplace(std::forward<K>(k)).first;
# 719| }
# 720|
Error: CPPCHECK_WARNING (CWE-562):
openshell-0.0.21/vendor/protobuf-src/protobuf/src/google/protobuf/util/internal/default_value_objectwriter.cc:530: error[invalidLifetime]: Using pointer to local variable 'node' that is out of scope.
# 528| }
# 529|
# 530|-> child->set_is_placeholder(false);
# 531| if (child->kind() == OBJECT && child->number_of_children() == 0) {
# 532| child->PopulateChildren(typeinfo_);
Error: CPPCHECK_WARNING (CWE-562):
openshell-0.0.21/vendor/protobuf-src/protobuf/src/google/protobuf/util/internal/default_value_objectwriter.cc:531: error[invalidLifetime]: Using pointer to local variable 'node' that is out of scope.
# 529|
# 530| child->set_is_placeholder(false);
# 531|-> if (child->kind() == OBJECT && child->number_of_children() == 0) {
# 532| child->PopulateChildren(typeinfo_);
# 533| }
Error: CPPCHECK_WARNING (CWE-562):
openshell-0.0.21/vendor/protobuf-src/protobuf/src/google/protobuf/util/internal/default_value_objectwriter.cc:532: error[invalidLifetime]: Using pointer to local variable 'node' that is out of scope.
# 530| child->set_is_placeholder(false);
# 531| if (child->kind() == OBJECT && child->number_of_children() == 0) {
# 532|-> child->PopulateChildren(typeinfo_);
# 533| }
# 534|
Error: CPPCHECK_WARNING (CWE-562):
openshell-0.0.21/vendor/protobuf-src/protobuf/src/google/protobuf/util/internal/default_value_objectwriter.cc:536: error[invalidLifetime]: Using pointer to local variable 'node' that is out of scope.
# 534|
# 535| stack_.push(current_);
# 536|-> current_ = child;
# 537| return this;
# 538| }
Error: CPPCHECK_WARNING (CWE-562):
openshell-0.0.21/vendor/protobuf-src/protobuf/src/google/protobuf/util/internal/default_value_objectwriter.cc:573: error[invalidLifetime]: Using pointer to local variable 'node' that is out of scope.
# 571| current_->AddChild(node.release());
# 572| }
# 573|-> child->set_is_placeholder(false);
# 574|
# 575| stack_.push(current_);
Error: CPPCHECK_WARNING (CWE-562):
openshell-0.0.21/vendor/protobuf-src/protobuf/src/google/protobuf/util/internal/default_value_objectwriter.cc:576: error[invalidLifetime]: Using pointer to local variable 'node' that is out of scope.
# 574|
# 575| stack_.push(current_);
# 576|-> current_ = child;
# 577| return this;
# 578| }
Error: CPPCHECK_WARNING (CWE-562):
openshell-0.0.21/vendor/protobuf-src/protobuf/src/google/protobuf/util/internal/proto_writer.h:129: error[returnTempReference]: Reference to temporary returned.
# 127| // Returns the location tracker to use for tracking locations for errors.
# 128| const LocationTrackerInterface& location() {
# 129|-> return element_ != nullptr ? *element_ : *tracker_;
# 130| }
# 131|