clippy
37 warnings
Details
Results
Message level | Amount |
---|---|
Internal compiler error | 0 |
Error | 0 |
Warning | 37 |
Note | 0 |
Help | 0 |
Versions
- rustc 1.75.0 (82e1608df 2023-12-21)
- cargo 1.75.0 (1d8b05cdd 2023-11-20)
- clippy 0.1.75 (82e1608 2023-12-21)
Annotations
Check warning on line 129 in src/bam/record.rs
github-actions / clippy
the type `hts_sys::bam1_t` does not permit being left uninitialized
warning: the type `hts_sys::bam1_t` does not permit being left uninitialized
--> src/bam/record.rs:129:42
|
129 | let mut inner = unsafe { MaybeUninit::uninit().assume_init() };
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
| |
| this code causes undefined behavior when executed
| help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
|
= note: integers must be initialized
= note: `#[warn(invalid_value)]` on by default
Check warning on line 33 in src/tpool.rs
github-actions / clippy
usage of an `Arc` that is not `Send` or `Sync`
warning: usage of an `Arc` that is not `Send` or `Sync`
--> src/tpool.rs:33:26
|
33 | let handle = Arc::new(RefCell::new(inner));
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
= note: the trait `Send` is not implemented for `RefCell<InnerThreadPool>`
= note: the trait `Sync` is not implemented for `RefCell<InnerThreadPool>`
= note: required for `Arc<RefCell<InnerThreadPool>>` to implement `Send` and `Sync`
= help: consider using an `Rc` instead or wrapping the inner type with a `Mutex`
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#arc_with_non_send_sync
= note: `#[warn(clippy::arc_with_non_send_sync)]` on by default
Check warning on line 235 in src/bgzf/mod.rs
github-actions / clippy
unneeded `return` statement
warning: unneeded `return` statement
--> src/bgzf/mod.rs:235:9
|
235 | return Ok(ffi::CString::new(write_string).unwrap());
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return
help: remove `return`
|
235 - return Ok(ffi::CString::new(write_string).unwrap());
235 + Ok(ffi::CString::new(write_string).unwrap())
|
Check warning on line 1471 in src/bcf/record.rs
github-actions / clippy
redundant closure
warning: redundant closure
--> src/bcf/record.rs:1471:22
|
1471 | .map(|s| trim_slice(s))
| ^^^^^^^^^^^^^^^^^ help: replace the closure with the function itself: `trim_slice`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure
Check warning on line 1448 in src/bcf/record.rs
github-actions / clippy
redundant closure
warning: redundant closure
--> src/bcf/record.rs:1448:22
|
1448 | .map(|s| trim_slice(s))
| ^^^^^^^^^^^^^^^^^ help: replace the closure with the function itself: `trim_slice`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure
= note: `#[warn(clippy::redundant_closure)]` on by default
Check warning on line 1329 in src/bcf/record.rs
github-actions / clippy
very complex type used. Consider factoring parts into `type` definitions
warning: very complex type used. Consider factoring parts into `type` definitions
--> src/bcf/record.rs:1329:32
|
1329 | pub fn string(mut self) -> Result<Option<BufferBacked<'b, Vec<&'b [u8]>, B>>> {
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity
= note: `#[warn(clippy::type_complexity)]` on by default
Check warning on line 1196 in src/bcf/record.rs
github-actions / clippy
dereferencing a tuple pattern where every element takes a reference
warning: dereferencing a tuple pattern where every element takes a reference
--> src/bcf/record.rs:1196:13
|
1196 | let &Genotype(ref alleles) = self;
| ^^^^^^^^^^^^^^^^^^^^^^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrowed_reference
= note: `#[warn(clippy::needless_borrowed_reference)]` on by default
help: try removing the `&` and `ref` parts
|
1196 - let &Genotype(ref alleles) = self;
1196 + let Genotype(alleles) = self;
|
Check warning on line 1097 in src/bcf/record.rs
github-actions / clippy
returning the result of a `let` binding from a block
warning: returning the result of a `let` binding from a block
--> src/bcf/record.rs:1097:13
|
1096 | let inner = htslib::bcf_dup(self.inner);
| ---------------------------------------- unnecessary `let` binding
1097 | inner
| ^^^^^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return
= note: `#[warn(clippy::let_and_return)]` on by default
help: return the expression directly
|
1096 ~
1097 ~ htslib::bcf_dup(self.inner)
|
Check warning on line 126 in src/bcf/record.rs
github-actions / clippy
casting raw pointers to the same type and constness is unnecessary (`*mut libc::c_void` -> `*mut libc::c_void`)
warning: casting raw pointers to the same type and constness is unnecessary (`*mut libc::c_void` -> `*mut libc::c_void`)
--> src/bcf/record.rs:126:26
|
126 | ::libc::free(self.inner as *mut ::libc::c_void);
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `self.inner`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast
Check warning on line 120 in src/bcf/record.rs
github-actions / clippy
you should consider adding a `Default` implementation for `Buffer`
warning: you should consider adding a `Default` implementation for `Buffer`
--> src/bcf/record.rs:115:5
|
115 | / pub fn new() -> Self {
116 | | Buffer {
117 | | inner: ptr::null_mut(),
118 | | len: 0,
119 | | }
120 | | }
| |_____^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default
= note: `#[warn(clippy::new_without_default)]` on by default
help: try adding this
|
114 + impl Default for Buffer {
115 + fn default() -> Self {
116 + Self::new()
117 + }
118 + }
|
Check warning on line 120 in src/bcf/header.rs
github-actions / clippy
casting raw pointers to the same type and constness is unnecessary (`*mut i32` -> `*mut i32`)
warning: casting raw pointers to the same type and constness is unnecessary (`*mut i32` -> `*mut i32`)
--> src/bcf/header.rs:120:17
|
120 | imap.as_mut_ptr() as *mut i32,
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `imap.as_mut_ptr()`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast
Check warning on line 119 in src/bcf/header.rs
github-actions / clippy
casting raw pointers to the same type and constness is unnecessary (`*const *mut i8` -> `*const *mut i8`)
warning: casting raw pointers to the same type and constness is unnecessary (`*const *mut i8` -> `*const *mut i8`)
--> src/bcf/header.rs:119:17
|
119 | name_pointers.as_ptr() as *const *mut c_char,
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `name_pointers.as_ptr()`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast
Check warning on line 1289 in src/bam/mod.rs
github-actions / clippy
this expression creates a reference which is immediately dereferenced by the compiler
warning: this expression creates a reference which is immediately dereferenced by the compiler
--> src/bam/mod.rs:1289:32
|
1289 | match self.reader.read(&mut record) {
| ^^^^^^^^^^^ help: change this to: `record`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow
= note: `#[warn(clippy::needless_borrow)]` on by default
Check warning on line 1123 in src/bam/mod.rs
github-actions / clippy
casting to the same type is unnecessary (`usize` -> `usize`)
warning: casting to the same type is unnecessary (`usize` -> `usize`)
--> src/bam/mod.rs:1123:17
|
1123 | ((l_text + 1) as usize).try_into().unwrap(),
| ^^^^^^^^^^^^^^^^^^^^^^^ help: try: `(l_text + 1)`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast
Check warning on line 2449 in src/bam/record.rs
github-actions / clippy
unneeded `return` statement
warning: unneeded `return` statement
--> src/bam/record.rs:2449:9
|
2449 | return Some(Ok(data));
| ^^^^^^^^^^^^^^^^^^^^^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return
help: remove `return`
|
2449 - return Some(Ok(data));
2449 + Some(Ok(data))
|
Check warning on line 2415 in src/bam/record.rs
github-actions / clippy
unneeded `return` statement
warning: unneeded `return` statement
--> src/bam/record.rs:2415:9
|
2415 | return self.mod_state.query_type(code);
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return
help: remove `return`
|
2415 - return self.mod_state.query_type(code);
2415 + self.mod_state.query_type(code)
|
Check warning on line 2414 in src/bam/record.rs
github-actions / clippy
this lifetime isn't used in the function definition
warning: this lifetime isn't used in the function definition
--> src/bam/record.rs:2414:23
|
2414 | pub fn query_type<'a>(&self, code: i32) -> Result<BaseModificationMetadata> {
| ^^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#extra_unused_lifetimes
Check warning on line 2402 in src/bam/record.rs
github-actions / clippy
the following explicit lifetimes could be elided: 'a
warning: the following explicit lifetimes could be elided: 'a
--> src/bam/record.rs:2402:12
|
2402 | fn new<'a>(r: &'a Record) -> Result<BaseModificationsIter<'a>> {
| ^^ ^^ ^^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes
help: elide the lifetimes
|
2402 - fn new<'a>(r: &'a Record) -> Result<BaseModificationsIter<'a>> {
2402 + fn new(r: &Record) -> Result<BaseModificationsIter<'_>> {
|
Check warning on line 2389 in src/bam/record.rs
github-actions / clippy
unneeded `return` statement
warning: unneeded `return` statement
--> src/bam/record.rs:2389:23
|
2389 | Err(e) => return Some(Err(e)),
| ^^^^^^^^^^^^^^^^^^^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return
help: remove `return`
|
2389 | Err(e) => Some(Err(e)),
| ~~~~~~~~~~~~
Check warning on line 2386 in src/bam/record.rs
github-actions / clippy
unneeded `return` statement
warning: unneeded `return` statement
--> src/bam/record.rs:2386:21
|
2386 | return Some(Ok(data));
| ^^^^^^^^^^^^^^^^^^^^^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return
help: remove `return`
|
2386 - return Some(Ok(data));
2386 + Some(Ok(data))
|
Check warning on line 2383 in src/bam/record.rs
github-actions / clippy
unneeded `return` statement
warning: unneeded `return` statement
--> src/bam/record.rs:2383:21
|
2383 | return None;
| ^^^^^^^^^^^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return
help: remove `return`
|
2383 - return None;
2383 + None
|
Check warning on line 2366 in src/bam/record.rs
github-actions / clippy
unneeded `return` statement
warning: unneeded `return` statement
--> src/bam/record.rs:2366:9
|
2366 | return self.mod_state.query_type(code);
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return
help: remove `return`
|
2366 - return self.mod_state.query_type(code);
2366 + self.mod_state.query_type(code)
|
Check warning on line 2365 in src/bam/record.rs
github-actions / clippy
this lifetime isn't used in the function definition
warning: this lifetime isn't used in the function definition
--> src/bam/record.rs:2365:23
|
2365 | pub fn query_type<'a>(&self, code: i32) -> Result<BaseModificationMetadata> {
| ^^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#extra_unused_lifetimes
Check warning on line 2356 in src/bam/record.rs
github-actions / clippy
the following explicit lifetimes could be elided: 'a
warning: the following explicit lifetimes could be elided: 'a
--> src/bam/record.rs:2356:12
|
2356 | fn new<'a>(r: &'a Record) -> Result<BaseModificationsPositionIter<'a>> {
| ^^ ^^ ^^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes
help: elide the lifetimes
|
2356 - fn new<'a>(r: &'a Record) -> Result<BaseModificationsPositionIter<'a>> {
2356 + fn new(r: &Record) -> Result<BaseModificationsPositionIter<'_>> {
|
Check warning on line 2335 in src/bam/record.rs
github-actions / clippy
unneeded `return` statement
warning: unneeded `return` statement
--> src/bam/record.rs:2331:17
|
2331 | / return Ok(BaseModificationMetadata {
2332 | | strand,
2333 | | implicit,
2334 | | canonical: canonical.try_into().unwrap(),
2335 | | });
| |__________________^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return
help: remove `return`
|
2331 ~ Ok(BaseModificationMetadata {
2332 + strand,
2333 + implicit,
2334 + canonical: canonical.try_into().unwrap(),
2335 ~ })
|