Skip to content

feat: Add fasta::build function + FaidxBuildError (#418) #783

feat: Add fasta::build function + FaidxBuildError (#418)

feat: Add fasta::build function + FaidxBuildError (#418) #783

GitHub Actions / clippy succeeded Mar 27, 2024 in 0s

clippy

37 warnings

Details

Results

Message level Amount
Internal compiler error 0
Error 0
Warning 37
Note 0
Help 0

Versions

  • rustc 1.77.0 (aedd173a2 2024-03-17)
  • cargo 1.77.0 (3fe68eabf 2024-02-29)
  • clippy 0.1.77 (aedd173 2024-03-17)

Annotations

Check warning on line 129 in src/bam/record.rs

See this annotation in the file changed.

@github-actions 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

See this annotation in the file changed.

@github-actions github-actions / clippy

usage of an `Arc` that is not `Send` and `Sync`

warning: usage of an `Arc` that is not `Send` and `Sync`
  --> src/tpool.rs:33:26
   |
33 |             let handle = Arc::new(RefCell::new(inner));
   |                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
   |
   = note: `Arc<RefCell<InnerThreadPool>>` is not `Send` and `Sync` as:
   = note: - the trait `Send` is not implemented for `RefCell<InnerThreadPool>`
   = note: - the trait `Sync` is not implemented for `RefCell<InnerThreadPool>`
   = help: consider using an `Rc` instead. `Arc` does not provide benefits for non `Send` and `Sync` types
   = note: if you intend to use `Arc` with `Send` and `Sync` traits
   = note: wrap the inner type with a `Mutex` or implement `Send` and `Sync` for `RefCell<InnerThreadPool>`
   = 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

See this annotation in the file changed.

@github-actions 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

See this annotation in the file changed.

@github-actions 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

See this annotation in the file changed.

@github-actions 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

See this annotation in the file changed.

@github-actions 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

See this annotation in the file changed.

@github-actions 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

See this annotation in the file changed.

@github-actions 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

See this annotation in the file changed.

@github-actions 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

See this annotation in the file changed.

@github-actions 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

See this annotation in the file changed.

@github-actions 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

See this annotation in the file changed.

@github-actions 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

See this annotation in the file changed.

@github-actions 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

See this annotation in the file changed.

@github-actions 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

See this annotation in the file changed.

@github-actions 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

See this annotation in the file changed.

@github-actions 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

See this annotation in the file changed.

@github-actions 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

See this annotation in the file changed.

@github-actions 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

See this annotation in the file changed.

@github-actions 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

See this annotation in the file changed.

@github-actions 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

See this annotation in the file changed.

@github-actions 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

See this annotation in the file changed.

@github-actions 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

See this annotation in the file changed.

@github-actions 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

See this annotation in the file changed.

@github-actions 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

See this annotation in the file changed.

@github-actions 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 ~                 })
     |