SonarScanner CLI built‑in clippy uses unknown/outdated lints?

I have the following set-up:

  • SonarScanner CLI 8.0.1.6346-windows-x64obtained from https://binaries.sonarsource.com/Distribution/sonar-scanner-cli by downloading and unpacking the zip file.
  • Runs in a GitHub Action on a Github-hosted windows-2022 runner
  • Project language: Rust
  • Rust tools installed on runner:
    • rustc/cargo 1.93.1
    • clippy 0.1.93
  • SonarScanner CLI is invoked with
    • -Dsonar.rust.clippy.enabled=true -Dsonar.verbose=true
  • No external clippy report is provided

In the logs of the action, I get the following:

13:36:12.609 INFO  Sensor Clippy [rust]
...
13:36:12.624 DEBUG Checking Cargo version
13:36:12.840 DEBUG Cargo version: cargo 1.93.1 (083ac5135 2025-12-15)
13:36:12.840 DEBUG Checking Clippy version
13:36:13.131 DEBUG Clippy version: clippy 0.1.93 (01f6ddf758 2026-02-11)
13:36:13.184 DEBUG Running Clippy: [cargo, clippy, --quiet, --message-format=json, --, -A, clippy::all, -Wclippy::impl_hash_borrow_with_str_and_bytes, -Wclippy::serde_api_misuse, -Wclippy::unit_return_expecting_ord, -Wclippy::infinite_iter, -Wclippy::misnamed_getter, -Wclippy::unsound_collection_transmute, -Wclippy::inverted_saturating_sub, -Wclippy::mem_replace_with_uninit, -Wclippy::uninit_assumed_init, -Wclippy::derived_hash_with_manual_eq, -Wclippy::unit_cmp, -Wclippy::unit_hash, -Wclippy::transmute_null_to_fn, -Wclippy::match_str_case_mismatch, -Wclippy::transmuting_null, -Wclippy::let_and_return, -Wclippy::enum_clike_unportable_variant, -Wclippy::eq_op, -Wclippy::let_underscore_lock, -Wclippy::mistyped_literal_suffixes, -Wclippy::mut_from_ref, -Wclippy::approx_constant, -Wclippy::modulo_one, -Wclippy::unnecessary_semicolon, -Wclippy::wildcard_imports, -Wclippy::unused_io_amount, -Wclippy::wrong_transmute, -Wclippy::inherent_to_string_shadow_display, -Wclippy::iterator_step_by_zero, -Wclippy::async_yields_async, -Wclippy::redundant_field_names, -Wclippy::zst_offset, -Wclippy::iter_skip_zero, -Wclippy::iter_next_loop, -Wclippy::useless_attribute, -Wclippy::never_loop, -Wclippy::derive_ord_xor_partial_ord, -Wclippy::while_immutable_condition, -Wclippy::uninit_vec, -Wclippy::eager_transmute, -Wclippy::vec_resize_to_zero, -Wclippy::while_float, -Wclippy::panicking_unwrap, -Wclippy::vec_init_then_push, -Wclippy::read_line_without_trim, -Wclippy::recursive_format_impl, -Wclippy::ineffective_bit_mask, -Wclippy::possible_missing_comma, -Wclippy::min_max, -Wclippy::invalid_null_ptr_usage, -Wclippy::nonsensical_open_options, -Wclippy::absurd_extreme_comparisons, -Wclippy::not_unsafe_ptr_arg_deref, -Wclippy::option_env_unwrap, -Wclippy::panicking_overflow_checks, -Wclippy::inline_fn_without_body, -Wclippy::ifs_same_cond, -Wclippy::invisible_characters, -Wclippy::non_octal_unix_permissions, -Wclippy::too_many_arguments, -Wclippy::reversed_empty_ranges, -Wclippy::size_of_in_element_count, -Wclippy::suspicious_splitn, -Wclippy::erasing_op, -Wclippy::no_effect, -Wclippy::self_assignment, -Wclippy::string_to_string, -Wclippy::redundant_comparisons, -Wclippy::cast_slice_different_sizes, -Wclippy::out_of_bounds_indexing, -Wclippy::impossible_comparisons, -Wclippy::invalid_regex, -Wclippy::zero_ptr, -Wclippy::overly_complex_bool_expr, -Wclippy::bad_bit_mask, -Wclippy::almost_swapped, -Wclippy::unnecessary_cast]
...
13:37:41.229 WARN  error: could not compile `<project-name>` (lib) due to 3 previous errors
13:38:27.889 ERROR Failed to run Clippy
...
13:38:32.924 INFO  SonarScanner Engine completed successfully
...
13:38:33.291 INFO  EXECUTION SUCCESS
13:38:33.291 INFO  Total time: 2:43.741s

If I run cargo clippy manually on the same runner with the same args but without --quiet, I get to see what these three errors are:

error[E0602]: unknown lint: `clippy::misnamed_getter`
  |
  = help: did you mean: `clippy::misnamed_getters`
  = note: requested on the command line with `-W clippy::misnamed_getter`
  = note: `-D unknown-lints` implied by `-D warnings`
  = help: to override `-D warnings` add `#[allow(unknown_lints)]`

error: lint `clippy::invalid_null_ptr_usage` has been renamed to `invalid_null_arguments`
  |
  = help: use the new name `invalid_null_arguments`
  = note: requested on the command line with `-W clippy::invalid_null_ptr_usage`
  = note: `-D renamed-and-removed-lints` implied by `-D warnings`
  = help: to override `-D warnings` add `#[allow(renamed_and_removed_lints)]`

error: lint `clippy::string_to_string` has been removed: `clippy:implicit_clone` covers those cases
  |
  = note: requested on the command line with `-W clippy::string_to_string`

For more information about this error, try `rustc --explain E0602`.

It looks like the built-in clippy invokation of SonarScanner CLI uses lints which are unknown/outdated w.r.t. the installed cargo/clippy version.

Is SonarScanner CLI 8.0.1.6346-windows-x64 only compatible with certain older cargo/clippy versions for the built-in clippy invokation?

thanks for reporting @Supernabla , we will fix this. I created ticket here Jira