Skip to content

Fix clippy 0.7.9 - #12

Merged
ajz34 merged 2 commits into
RESTGroup:mainfrom
ajz34:fix-clippy-0.7.9
Aug 10, 2026
Merged

Fix clippy 0.7.9#12
ajz34 merged 2 commits into
RESTGroup:mainfrom
ajz34:fix-clippy-0.7.9

Conversation

@ajz34

@ajz34 ajz34 commented Aug 10, 2026

Copy link
Copy Markdown
Member

No description provided.

ajz34 and others added 2 commits August 9, 2026 23:13
…loading

macOS conda/homebrew and many Linux distros ship only the versioned OpenBLAS
file (`libopenblas.0.dylib` / `libopenblas.so.0`) with no unversioned
`libopenblas.dylib` symlink. The dynamic-loading candidate list only contained
unversioned names, so `dlopen` could not find the library even when
DYLD_LIBRARY_PATH / LD_LIBRARY_PATH was set - users had to fall back to the
RSTSR_DYLOAD* env var with an absolute path.

Add the versioned SONAME (`libopenblas.0.dylib` on macOS, `libopenblas.so.0` on
Linux) as a trailing candidate so the loader finds it via the standard search
paths. Tried last, so unversioned names keep priority where they exist.

Co-authored-by: Claude Code <noreply@anthropic.com>
Co-authored-by: glm-5.2 <service@zhipuai.cn>
The `cdotc_`, `cdotu_`, `zdotc_`, `zdotu_` BLAS FFI declarations used
`-> c_void` as a return type. This came from the generator's `sub_to_func`
conversion, which turns the trailing `*mut c_void` output parameter of the
`*sub_` variants into an (opaque) return type. clippy::c_void_returns flags
`-> c_void` because `c_void` must only be used as a pointer target, never as
a return type; the correct representation of C `void` is the unit type `()`
(omit the return type).

These symbols are unused in the workspace, so dropping the return type is
behavior-neutral. Applied to:

- rstsr-lapack-ffi/src/blas/{ffi_extern,dyload_struct,dyload_compatible}.rs
  (rstsr-kml-ffi/src/blas/* are symlinks to these, so kml is fixed too).
- util_dyload.py: `dyload_main` now strips bare `-> c_void` return types from
  the token before producing any derived output (`ffi_extern`, `dyload_struct`,
  `dyload_compatible`), so future regenerations stay clippy-clean across all
  FFI crates. Pointer params (`*mut c_void`/`*const c_void`) and pointer
  returns (`-> *mut c_void`) are intentionally not matched.

Verified: `cargo clippy --all-targets --all-features -- -D warnings` and the
default-features variant pass clean for the whole workspace; `cargo fmt
--check` passes. The pre-existing `blas`/`cblas` `playground` test failures
(missing `ddotsub_`/`cblas_dgemm` symbols in conda's reference BLAS) are
unrelated and reproduce on the unmodified tree.

Co-authored-by: Claude Code <noreply@anthropic.com>
Co-authored-by: glm-5.2 <service@zhipuai.cn>
@ajz34
ajz34 merged commit e698e67 into RESTGroup:main Aug 10, 2026
2 checks passed
@ajz34
ajz34 deleted the fix-clippy-0.7.9 branch August 10, 2026 03:24
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant