[INFO] fetching crate extended-htslib 0.2.0...
[INFO] testing extended-htslib-0.2.0 against try#c2e32f1c9652b13ed99608599c1e855462f421f3 for pr-146098-7
[INFO] extracting crate extended-htslib 0.2.0 into /workspace/builds/worker-5-tc2/source
[INFO] started tweaking crates.io crate extended-htslib 0.2.0
[INFO] finished tweaking crates.io crate extended-htslib 0.2.0
[INFO] tweaked toml for crates.io crate extended-htslib 0.2.0 written to /workspace/builds/worker-5-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate extended-htslib 0.2.0 on toolchain c2e32f1c9652b13ed99608599c1e855462f421f3
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c2e32f1c9652b13ed99608599c1e855462f421f3" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate extended-htslib 0.2.0 already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c2e32f1c9652b13ed99608599c1e855462f421f3" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c2e32f1c9652b13ed99608599c1e855462f421f3" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 0552ca626a8d5c50e4d0eb53c93b8f2170b6e8dc0f4012bb44c375bb160fdbe2
[INFO] running `Command { std: "docker" "start" "-a" "0552ca626a8d5c50e4d0eb53c93b8f2170b6e8dc0f4012bb44c375bb160fdbe2", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "0552ca626a8d5c50e4d0eb53c93b8f2170b6e8dc0f4012bb44c375bb160fdbe2", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "0552ca626a8d5c50e4d0eb53c93b8f2170b6e8dc0f4012bb44c375bb160fdbe2", kill_on_drop: false }`
[INFO] [stdout] 0552ca626a8d5c50e4d0eb53c93b8f2170b6e8dc0f4012bb44c375bb160fdbe2
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c2e32f1c9652b13ed99608599c1e855462f421f3" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] cd7ef5361532613ce2179acf6d192fecfae48cc8b4387826ad92b8211589b6b2
[INFO] running `Command { std: "docker" "start" "-a" "cd7ef5361532613ce2179acf6d192fecfae48cc8b4387826ad92b8211589b6b2", kill_on_drop: false }`
[INFO] [stderr]    Compiling jobserver v0.1.32
[INFO] [stderr]    Compiling zerofrom-derive v0.1.5
[INFO] [stderr]    Compiling glob v0.3.2
[INFO] [stderr]    Compiling regex-syntax v0.8.5
[INFO] [stderr]    Compiling nom v7.1.3
[INFO] [stderr]    Compiling libloading v0.8.6
[INFO] [stderr]    Compiling either v1.13.0
[INFO] [stderr]    Compiling bindgen v0.69.5
[INFO] [stderr]    Compiling quick-error v1.2.3
[INFO] [stderr]    Compiling itertools v0.12.1
[INFO] [stderr]    Compiling rustversion v1.0.19
[INFO] [stderr]    Compiling semver v0.1.20
[INFO] [stderr]    Compiling cc v1.2.15
[INFO] [stderr]    Compiling clang-sys v1.8.1
[INFO] [stderr]    Compiling bitflags v2.8.0
[INFO] [stderr]    Compiling rustc_version v0.1.7
[INFO] [stderr]    Compiling fs-utils v1.1.4
[INFO] [stderr]    Compiling aho-corasick v1.1.3
[INFO] [stderr]    Compiling newtype_derive v0.1.6
[INFO] [stderr]    Compiling percent-encoding v2.3.1
[INFO] [stderr]    Compiling strum_macros v0.26.4
[INFO] [stderr]    Compiling zerofrom v0.1.5
[INFO] [stderr]    Compiling yoke v0.7.5
[INFO] [stderr]    Compiling openssl-src v300.4.2+3.4.1
[INFO] [stderr]    Compiling zerovec v0.10.4
[INFO] [stderr]    Compiling cmake v0.1.54
[INFO] [stderr]    Compiling regex-automata v0.4.9
[INFO] [stderr]    Compiling cexpr v0.6.0
[INFO] [stderr]    Compiling openssl-sys v0.9.106
[INFO] [stderr]    Compiling libz-sys v1.1.21
[INFO] [stderr]    Compiling tinystr v0.7.6
[INFO] [stderr]    Compiling icu_locid v1.5.0
[INFO] [stderr]    Compiling icu_collections v1.5.0
[INFO] [stderr]    Compiling bzip2-sys v0.1.12+1.0.8
[INFO] [stderr]    Compiling lzma-sys v0.1.20
[INFO] [stderr]    Compiling curl-sys v0.4.80+curl-8.12.1
[INFO] [stderr]    Compiling icu_provider v1.5.0
[INFO] [stderr]    Compiling icu_locid_transform v1.5.0
[INFO] [stderr]    Compiling regex v1.11.1
[INFO] [stderr]    Compiling form_urlencoded v1.2.1
[INFO] [stderr]    Compiling derive-new v0.6.0
[INFO] [stderr]    Compiling icu_properties v1.5.1
[INFO] [stderr]    Compiling derive-new v0.7.0
[INFO] [stderr]    Compiling linear-map v1.2.0
[INFO] [stderr]    Compiling custom_derive v0.1.7
[INFO] [stderr]    Compiling ieee754 v0.2.6
[INFO] [stderr]    Compiling bio-types v1.0.4
[INFO] [stderr]    Compiling icu_normalizer v1.5.0
[INFO] [stderr]    Compiling idna_adapter v1.2.0
[INFO] [stderr]    Compiling idna v1.0.3
[INFO] [stderr]    Compiling url v2.5.4
[INFO] [stderr]    Compiling hts-sys v2.2.0
[INFO] [stderr]    Compiling extended-htslib v0.2.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unnecessary parentheses around function argument
[INFO] [stdout]     --> src/bam/mod.rs:1395:45
[INFO] [stdout]      |
[INFO] [stdout] 1395 |             let rec = htslib::sam_hdr_parse((l_text + 1), text as *const c_char);
[INFO] [stdout]      |                                             ^          ^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]      |
[INFO] [stdout] 1395 -             let rec = htslib::sam_hdr_parse((l_text + 1), text as *const c_char);
[INFO] [stdout] 1395 +             let rec = htslib::sam_hdr_parse(l_text + 1, text as *const c_char);
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block
[INFO] [stdout]    --> src/bam/record.rs:614:39
[INFO] [stdout]     |
[INFO] [stdout] 614 |         let (data, type_size) = match *aux {
[INFO] [stdout]     |                                       ^^^^ dereference of raw pointer
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/bam/record.rs:605:5
[INFO] [stdout]     |
[INFO] [stdout] 605 |     unsafe fn read_aux_field<'a>(aux: *const u8) -> Result<(Aux<'a>, usize)> {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#[warn(unsafe_op_in_unsafe_fn)]` (part of `#[warn(rust_2024_compatibility)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block
[INFO] [stdout]    --> src/bam/record.rs:617:28
[INFO] [stdout]     |
[INFO] [stdout] 617 |                 (Aux::Char(*aux.offset(TYPE_ID_LEN)), type_size)
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^^^^^^^^^^^ dereference of raw pointer
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::offset` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/bam/record.rs:617:29
[INFO] [stdout]     |
[INFO] [stdout] 617 |                 (Aux::Char(*aux.offset(TYPE_ID_LEN)), type_size)
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block
[INFO] [stdout]    --> src/bam/record.rs:621:26
[INFO] [stdout]     |
[INFO] [stdout] 621 |                 (Aux::I8(*aux.offset(TYPE_ID_LEN).cast::<i8>()), type_size)
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ dereference of raw pointer
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::offset` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/bam/record.rs:621:27
[INFO] [stdout]     |
[INFO] [stdout] 621 |                 (Aux::I8(*aux.offset(TYPE_ID_LEN).cast::<i8>()), type_size)
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block
[INFO] [stdout]    --> src/bam/record.rs:625:26
[INFO] [stdout]     |
[INFO] [stdout] 625 |                 (Aux::U8(*aux.offset(TYPE_ID_LEN)), type_size)
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^^^^^^^^^^ dereference of raw pointer
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::offset` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/bam/record.rs:625:27
[INFO] [stdout]     |
[INFO] [stdout] 625 |                 (Aux::U8(*aux.offset(TYPE_ID_LEN)), type_size)
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::slice::from_raw_parts` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/bam/record.rs:631:25
[INFO] [stdout]     |
[INFO] [stdout] 631 |                         slice::from_raw_parts(aux.offset(TYPE_ID_LEN), type_size)
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::offset` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/bam/record.rs:631:47
[INFO] [stdout]     |
[INFO] [stdout] 631 |                         slice::from_raw_parts(aux.offset(TYPE_ID_LEN), type_size)
[INFO] [stdout]     |                                               ^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::slice::from_raw_parts` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/bam/record.rs:642:25
[INFO] [stdout]     |
[INFO] [stdout] 642 |                         slice::from_raw_parts(aux.offset(TYPE_ID_LEN), type_size)
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::offset` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/bam/record.rs:642:47
[INFO] [stdout]     |
[INFO] [stdout] 642 |                         slice::from_raw_parts(aux.offset(TYPE_ID_LEN), type_size)
[INFO] [stdout]     |                                               ^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::slice::from_raw_parts` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/bam/record.rs:653:25
[INFO] [stdout]     |
[INFO] [stdout] 653 |                         slice::from_raw_parts(aux.offset(TYPE_ID_LEN), type_size)
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::offset` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/bam/record.rs:653:47
[INFO] [stdout]     |
[INFO] [stdout] 653 |                         slice::from_raw_parts(aux.offset(TYPE_ID_LEN), type_size)
[INFO] [stdout]     |                                               ^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::slice::from_raw_parts` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/bam/record.rs:664:25
[INFO] [stdout]     |
[INFO] [stdout] 664 |                         slice::from_raw_parts(aux.offset(TYPE_ID_LEN), type_size)
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::offset` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/bam/record.rs:664:47
[INFO] [stdout]     |
[INFO] [stdout] 664 |                         slice::from_raw_parts(aux.offset(TYPE_ID_LEN), type_size)
[INFO] [stdout]     |                                               ^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::slice::from_raw_parts` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/bam/record.rs:675:25
[INFO] [stdout]     |
[INFO] [stdout] 675 |                         slice::from_raw_parts(aux.offset(TYPE_ID_LEN), type_size)
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::offset` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/bam/record.rs:675:47
[INFO] [stdout]     |
[INFO] [stdout] 675 |                         slice::from_raw_parts(aux.offset(TYPE_ID_LEN), type_size)
[INFO] [stdout]     |                                               ^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::slice::from_raw_parts` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/bam/record.rs:686:25
[INFO] [stdout]     |
[INFO] [stdout] 686 |                         slice::from_raw_parts(aux.offset(TYPE_ID_LEN), type_size)
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::offset` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/bam/record.rs:686:47
[INFO] [stdout]     |
[INFO] [stdout] 686 |                         slice::from_raw_parts(aux.offset(TYPE_ID_LEN), type_size)
[INFO] [stdout]     |                                               ^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ffi::CStr::from_ptr` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/bam/record.rs:694:29
[INFO] [stdout]     |
[INFO] [stdout] 694 |                 let c_str = ffi::CStr::from_ptr(aux.offset(TYPE_ID_LEN).cast::<c_char>());
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::offset` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/bam/record.rs:694:49
[INFO] [stdout]     |
[INFO] [stdout] 694 |                 let c_str = ffi::CStr::from_ptr(aux.offset(TYPE_ID_LEN).cast::<c_char>());
[INFO] [stdout]     |                                                 ^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::slice::from_raw_parts` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/bam/record.rs:706:21
[INFO] [stdout]     |
[INFO] [stdout] 706 |                     slice::from_raw_parts(aux.offset(TYPE_ID_LEN + ARRAY_INNER_TYPE_LEN), 4)
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::offset` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/bam/record.rs:706:43
[INFO] [stdout]     |
[INFO] [stdout] 706 |                     slice::from_raw_parts(aux.offset(TYPE_ID_LEN + ARRAY_INNER_TYPE_LEN), 4)
[INFO] [stdout]     |                                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block
[INFO] [stdout]    --> src/bam/record.rs:711:54
[INFO] [stdout]     |
[INFO] [stdout] 711 |                 let (array_data, array_size) = match *aux.offset(TYPE_ID_LEN) {
[INFO] [stdout]     |                                                      ^^^^^^^^^^^^^^^^^^^^^^^^ dereference of raw pointer
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::offset` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/bam/record.rs:711:55
[INFO] [stdout]     |
[INFO] [stdout] 711 |                 let (array_data, array_size) = match *aux.offset(TYPE_ID_LEN) {
[INFO] [stdout]     |                                                       ^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::slice::from_raw_parts` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/bam/record.rs:713:69
[INFO] [stdout]     |
[INFO] [stdout] 713 |                           Aux::ArrayI8(AuxArray::<'a, i8>::from_bytes(slice::from_raw_parts(
[INFO] [stdout]     |  _____________________________________________________________________^
[INFO] [stdout] 714 | |                             aux.offset(array_data_offset),
[INFO] [stdout] 715 | |                             length,
[INFO] [stdout] 716 | |                         ))),
[INFO] [stdout]     | |_________________________^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::offset` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/bam/record.rs:714:29
[INFO] [stdout]     |
[INFO] [stdout] 714 | ...                   aux.offset(array_data_offset),
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::slice::from_raw_parts` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/bam/record.rs:720:69
[INFO] [stdout]     |
[INFO] [stdout] 720 |                           Aux::ArrayU8(AuxArray::<'a, u8>::from_bytes(slice::from_raw_parts(
[INFO] [stdout]     |  _____________________________________________________________________^
[INFO] [stdout] 721 | |                             aux.offset(array_data_offset),
[INFO] [stdout] 722 | |                             length,
[INFO] [stdout] 723 | |                         ))),
[INFO] [stdout]     | |_________________________^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::offset` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/bam/record.rs:721:29
[INFO] [stdout]     |
[INFO] [stdout] 721 | ...                   aux.offset(array_data_offset),
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::slice::from_raw_parts` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/bam/record.rs:727:71
[INFO] [stdout]     |
[INFO] [stdout] 727 |                           Aux::ArrayI16(AuxArray::<'a, i16>::from_bytes(slice::from_raw_parts(
[INFO] [stdout]     |  _______________________________________________________________________^
[INFO] [stdout] 728 | |                             aux.offset(array_data_offset),
[INFO] [stdout] 729 | |                             length * size_of::<i16>(),
[INFO] [stdout] 730 | |                         ))),
[INFO] [stdout]     | |_________________________^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::offset` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/bam/record.rs:728:29
[INFO] [stdout]     |
[INFO] [stdout] 728 | ...                   aux.offset(array_data_offset),
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::slice::from_raw_parts` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/bam/record.rs:734:71
[INFO] [stdout]     |
[INFO] [stdout] 734 |                           Aux::ArrayU16(AuxArray::<'a, u16>::from_bytes(slice::from_raw_parts(
[INFO] [stdout]     |  _______________________________________________________________________^
[INFO] [stdout] 735 | |                             aux.offset(array_data_offset),
[INFO] [stdout] 736 | |                             length * size_of::<u16>(),
[INFO] [stdout] 737 | |                         ))),
[INFO] [stdout]     | |_________________________^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::offset` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/bam/record.rs:735:29
[INFO] [stdout]     |
[INFO] [stdout] 735 | ...                   aux.offset(array_data_offset),
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::slice::from_raw_parts` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/bam/record.rs:741:71
[INFO] [stdout]     |
[INFO] [stdout] 741 |                           Aux::ArrayI32(AuxArray::<'a, i32>::from_bytes(slice::from_raw_parts(
[INFO] [stdout]     |  _______________________________________________________________________^
[INFO] [stdout] 742 | |                             aux.offset(array_data_offset),
[INFO] [stdout] 743 | |                             length * size_of::<i32>(),
[INFO] [stdout] 744 | |                         ))),
[INFO] [stdout]     | |_________________________^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::offset` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/bam/record.rs:742:29
[INFO] [stdout]     |
[INFO] [stdout] 742 | ...                   aux.offset(array_data_offset),
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::slice::from_raw_parts` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/bam/record.rs:748:71
[INFO] [stdout]     |
[INFO] [stdout] 748 |                           Aux::ArrayU32(AuxArray::<'a, u32>::from_bytes(slice::from_raw_parts(
[INFO] [stdout]     |  _______________________________________________________________________^
[INFO] [stdout] 749 | |                             aux.offset(array_data_offset),
[INFO] [stdout] 750 | |                             length * size_of::<u32>(),
[INFO] [stdout] 751 | |                         ))),
[INFO] [stdout]     | |_________________________^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::offset` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/bam/record.rs:749:29
[INFO] [stdout]     |
[INFO] [stdout] 749 | ...                   aux.offset(array_data_offset),
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::slice::from_raw_parts` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/bam/record.rs:755:69
[INFO] [stdout]     |
[INFO] [stdout] 755 |                           Aux::ArrayFloat(AuxArray::<f32>::from_bytes(slice::from_raw_parts(
[INFO] [stdout]     |  _____________________________________________________________________^
[INFO] [stdout] 756 | |                             aux.offset(array_data_offset),
[INFO] [stdout] 757 | |                             length * size_of::<f32>(),
[INFO] [stdout] 758 | |                         ))),
[INFO] [stdout]     | |_________________________^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::offset` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/bam/record.rs:756:29
[INFO] [stdout]     |
[INFO] [stdout] 756 | ...                   aux.offset(array_data_offset),
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `core::slice::<impl [T]>::get_unchecked` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/bam/record.rs:1608:6
[INFO] [stdout]      |
[INFO] [stdout] 1608 |     (encoded_seq.get_unchecked(i / 2) >> ((!i & 1) << 2)) & 0b1111
[INFO] [stdout]      |      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]     --> src/bam/record.rs:1607:1
[INFO] [stdout]      |
[INFO] [stdout] 1607 | unsafe fn encoded_base_unchecked(encoded_seq: &[u8], i: usize) -> u8 {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `bam::record::encoded_base_unchecked` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/bam/record.rs:1633:9
[INFO] [stdout]      |
[INFO] [stdout] 1633 |         encoded_base_unchecked(self.encoded, i)
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]     --> src/bam/record.rs:1632:5
[INFO] [stdout]      |
[INFO] [stdout] 1632 |     pub unsafe fn encoded_base_unchecked(&self, i: usize) -> u8 {
[INFO] [stdout]      |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `bam::record::Seq::<'a>::encoded_base_unchecked` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/bam/record.rs:1641:32
[INFO] [stdout]      |
[INFO] [stdout] 1641 |         *decode_base_unchecked(self.encoded_base_unchecked(i))
[INFO] [stdout]      |                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]     --> src/bam/record.rs:1640:5
[INFO] [stdout]      |
[INFO] [stdout] 1640 |     pub unsafe fn decoded_base_unchecked(&self, i: usize) -> u8 {
[INFO] [stdout]      |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `hts_sys::hts_set_threads` is unsafe and requires unsafe block
[INFO] [stdout]   --> src/bam/mod.rs:45:8
[INFO] [stdout]    |
[INFO] [stdout] 45 |     if htslib::hts_set_threads(htsfile, n_threads as i32) != 0 {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]    = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]   --> src/bam/mod.rs:42:1
[INFO] [stdout]    |
[INFO] [stdout] 42 | unsafe fn set_threads(htsfile: *mut htslib::htsFile, n_threads: usize) -> Result<()> {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `hts_sys::hts_set_thread_pool` is unsafe and requires unsafe block
[INFO] [stdout]   --> src/bam/mod.rs:55:8
[INFO] [stdout]    |
[INFO] [stdout] 55 |     if htslib::hts_set_thread_pool(htsfile, &mut b.inner as *mut _) != 0 {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]    = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]   --> src/bam/mod.rs:52:1
[INFO] [stdout]    |
[INFO] [stdout] 52 | unsafe fn set_thread_pool(htsfile: *mut htslib::htsFile, tpool: &ThreadPool) -> Result<()> {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `hts_sys::hts_set_fai_filename` is unsafe and requires unsafe block
[INFO] [stdout]   --> src/bam/mod.rs:78:8
[INFO] [stdout]    |
[INFO] [stdout] 78 |     if htslib::hts_set_fai_filename(htsfile, c_str.as_ptr()) == 0 {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]    = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]   --> src/bam/mod.rs:65:1
[INFO] [stdout]    |
[INFO] [stdout] 65 | / pub unsafe fn set_fai_filename<P: AsRef<Path>>(
[INFO] [stdout] 66 | |     htsfile: *mut htslib::htsFile,
[INFO] [stdout] 67 | |     fasta_path: P,
[INFO] [stdout] 68 | | ) -> Result<()> {
[INFO] [stdout]    | |_______________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `hts_sys::sam_hdr_nref` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/bam/mod.rs:831:29
[INFO] [stdout]     |
[INFO] [stdout] 831 |             usize::try_from(hts_sys::sam_hdr_nref(h)).map_err(|_| Error::NoSequencesInReference)?;
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/bam/mod.rs:819:5
[INFO] [stdout]     |
[INFO] [stdout] 819 |     unsafe fn slow_idxstats(&mut self) -> Result<Vec<(i64, u64, u64, u64)>> {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::mem::MaybeUninit::<T>::assume_init` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/bam/mod.rs:836:39
[INFO] [stdout]     |
[INFO] [stdout] 836 |         let mut bb: hts_sys::bam1_t = MaybeUninit::zeroed().assume_init();
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `hts_sys::sam_read1` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/bam/mod.rs:839:19
[INFO] [stdout]     |
[INFO] [stdout] 839 |             ret = hts_sys::sam_read1(fp, h, b);
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block
[INFO] [stdout]    --> src/bam/mod.rs:843:23
[INFO] [stdout]     |
[INFO] [stdout] 843 |             let tid = (*b).core.tid;
[INFO] [stdout]     |                       ^^^^ dereference of raw pointer
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block
[INFO] [stdout]    --> src/bam/mod.rs:855:27
[INFO] [stdout]     |
[INFO] [stdout] 855 |             let idx = if ((*b).core.flag as u32 & hts_sys::BAM_FUNMAP) > 0 {
[INFO] [stdout]     |                           ^^^^ dereference of raw pointer
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block
[INFO] [stdout]    --> src/bam/mod.rs:860:20
[INFO] [stdout]     |
[INFO] [stdout] 860 |             counts[(*b).core.tid as usize][idx] += 1;
[INFO] [stdout]     |                    ^^^^ dereference of raw pointer
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `hts_sys::hts_set_threads` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/bcf/mod.rs:172:13
[INFO] [stdout]     |
[INFO] [stdout] 172 |     let r = htslib::hts_set_threads(hts_file, n_threads as i32);
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/bcf/mod.rs:169:1
[INFO] [stdout]     |
[INFO] [stdout] 169 | pub unsafe fn set_threads(hts_file: *mut htslib::htsFile, n_threads: usize) -> Result<()> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/bam/ext.rs:549:8
[INFO] [stdout]     |
[INFO] [stdout] 539 | impl RangePos {
[INFO] [stdout]     | ------------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 549 |     fn new(start: i64, end: i64) -> Self {
[INFO] [stdout]     |        ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `buffer` is never read
[INFO] [stdout]    --> src/bcf/record.rs:134:5
[INFO] [stdout]     |
[INFO] [stdout] 132 | pub struct BufferBacked<'a, T: 'a + fmt::Debug, B: Borrow<Buffer> + 'a> {
[INFO] [stdout]     |            ------------ field in this struct
[INFO] [stdout] 133 |     value: T,
[INFO] [stdout] 134 |     buffer: B,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `BufferBacked` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `hts_format` is never read
[INFO] [stdout]   --> src/tbx/mod.rs:94:5
[INFO] [stdout]    |
[INFO] [stdout] 87 | pub struct Reader {
[INFO] [stdout]    |            ------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 94 |     hts_format: htslib::htsExactFormat,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Reader` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/bam/buffer.rs:160:17
[INFO] [stdout]     |
[INFO] [stdout] 160 |     pub fn iter(&self) -> vec_deque::Iter<Rc<bam::Record>> {
[INFO] [stdout]     |                 ^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 160 |     pub fn iter(&self) -> vec_deque::Iter<'_, Rc<bam::Record>> {
[INFO] [stdout]     |                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/bam/buffer.rs:165:21
[INFO] [stdout]     |
[INFO] [stdout] 165 |     pub fn iter_mut(&mut self) -> vec_deque::IterMut<Rc<bam::Record>> {
[INFO] [stdout]     |                     ^^^^^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 165 |     pub fn iter_mut(&mut self) -> vec_deque::IterMut<'_, Rc<bam::Record>> {
[INFO] [stdout]     |                                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/bam/header.rs:109:21
[INFO] [stdout]     |
[INFO] [stdout] 109 |     pub fn comments(&self) -> impl Iterator<Item = Cow<str>> {
[INFO] [stdout]     |                     ^^^^^                          ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 109 |     pub fn comments(&self) -> impl Iterator<Item = Cow<'_, str>> {
[INFO] [stdout]     |                                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `hts_sys::bam1_t` does not permit being left uninitialized
[INFO] [stdout]    --> src/bam/record.rs:143:42
[INFO] [stdout]     |
[INFO] [stdout] 143 |                 let mut inner = unsafe { MaybeUninit::uninit().assume_init() };
[INFO] [stdout]     |                                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                          |
[INFO] [stdout]     |                                          this code causes undefined behavior when executed
[INFO] [stdout]     |                                          help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]     |
[INFO] [stdout]     = note: integers must be initialized
[INFO] [stdout]     = note: `#[warn(invalid_value)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/bam/record.rs:784:21
[INFO] [stdout]     |
[INFO] [stdout] 784 |     pub fn aux_iter(&self) -> AuxIter {
[INFO] [stdout]     |                     ^^^^^     ^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 784 |     pub fn aux_iter(&self) -> AuxIter<'_> {
[INFO] [stdout]     |                                      ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]     --> src/bam/record.rs:1069:26
[INFO] [stdout]      |
[INFO] [stdout] 1069 |     pub fn basemods_iter(&self) -> Result<BaseModificationsIter> {
[INFO] [stdout]      |                          ^^^^^            ^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]      |                          |
[INFO] [stdout]      |                          the lifetime is elided here
[INFO] [stdout]      |
[INFO] [stdout]      = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]      |
[INFO] [stdout] 1069 |     pub fn basemods_iter(&self) -> Result<BaseModificationsIter<'_>> {
[INFO] [stdout]      |                                                                ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]     --> src/bam/record.rs:1076:35
[INFO] [stdout]      |
[INFO] [stdout] 1076 |     pub fn basemods_position_iter(&self) -> Result<BaseModificationsPositionIter> {
[INFO] [stdout]      |                                   ^^^^^            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]      |                                   |
[INFO] [stdout]      |                                   the lifetime is elided here
[INFO] [stdout]      |
[INFO] [stdout]      = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]      |
[INFO] [stdout] 1076 |     pub fn basemods_position_iter(&self) -> Result<BaseModificationsPositionIter<'_>> {
[INFO] [stdout]      |                                                                                 ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]     --> src/bam/record.rs:1455:17
[INFO] [stdout]      |
[INFO] [stdout] 1455 |     pub fn iter(&self) -> AuxArrayIter<T> {
[INFO] [stdout]      |                 ^^^^^     ^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]      |                 |
[INFO] [stdout]      |                 the lifetime is elided here
[INFO] [stdout]      |
[INFO] [stdout]      = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]      |
[INFO] [stdout] 1455 |     pub fn iter(&self) -> AuxArrayIter<'_, T> {
[INFO] [stdout]      |                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]     --> src/bam/record.rs:1649:28
[INFO] [stdout]      |
[INFO] [stdout] 1649 |     pub fn rangeextract<T>(&self, range: T) -> std::io::Result<Cow<str>>
[INFO] [stdout]      |                            ^^^^^ the lifetime is elided here   ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]      |
[INFO] [stdout]      = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]      |
[INFO] [stdout] 1649 |     pub fn rangeextract<T>(&self, range: T) -> std::io::Result<Cow<'_, str>>
[INFO] [stdout]      |                                                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0133`.
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 5m 17s
[INFO] running `Command { std: "docker" "inspect" "cd7ef5361532613ce2179acf6d192fecfae48cc8b4387826ad92b8211589b6b2", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "cd7ef5361532613ce2179acf6d192fecfae48cc8b4387826ad92b8211589b6b2", kill_on_drop: false }`
[INFO] [stdout] cd7ef5361532613ce2179acf6d192fecfae48cc8b4387826ad92b8211589b6b2
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c2e32f1c9652b13ed99608599c1e855462f421f3" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 13bed9f6062846f396dab3c20b222cfac948d8a059cdde57946e00f85e2e0bf4
[INFO] running `Command { std: "docker" "start" "-a" "13bed9f6062846f396dab3c20b222cfac948d8a059cdde57946e00f85e2e0bf4", kill_on_drop: false }`
[INFO] [stderr]    Compiling libloading v0.8.6
[INFO] [stderr]    Compiling serde v1.0.218
[INFO] [stderr]    Compiling getrandom v0.3.1
[INFO] [stderr]    Compiling rustix v0.38.44
[INFO] [stderr]    Compiling diff v0.1.13
[INFO] [stderr]    Compiling yansi v1.0.1
[INFO] [stderr]    Compiling once_cell v1.20.3
[INFO] [stderr]    Compiling clang-sys v1.8.1
[INFO] [stderr]    Compiling pretty_assertions v1.4.1
[INFO] [stderr]    Compiling bindgen v0.69.5
[INFO] [stderr]    Compiling tempfile v3.17.1
[INFO] [stderr]    Compiling bincode v1.3.3
[INFO] [stderr]    Compiling serde_json v1.0.139
[INFO] [stderr]    Compiling hts-sys v2.2.0
[INFO] [stderr]    Compiling extended-htslib v0.2.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unnecessary parentheses around function argument
[INFO] [stdout]     --> src/bam/mod.rs:1395:45
[INFO] [stdout]      |
[INFO] [stdout] 1395 |             let rec = htslib::sam_hdr_parse((l_text + 1), text as *const c_char);
[INFO] [stdout]      |                                             ^          ^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]      |
[INFO] [stdout] 1395 -             let rec = htslib::sam_hdr_parse((l_text + 1), text as *const c_char);
[INFO] [stdout] 1395 +             let rec = htslib::sam_hdr_parse(l_text + 1, text as *const c_char);
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: couldn't read `src/bgzf/../../test/bgzip/plain.vcf`: No such file or directory (os error 2)
[INFO] [stdout]    --> src/bgzf/mod.rs:312:27
[INFO] [stdout]     |
[INFO] [stdout] 312 |     const CONTENT: &str = include_str!("../../test/bgzip/plain.vcf");
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block
[INFO] [stdout]    --> src/bam/record.rs:614:39
[INFO] [stdout]     |
[INFO] [stdout] 614 |         let (data, type_size) = match *aux {
[INFO] [stdout]     |                                       ^^^^ dereference of raw pointer
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/bam/record.rs:605:5
[INFO] [stdout]     |
[INFO] [stdout] 605 |     unsafe fn read_aux_field<'a>(aux: *const u8) -> Result<(Aux<'a>, usize)> {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#[warn(unsafe_op_in_unsafe_fn)]` (part of `#[warn(rust_2024_compatibility)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block
[INFO] [stdout]    --> src/bam/record.rs:617:28
[INFO] [stdout]     |
[INFO] [stdout] 617 |                 (Aux::Char(*aux.offset(TYPE_ID_LEN)), type_size)
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^^^^^^^^^^^ dereference of raw pointer
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::offset` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/bam/record.rs:617:29
[INFO] [stdout]     |
[INFO] [stdout] 617 |                 (Aux::Char(*aux.offset(TYPE_ID_LEN)), type_size)
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block
[INFO] [stdout]    --> src/bam/record.rs:621:26
[INFO] [stdout]     |
[INFO] [stdout] 621 |                 (Aux::I8(*aux.offset(TYPE_ID_LEN).cast::<i8>()), type_size)
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ dereference of raw pointer
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::offset` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/bam/record.rs:621:27
[INFO] [stdout]     |
[INFO] [stdout] 621 |                 (Aux::I8(*aux.offset(TYPE_ID_LEN).cast::<i8>()), type_size)
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block
[INFO] [stdout]    --> src/bam/record.rs:625:26
[INFO] [stdout]     |
[INFO] [stdout] 625 |                 (Aux::U8(*aux.offset(TYPE_ID_LEN)), type_size)
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^^^^^^^^^^ dereference of raw pointer
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::offset` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/bam/record.rs:625:27
[INFO] [stdout]     |
[INFO] [stdout] 625 |                 (Aux::U8(*aux.offset(TYPE_ID_LEN)), type_size)
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::slice::from_raw_parts` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/bam/record.rs:631:25
[INFO] [stdout]     |
[INFO] [stdout] 631 |                         slice::from_raw_parts(aux.offset(TYPE_ID_LEN), type_size)
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::offset` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/bam/record.rs:631:47
[INFO] [stdout]     |
[INFO] [stdout] 631 |                         slice::from_raw_parts(aux.offset(TYPE_ID_LEN), type_size)
[INFO] [stdout]     |                                               ^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::slice::from_raw_parts` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/bam/record.rs:642:25
[INFO] [stdout]     |
[INFO] [stdout] 642 |                         slice::from_raw_parts(aux.offset(TYPE_ID_LEN), type_size)
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::offset` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/bam/record.rs:642:47
[INFO] [stdout]     |
[INFO] [stdout] 642 |                         slice::from_raw_parts(aux.offset(TYPE_ID_LEN), type_size)
[INFO] [stdout]     |                                               ^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::slice::from_raw_parts` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/bam/record.rs:653:25
[INFO] [stdout]     |
[INFO] [stdout] 653 |                         slice::from_raw_parts(aux.offset(TYPE_ID_LEN), type_size)
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::offset` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/bam/record.rs:653:47
[INFO] [stdout]     |
[INFO] [stdout] 653 |                         slice::from_raw_parts(aux.offset(TYPE_ID_LEN), type_size)
[INFO] [stdout]     |                                               ^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::slice::from_raw_parts` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/bam/record.rs:664:25
[INFO] [stdout]     |
[INFO] [stdout] 664 |                         slice::from_raw_parts(aux.offset(TYPE_ID_LEN), type_size)
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::offset` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/bam/record.rs:664:47
[INFO] [stdout]     |
[INFO] [stdout] 664 |                         slice::from_raw_parts(aux.offset(TYPE_ID_LEN), type_size)
[INFO] [stdout]     |                                               ^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::slice::from_raw_parts` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/bam/record.rs:675:25
[INFO] [stdout]     |
[INFO] [stdout] 675 |                         slice::from_raw_parts(aux.offset(TYPE_ID_LEN), type_size)
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::offset` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/bam/record.rs:675:47
[INFO] [stdout]     |
[INFO] [stdout] 675 |                         slice::from_raw_parts(aux.offset(TYPE_ID_LEN), type_size)
[INFO] [stdout]     |                                               ^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::slice::from_raw_parts` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/bam/record.rs:686:25
[INFO] [stdout]     |
[INFO] [stdout] 686 |                         slice::from_raw_parts(aux.offset(TYPE_ID_LEN), type_size)
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::offset` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/bam/record.rs:686:47
[INFO] [stdout]     |
[INFO] [stdout] 686 |                         slice::from_raw_parts(aux.offset(TYPE_ID_LEN), type_size)
[INFO] [stdout]     |                                               ^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ffi::CStr::from_ptr` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/bam/record.rs:694:29
[INFO] [stdout]     |
[INFO] [stdout] 694 |                 let c_str = ffi::CStr::from_ptr(aux.offset(TYPE_ID_LEN).cast::<c_char>());
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::offset` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/bam/record.rs:694:49
[INFO] [stdout]     |
[INFO] [stdout] 694 |                 let c_str = ffi::CStr::from_ptr(aux.offset(TYPE_ID_LEN).cast::<c_char>());
[INFO] [stdout]     |                                                 ^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::slice::from_raw_parts` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/bam/record.rs:706:21
[INFO] [stdout]     |
[INFO] [stdout] 706 |                     slice::from_raw_parts(aux.offset(TYPE_ID_LEN + ARRAY_INNER_TYPE_LEN), 4)
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::offset` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/bam/record.rs:706:43
[INFO] [stdout]     |
[INFO] [stdout] 706 |                     slice::from_raw_parts(aux.offset(TYPE_ID_LEN + ARRAY_INNER_TYPE_LEN), 4)
[INFO] [stdout]     |                                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block
[INFO] [stdout]    --> src/bam/record.rs:711:54
[INFO] [stdout]     |
[INFO] [stdout] 711 |                 let (array_data, array_size) = match *aux.offset(TYPE_ID_LEN) {
[INFO] [stdout]     |                                                      ^^^^^^^^^^^^^^^^^^^^^^^^ dereference of raw pointer
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::offset` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/bam/record.rs:711:55
[INFO] [stdout]     |
[INFO] [stdout] 711 |                 let (array_data, array_size) = match *aux.offset(TYPE_ID_LEN) {
[INFO] [stdout]     |                                                       ^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::slice::from_raw_parts` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/bam/record.rs:713:69
[INFO] [stdout]     |
[INFO] [stdout] 713 |                           Aux::ArrayI8(AuxArray::<'a, i8>::from_bytes(slice::from_raw_parts(
[INFO] [stdout]     |  _____________________________________________________________________^
[INFO] [stdout] 714 | |                             aux.offset(array_data_offset),
[INFO] [stdout] 715 | |                             length,
[INFO] [stdout] 716 | |                         ))),
[INFO] [stdout]     | |_________________________^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::offset` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/bam/record.rs:714:29
[INFO] [stdout]     |
[INFO] [stdout] 714 | ...                   aux.offset(array_data_offset),
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::slice::from_raw_parts` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/bam/record.rs:720:69
[INFO] [stdout]     |
[INFO] [stdout] 720 |                           Aux::ArrayU8(AuxArray::<'a, u8>::from_bytes(slice::from_raw_parts(
[INFO] [stdout]     |  _____________________________________________________________________^
[INFO] [stdout] 721 | |                             aux.offset(array_data_offset),
[INFO] [stdout] 722 | |                             length,
[INFO] [stdout] 723 | |                         ))),
[INFO] [stdout]     | |_________________________^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::offset` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/bam/record.rs:721:29
[INFO] [stdout]     |
[INFO] [stdout] 721 | ...                   aux.offset(array_data_offset),
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::slice::from_raw_parts` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/bam/record.rs:727:71
[INFO] [stdout]     |
[INFO] [stdout] 727 |                           Aux::ArrayI16(AuxArray::<'a, i16>::from_bytes(slice::from_raw_parts(
[INFO] [stdout]     |  _______________________________________________________________________^
[INFO] [stdout] 728 | |                             aux.offset(array_data_offset),
[INFO] [stdout] 729 | |                             length * size_of::<i16>(),
[INFO] [stdout] 730 | |                         ))),
[INFO] [stdout]     | |_________________________^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::offset` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/bam/record.rs:728:29
[INFO] [stdout]     |
[INFO] [stdout] 728 | ...                   aux.offset(array_data_offset),
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::slice::from_raw_parts` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/bam/record.rs:734:71
[INFO] [stdout]     |
[INFO] [stdout] 734 |                           Aux::ArrayU16(AuxArray::<'a, u16>::from_bytes(slice::from_raw_parts(
[INFO] [stdout]     |  _______________________________________________________________________^
[INFO] [stdout] 735 | |                             aux.offset(array_data_offset),
[INFO] [stdout] 736 | |                             length * size_of::<u16>(),
[INFO] [stdout] 737 | |                         ))),
[INFO] [stdout]     | |_________________________^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::offset` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/bam/record.rs:735:29
[INFO] [stdout]     |
[INFO] [stdout] 735 | ...                   aux.offset(array_data_offset),
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::slice::from_raw_parts` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/bam/record.rs:741:71
[INFO] [stdout]     |
[INFO] [stdout] 741 |                           Aux::ArrayI32(AuxArray::<'a, i32>::from_bytes(slice::from_raw_parts(
[INFO] [stdout]     |  _______________________________________________________________________^
[INFO] [stdout] 742 | |                             aux.offset(array_data_offset),
[INFO] [stdout] 743 | |                             length * size_of::<i32>(),
[INFO] [stdout] 744 | |                         ))),
[INFO] [stdout]     | |_________________________^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::offset` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/bam/record.rs:742:29
[INFO] [stdout]     |
[INFO] [stdout] 742 | ...                   aux.offset(array_data_offset),
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::slice::from_raw_parts` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/bam/record.rs:748:71
[INFO] [stdout]     |
[INFO] [stdout] 748 |                           Aux::ArrayU32(AuxArray::<'a, u32>::from_bytes(slice::from_raw_parts(
[INFO] [stdout]     |  _______________________________________________________________________^
[INFO] [stdout] 749 | |                             aux.offset(array_data_offset),
[INFO] [stdout] 750 | |                             length * size_of::<u32>(),
[INFO] [stdout] 751 | |                         ))),
[INFO] [stdout]     | |_________________________^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::offset` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/bam/record.rs:749:29
[INFO] [stdout]     |
[INFO] [stdout] 749 | ...                   aux.offset(array_data_offset),
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::slice::from_raw_parts` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/bam/record.rs:755:69
[INFO] [stdout]     |
[INFO] [stdout] 755 |                           Aux::ArrayFloat(AuxArray::<f32>::from_bytes(slice::from_raw_parts(
[INFO] [stdout]     |  _____________________________________________________________________^
[INFO] [stdout] 756 | |                             aux.offset(array_data_offset),
[INFO] [stdout] 757 | |                             length * size_of::<f32>(),
[INFO] [stdout] 758 | |                         ))),
[INFO] [stdout]     | |_________________________^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::offset` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/bam/record.rs:756:29
[INFO] [stdout]     |
[INFO] [stdout] 756 | ...                   aux.offset(array_data_offset),
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `core::slice::<impl [T]>::get_unchecked` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/bam/record.rs:1608:6
[INFO] [stdout]      |
[INFO] [stdout] 1608 |     (encoded_seq.get_unchecked(i / 2) >> ((!i & 1) << 2)) & 0b1111
[INFO] [stdout]      |      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]     --> src/bam/record.rs:1607:1
[INFO] [stdout]      |
[INFO] [stdout] 1607 | unsafe fn encoded_base_unchecked(encoded_seq: &[u8], i: usize) -> u8 {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `bam::record::encoded_base_unchecked` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/bam/record.rs:1633:9
[INFO] [stdout]      |
[INFO] [stdout] 1633 |         encoded_base_unchecked(self.encoded, i)
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]     --> src/bam/record.rs:1632:5
[INFO] [stdout]      |
[INFO] [stdout] 1632 |     pub unsafe fn encoded_base_unchecked(&self, i: usize) -> u8 {
[INFO] [stdout]      |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `bam::record::Seq::<'a>::encoded_base_unchecked` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/bam/record.rs:1641:32
[INFO] [stdout]      |
[INFO] [stdout] 1641 |         *decode_base_unchecked(self.encoded_base_unchecked(i))
[INFO] [stdout]      |                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]     --> src/bam/record.rs:1640:5
[INFO] [stdout]      |
[INFO] [stdout] 1640 |     pub unsafe fn decoded_base_unchecked(&self, i: usize) -> u8 {
[INFO] [stdout]      |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `hts_sys::hts_set_threads` is unsafe and requires unsafe block
[INFO] [stdout]   --> src/bam/mod.rs:45:8
[INFO] [stdout]    |
[INFO] [stdout] 45 |     if htslib::hts_set_threads(htsfile, n_threads as i32) != 0 {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]    = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]   --> src/bam/mod.rs:42:1
[INFO] [stdout]    |
[INFO] [stdout] 42 | unsafe fn set_threads(htsfile: *mut htslib::htsFile, n_threads: usize) -> Result<()> {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `hts_sys::hts_set_thread_pool` is unsafe and requires unsafe block
[INFO] [stdout]   --> src/bam/mod.rs:55:8
[INFO] [stdout]    |
[INFO] [stdout] 55 |     if htslib::hts_set_thread_pool(htsfile, &mut b.inner as *mut _) != 0 {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]    = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]   --> src/bam/mod.rs:52:1
[INFO] [stdout]    |
[INFO] [stdout] 52 | unsafe fn set_thread_pool(htsfile: *mut htslib::htsFile, tpool: &ThreadPool) -> Result<()> {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `hts_sys::hts_set_fai_filename` is unsafe and requires unsafe block
[INFO] [stdout]   --> src/bam/mod.rs:78:8
[INFO] [stdout]    |
[INFO] [stdout] 78 |     if htslib::hts_set_fai_filename(htsfile, c_str.as_ptr()) == 0 {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]    = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]   --> src/bam/mod.rs:65:1
[INFO] [stdout]    |
[INFO] [stdout] 65 | / pub unsafe fn set_fai_filename<P: AsRef<Path>>(
[INFO] [stdout] 66 | |     htsfile: *mut htslib::htsFile,
[INFO] [stdout] 67 | |     fasta_path: P,
[INFO] [stdout] 68 | | ) -> Result<()> {
[INFO] [stdout]    | |_______________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `hts_sys::sam_hdr_nref` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/bam/mod.rs:831:29
[INFO] [stdout]     |
[INFO] [stdout] 831 |             usize::try_from(hts_sys::sam_hdr_nref(h)).map_err(|_| Error::NoSequencesInReference)?;
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/bam/mod.rs:819:5
[INFO] [stdout]     |
[INFO] [stdout] 819 |     unsafe fn slow_idxstats(&mut self) -> Result<Vec<(i64, u64, u64, u64)>> {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::mem::MaybeUninit::<T>::assume_init` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/bam/mod.rs:836:39
[INFO] [stdout]     |
[INFO] [stdout] 836 |         let mut bb: hts_sys::bam1_t = MaybeUninit::zeroed().assume_init();
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `hts_sys::sam_read1` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/bam/mod.rs:839:19
[INFO] [stdout]     |
[INFO] [stdout] 839 |             ret = hts_sys::sam_read1(fp, h, b);
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block
[INFO] [stdout]    --> src/bam/mod.rs:843:23
[INFO] [stdout]     |
[INFO] [stdout] 843 |             let tid = (*b).core.tid;
[INFO] [stdout]     |                       ^^^^ dereference of raw pointer
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block
[INFO] [stdout]    --> src/bam/mod.rs:855:27
[INFO] [stdout]     |
[INFO] [stdout] 855 |             let idx = if ((*b).core.flag as u32 & hts_sys::BAM_FUNMAP) > 0 {
[INFO] [stdout]     |                           ^^^^ dereference of raw pointer
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block
[INFO] [stdout]    --> src/bam/mod.rs:860:20
[INFO] [stdout]     |
[INFO] [stdout] 860 |             counts[(*b).core.tid as usize][idx] += 1;
[INFO] [stdout]     |                    ^^^^ dereference of raw pointer
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `hts_sys::hts_set_threads` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/bcf/mod.rs:172:13
[INFO] [stdout]     |
[INFO] [stdout] 172 |     let r = htslib::hts_set_threads(hts_file, n_threads as i32);
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/bcf/mod.rs:169:1
[INFO] [stdout]     |
[INFO] [stdout] 169 | pub unsafe fn set_threads(hts_file: *mut htslib::htsFile, n_threads: usize) -> Result<()> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/bam/ext.rs:549:8
[INFO] [stdout]     |
[INFO] [stdout] 539 | impl RangePos {
[INFO] [stdout]     | ------------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 549 |     fn new(start: i64, end: i64) -> Self {
[INFO] [stdout]     |        ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `buffer` is never read
[INFO] [stdout]    --> src/bcf/record.rs:134:5
[INFO] [stdout]     |
[INFO] [stdout] 132 | pub struct BufferBacked<'a, T: 'a + fmt::Debug, B: Borrow<Buffer> + 'a> {
[INFO] [stdout]     |            ------------ field in this struct
[INFO] [stdout] 133 |     value: T,
[INFO] [stdout] 134 |     buffer: B,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `BufferBacked` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `hts_format` is never read
[INFO] [stdout]   --> src/tbx/mod.rs:94:5
[INFO] [stdout]    |
[INFO] [stdout] 87 | pub struct Reader {
[INFO] [stdout]    |            ------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 94 |     hts_format: htslib::htsExactFormat,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Reader` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/bam/buffer.rs:160:17
[INFO] [stdout]     |
[INFO] [stdout] 160 |     pub fn iter(&self) -> vec_deque::Iter<Rc<bam::Record>> {
[INFO] [stdout]     |                 ^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 160 |     pub fn iter(&self) -> vec_deque::Iter<'_, Rc<bam::Record>> {
[INFO] [stdout]     |                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/bam/buffer.rs:165:21
[INFO] [stdout]     |
[INFO] [stdout] 165 |     pub fn iter_mut(&mut self) -> vec_deque::IterMut<Rc<bam::Record>> {
[INFO] [stdout]     |                     ^^^^^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 165 |     pub fn iter_mut(&mut self) -> vec_deque::IterMut<'_, Rc<bam::Record>> {
[INFO] [stdout]     |                                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/bam/header.rs:109:21
[INFO] [stdout]     |
[INFO] [stdout] 109 |     pub fn comments(&self) -> impl Iterator<Item = Cow<str>> {
[INFO] [stdout]     |                     ^^^^^                          ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 109 |     pub fn comments(&self) -> impl Iterator<Item = Cow<'_, str>> {
[INFO] [stdout]     |                                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `hts_sys::bam1_t` does not permit being left uninitialized
[INFO] [stdout]    --> src/bam/record.rs:143:42
[INFO] [stdout]     |
[INFO] [stdout] 143 |                 let mut inner = unsafe { MaybeUninit::uninit().assume_init() };
[INFO] [stdout]     |                                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                          |
[INFO] [stdout]     |                                          this code causes undefined behavior when executed
[INFO] [stdout]     |                                          help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]     |
[INFO] [stdout]     = note: integers must be initialized
[INFO] [stdout]     = note: `#[warn(invalid_value)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/bam/record.rs:784:21
[INFO] [stdout]     |
[INFO] [stdout] 784 |     pub fn aux_iter(&self) -> AuxIter {
[INFO] [stdout]     |                     ^^^^^     ^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 784 |     pub fn aux_iter(&self) -> AuxIter<'_> {
[INFO] [stdout]     |                                      ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]     --> src/bam/record.rs:1069:26
[INFO] [stdout]      |
[INFO] [stdout] 1069 |     pub fn basemods_iter(&self) -> Result<BaseModificationsIter> {
[INFO] [stdout]      |                          ^^^^^            ^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]      |                          |
[INFO] [stdout]      |                          the lifetime is elided here
[INFO] [stdout]      |
[INFO] [stdout]      = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]      |
[INFO] [stdout] 1069 |     pub fn basemods_iter(&self) -> Result<BaseModificationsIter<'_>> {
[INFO] [stdout]      |                                                                ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]     --> src/bam/record.rs:1076:35
[INFO] [stdout]      |
[INFO] [stdout] 1076 |     pub fn basemods_position_iter(&self) -> Result<BaseModificationsPositionIter> {
[INFO] [stdout]      |                                   ^^^^^            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]      |                                   |
[INFO] [stdout]      |                                   the lifetime is elided here
[INFO] [stdout]      |
[INFO] [stdout]      = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]      |
[INFO] [stdout] 1076 |     pub fn basemods_position_iter(&self) -> Result<BaseModificationsPositionIter<'_>> {
[INFO] [stdout]      |                                                                                 ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]     --> src/bam/record.rs:1455:17
[INFO] [stdout]      |
[INFO] [stdout] 1455 |     pub fn iter(&self) -> AuxArrayIter<T> {
[INFO] [stdout]      |                 ^^^^^     ^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]      |                 |
[INFO] [stdout]      |                 the lifetime is elided here
[INFO] [stdout]      |
[INFO] [stdout]      = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]      |
[INFO] [stdout] 1455 |     pub fn iter(&self) -> AuxArrayIter<'_, T> {
[INFO] [stdout]      |                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]     --> src/bam/record.rs:1649:28
[INFO] [stdout]      |
[INFO] [stdout] 1649 |     pub fn rangeextract<T>(&self, range: T) -> std::io::Result<Cow<str>>
[INFO] [stdout]      |                            ^^^^^ the lifetime is elided here   ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]      |
[INFO] [stdout]      = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]      |
[INFO] [stdout] 1649 |     pub fn rangeextract<T>(&self, range: T) -> std::io::Result<Cow<'_, str>>
[INFO] [stdout]      |                                                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around function argument
[INFO] [stdout]     --> src/bam/mod.rs:1395:45
[INFO] [stdout]      |
[INFO] [stdout] 1395 |             let rec = htslib::sam_hdr_parse((l_text + 1), text as *const c_char);
[INFO] [stdout]      |                                             ^          ^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]      |
[INFO] [stdout] 1395 -             let rec = htslib::sam_hdr_parse((l_text + 1), text as *const c_char);
[INFO] [stdout] 1395 +             let rec = htslib::sam_hdr_parse(l_text + 1, text as *const c_char);
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::*`
[INFO] [stdout]    --> src/bcf/header.rs:554:9
[INFO] [stdout]     |
[INFO] [stdout] 554 |     use super::*;
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0133`.
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block
[INFO] [stdout]    --> src/bam/record.rs:614:39
[INFO] [stdout]     |
[INFO] [stdout] 614 |         let (data, type_size) = match *aux {
[INFO] [stdout]     |                                       ^^^^ dereference of raw pointer
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/bam/record.rs:605:5
[INFO] [stdout]     |
[INFO] [stdout] 605 |     unsafe fn read_aux_field<'a>(aux: *const u8) -> Result<(Aux<'a>, usize)> {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#[warn(unsafe_op_in_unsafe_fn)]` (part of `#[warn(rust_2024_compatibility)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block
[INFO] [stdout]    --> src/bam/record.rs:617:28
[INFO] [stdout]     |
[INFO] [stdout] 617 |                 (Aux::Char(*aux.offset(TYPE_ID_LEN)), type_size)
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^^^^^^^^^^^ dereference of raw pointer
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::offset` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/bam/record.rs:617:29
[INFO] [stdout]     |
[INFO] [stdout] 617 |                 (Aux::Char(*aux.offset(TYPE_ID_LEN)), type_size)
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block
[INFO] [stdout]    --> src/bam/record.rs:621:26
[INFO] [stdout]     |
[INFO] [stdout] 621 |                 (Aux::I8(*aux.offset(TYPE_ID_LEN).cast::<i8>()), type_size)
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ dereference of raw pointer
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::offset` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/bam/record.rs:621:27
[INFO] [stdout]     |
[INFO] [stdout] 621 |                 (Aux::I8(*aux.offset(TYPE_ID_LEN).cast::<i8>()), type_size)
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block
[INFO] [stdout]    --> src/bam/record.rs:625:26
[INFO] [stdout]     |
[INFO] [stdout] 625 |                 (Aux::U8(*aux.offset(TYPE_ID_LEN)), type_size)
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^^^^^^^^^^ dereference of raw pointer
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::offset` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/bam/record.rs:625:27
[INFO] [stdout]     |
[INFO] [stdout] 625 |                 (Aux::U8(*aux.offset(TYPE_ID_LEN)), type_size)
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::slice::from_raw_parts` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/bam/record.rs:631:25
[INFO] [stdout]     |
[INFO] [stdout] 631 |                         slice::from_raw_parts(aux.offset(TYPE_ID_LEN), type_size)
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::offset` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/bam/record.rs:631:47
[INFO] [stdout]     |
[INFO] [stdout] 631 |                         slice::from_raw_parts(aux.offset(TYPE_ID_LEN), type_size)
[INFO] [stdout]     |                                               ^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::slice::from_raw_parts` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/bam/record.rs:642:25
[INFO] [stdout]     |
[INFO] [stdout] 642 |                         slice::from_raw_parts(aux.offset(TYPE_ID_LEN), type_size)
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::offset` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/bam/record.rs:642:47
[INFO] [stdout]     |
[INFO] [stdout] 642 |                         slice::from_raw_parts(aux.offset(TYPE_ID_LEN), type_size)
[INFO] [stdout]     |                                               ^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::slice::from_raw_parts` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/bam/record.rs:653:25
[INFO] [stdout]     |
[INFO] [stdout] 653 |                         slice::from_raw_parts(aux.offset(TYPE_ID_LEN), type_size)
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::offset` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/bam/record.rs:653:47
[INFO] [stdout]     |
[INFO] [stdout] 653 |                         slice::from_raw_parts(aux.offset(TYPE_ID_LEN), type_size)
[INFO] [stdout]     |                                               ^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::slice::from_raw_parts` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/bam/record.rs:664:25
[INFO] [stdout]     |
[INFO] [stdout] 664 |                         slice::from_raw_parts(aux.offset(TYPE_ID_LEN), type_size)
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::offset` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/bam/record.rs:664:47
[INFO] [stdout]     |
[INFO] [stdout] 664 |                         slice::from_raw_parts(aux.offset(TYPE_ID_LEN), type_size)
[INFO] [stdout]     |                                               ^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::slice::from_raw_parts` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/bam/record.rs:675:25
[INFO] [stdout]     |
[INFO] [stdout] 675 |                         slice::from_raw_parts(aux.offset(TYPE_ID_LEN), type_size)
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::offset` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/bam/record.rs:675:47
[INFO] [stdout]     |
[INFO] [stdout] 675 |                         slice::from_raw_parts(aux.offset(TYPE_ID_LEN), type_size)
[INFO] [stdout]     |                                               ^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::slice::from_raw_parts` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/bam/record.rs:686:25
[INFO] [stdout]     |
[INFO] [stdout] 686 |                         slice::from_raw_parts(aux.offset(TYPE_ID_LEN), type_size)
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::offset` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/bam/record.rs:686:47
[INFO] [stdout]     |
[INFO] [stdout] 686 |                         slice::from_raw_parts(aux.offset(TYPE_ID_LEN), type_size)
[INFO] [stdout]     |                                               ^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ffi::CStr::from_ptr` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/bam/record.rs:694:29
[INFO] [stdout]     |
[INFO] [stdout] 694 |                 let c_str = ffi::CStr::from_ptr(aux.offset(TYPE_ID_LEN).cast::<c_char>());
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::offset` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/bam/record.rs:694:49
[INFO] [stdout]     |
[INFO] [stdout] 694 |                 let c_str = ffi::CStr::from_ptr(aux.offset(TYPE_ID_LEN).cast::<c_char>());
[INFO] [stdout]     |                                                 ^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::slice::from_raw_parts` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/bam/record.rs:706:21
[INFO] [stdout]     |
[INFO] [stdout] 706 |                     slice::from_raw_parts(aux.offset(TYPE_ID_LEN + ARRAY_INNER_TYPE_LEN), 4)
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::offset` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/bam/record.rs:706:43
[INFO] [stdout]     |
[INFO] [stdout] 706 |                     slice::from_raw_parts(aux.offset(TYPE_ID_LEN + ARRAY_INNER_TYPE_LEN), 4)
[INFO] [stdout]     |                                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block
[INFO] [stdout]    --> src/bam/record.rs:711:54
[INFO] [stdout]     |
[INFO] [stdout] 711 |                 let (array_data, array_size) = match *aux.offset(TYPE_ID_LEN) {
[INFO] [stdout]     |                                                      ^^^^^^^^^^^^^^^^^^^^^^^^ dereference of raw pointer
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::offset` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/bam/record.rs:711:55
[INFO] [stdout]     |
[INFO] [stdout] 711 |                 let (array_data, array_size) = match *aux.offset(TYPE_ID_LEN) {
[INFO] [stdout]     |                                                       ^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::slice::from_raw_parts` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/bam/record.rs:713:69
[INFO] [stdout]     |
[INFO] [stdout] 713 |                           Aux::ArrayI8(AuxArray::<'a, i8>::from_bytes(slice::from_raw_parts(
[INFO] [stdout]     |  _____________________________________________________________________^
[INFO] [stdout] 714 | |                             aux.offset(array_data_offset),
[INFO] [stdout] 715 | |                             length,
[INFO] [stdout] 716 | |                         ))),
[INFO] [stdout]     | |_________________________^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::offset` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/bam/record.rs:714:29
[INFO] [stdout]     |
[INFO] [stdout] 714 | ...                   aux.offset(array_data_offset),
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::slice::from_raw_parts` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/bam/record.rs:720:69
[INFO] [stdout]     |
[INFO] [stdout] 720 |                           Aux::ArrayU8(AuxArray::<'a, u8>::from_bytes(slice::from_raw_parts(
[INFO] [stdout]     |  _____________________________________________________________________^
[INFO] [stdout] 721 | |                             aux.offset(array_data_offset),
[INFO] [stdout] 722 | |                             length,
[INFO] [stdout] 723 | |                         ))),
[INFO] [stdout]     | |_________________________^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::offset` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/bam/record.rs:721:29
[INFO] [stdout]     |
[INFO] [stdout] 721 | ...                   aux.offset(array_data_offset),
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::slice::from_raw_parts` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/bam/record.rs:727:71
[INFO] [stdout]     |
[INFO] [stdout] 727 |                           Aux::ArrayI16(AuxArray::<'a, i16>::from_bytes(slice::from_raw_parts(
[INFO] [stdout]     |  _______________________________________________________________________^
[INFO] [stdout] 728 | |                             aux.offset(array_data_offset),
[INFO] [stdout] 729 | |                             length * size_of::<i16>(),
[INFO] [stdout] 730 | |                         ))),
[INFO] [stdout]     | |_________________________^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::offset` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/bam/record.rs:728:29
[INFO] [stdout]     |
[INFO] [stdout] 728 | ...                   aux.offset(array_data_offset),
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::slice::from_raw_parts` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/bam/record.rs:734:71
[INFO] [stdout]     |
[INFO] [stdout] 734 |                           Aux::ArrayU16(AuxArray::<'a, u16>::from_bytes(slice::from_raw_parts(
[INFO] [stdout]     |  _______________________________________________________________________^
[INFO] [stdout] 735 | |                             aux.offset(array_data_offset),
[INFO] [stdout] 736 | |                             length * size_of::<u16>(),
[INFO] [stdout] 737 | |                         ))),
[INFO] [stdout]     | |_________________________^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::offset` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/bam/record.rs:735:29
[INFO] [stdout]     |
[INFO] [stdout] 735 | ...                   aux.offset(array_data_offset),
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::slice::from_raw_parts` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/bam/record.rs:741:71
[INFO] [stdout]     |
[INFO] [stdout] 741 |                           Aux::ArrayI32(AuxArray::<'a, i32>::from_bytes(slice::from_raw_parts(
[INFO] [stdout]     |  _______________________________________________________________________^
[INFO] [stdout] 742 | |                             aux.offset(array_data_offset),
[INFO] [stdout] 743 | |                             length * size_of::<i32>(),
[INFO] [stdout] 744 | |                         ))),
[INFO] [stdout]     | |_________________________^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::offset` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/bam/record.rs:742:29
[INFO] [stdout]     |
[INFO] [stdout] 742 | ...                   aux.offset(array_data_offset),
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::slice::from_raw_parts` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/bam/record.rs:748:71
[INFO] [stdout]     |
[INFO] [stdout] 748 |                           Aux::ArrayU32(AuxArray::<'a, u32>::from_bytes(slice::from_raw_parts(
[INFO] [stdout]     |  _______________________________________________________________________^
[INFO] [stdout] 749 | |                             aux.offset(array_data_offset),
[INFO] [stdout] 750 | |                             length * size_of::<u32>(),
[INFO] [stdout] 751 | |                         ))),
[INFO] [stdout]     | |_________________________^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::offset` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/bam/record.rs:749:29
[INFO] [stdout]     |
[INFO] [stdout] 749 | ...                   aux.offset(array_data_offset),
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::slice::from_raw_parts` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/bam/record.rs:755:69
[INFO] [stdout]     |
[INFO] [stdout] 755 |                           Aux::ArrayFloat(AuxArray::<f32>::from_bytes(slice::from_raw_parts(
[INFO] [stdout]     |  _____________________________________________________________________^
[INFO] [stdout] 756 | |                             aux.offset(array_data_offset),
[INFO] [stdout] 757 | |                             length * size_of::<f32>(),
[INFO] [stdout] 758 | |                         ))),
[INFO] [stdout]     | |_________________________^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::offset` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/bam/record.rs:756:29
[INFO] [stdout]     |
[INFO] [stdout] 756 | ...                   aux.offset(array_data_offset),
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `core::slice::<impl [T]>::get_unchecked` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/bam/record.rs:1608:6
[INFO] [stdout]      |
[INFO] [stdout] 1608 |     (encoded_seq.get_unchecked(i / 2) >> ((!i & 1) << 2)) & 0b1111
[INFO] [stdout]      |      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]     --> src/bam/record.rs:1607:1
[INFO] [stdout]      |
[INFO] [stdout] 1607 | unsafe fn encoded_base_unchecked(encoded_seq: &[u8], i: usize) -> u8 {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `bam::record::encoded_base_unchecked` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/bam/record.rs:1633:9
[INFO] [stdout]      |
[INFO] [stdout] 1633 |         encoded_base_unchecked(self.encoded, i)
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]     --> src/bam/record.rs:1632:5
[INFO] [stdout]      |
[INFO] [stdout] 1632 |     pub unsafe fn encoded_base_unchecked(&self, i: usize) -> u8 {
[INFO] [stdout]      |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `bam::record::Seq::<'a>::encoded_base_unchecked` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/bam/record.rs:1641:32
[INFO] [stdout]      |
[INFO] [stdout] 1641 |         *decode_base_unchecked(self.encoded_base_unchecked(i))
[INFO] [stdout]      |                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]     --> src/bam/record.rs:1640:5
[INFO] [stdout]      |
[INFO] [stdout] 1640 |     pub unsafe fn decoded_base_unchecked(&self, i: usize) -> u8 {
[INFO] [stdout]      |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `hts_sys::hts_set_threads` is unsafe and requires unsafe block
[INFO] [stdout]   --> src/bam/mod.rs:45:8
[INFO] [stdout]    |
[INFO] [stdout] 45 |     if htslib::hts_set_threads(htsfile, n_threads as i32) != 0 {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]    = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]   --> src/bam/mod.rs:42:1
[INFO] [stdout]    |
[INFO] [stdout] 42 | unsafe fn set_threads(htsfile: *mut htslib::htsFile, n_threads: usize) -> Result<()> {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `hts_sys::hts_set_thread_pool` is unsafe and requires unsafe block
[INFO] [stdout]   --> src/bam/mod.rs:55:8
[INFO] [stdout]    |
[INFO] [stdout] 55 |     if htslib::hts_set_thread_pool(htsfile, &mut b.inner as *mut _) != 0 {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]    = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]   --> src/bam/mod.rs:52:1
[INFO] [stdout]    |
[INFO] [stdout] 52 | unsafe fn set_thread_pool(htsfile: *mut htslib::htsFile, tpool: &ThreadPool) -> Result<()> {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `hts_sys::hts_set_fai_filename` is unsafe and requires unsafe block
[INFO] [stdout]   --> src/bam/mod.rs:78:8
[INFO] [stdout]    |
[INFO] [stdout] 78 |     if htslib::hts_set_fai_filename(htsfile, c_str.as_ptr()) == 0 {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]    = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]   --> src/bam/mod.rs:65:1
[INFO] [stdout]    |
[INFO] [stdout] 65 | / pub unsafe fn set_fai_filename<P: AsRef<Path>>(
[INFO] [stdout] 66 | |     htsfile: *mut htslib::htsFile,
[INFO] [stdout] 67 | |     fasta_path: P,
[INFO] [stdout] 68 | | ) -> Result<()> {
[INFO] [stdout]    | |_______________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `hts_sys::sam_hdr_nref` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/bam/mod.rs:831:29
[INFO] [stdout]     |
[INFO] [stdout] 831 |             usize::try_from(hts_sys::sam_hdr_nref(h)).map_err(|_| Error::NoSequencesInReference)?;
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/bam/mod.rs:819:5
[INFO] [stdout]     |
[INFO] [stdout] 819 |     unsafe fn slow_idxstats(&mut self) -> Result<Vec<(i64, u64, u64, u64)>> {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::mem::MaybeUninit::<T>::assume_init` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/bam/mod.rs:836:39
[INFO] [stdout]     |
[INFO] [stdout] 836 |         let mut bb: hts_sys::bam1_t = MaybeUninit::zeroed().assume_init();
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `hts_sys::sam_read1` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/bam/mod.rs:839:19
[INFO] [stdout]     |
[INFO] [stdout] 839 |             ret = hts_sys::sam_read1(fp, h, b);
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block
[INFO] [stdout]    --> src/bam/mod.rs:843:23
[INFO] [stdout]     |
[INFO] [stdout] 843 |             let tid = (*b).core.tid;
[INFO] [stdout]     |                       ^^^^ dereference of raw pointer
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block
[INFO] [stdout]    --> src/bam/mod.rs:855:27
[INFO] [stdout]     |
[INFO] [stdout] 855 |             let idx = if ((*b).core.flag as u32 & hts_sys::BAM_FUNMAP) > 0 {
[INFO] [stdout]     |                           ^^^^ dereference of raw pointer
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block
[INFO] [stdout]    --> src/bam/mod.rs:860:20
[INFO] [stdout]     |
[INFO] [stdout] 860 |             counts[(*b).core.tid as usize][idx] += 1;
[INFO] [stdout]     |                    ^^^^ dereference of raw pointer
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/bam/mod.rs:3030:17
[INFO] [stdout]      |
[INFO] [stdout] 3030 |             let mut record = Record::new();
[INFO] [stdout]      |                 ----^^^^^^
[INFO] [stdout]      |                 |
[INFO] [stdout]      |                 help: remove this `mut`
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `hts_sys::hts_set_threads` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/bcf/mod.rs:172:13
[INFO] [stdout]     |
[INFO] [stdout] 172 |     let r = htslib::hts_set_threads(hts_file, n_threads as i32);
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/bcf/mod.rs:169:1
[INFO] [stdout]     |
[INFO] [stdout] 169 | pub unsafe fn set_threads(hts_file: *mut htslib::htsFile, n_threads: usize) -> Result<()> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0133`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `extended-htslib` (lib test) due to 1 previous error; 55 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "13bed9f6062846f396dab3c20b222cfac948d8a059cdde57946e00f85e2e0bf4", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "13bed9f6062846f396dab3c20b222cfac948d8a059cdde57946e00f85e2e0bf4", kill_on_drop: false }`
[INFO] [stdout] 13bed9f6062846f396dab3c20b222cfac948d8a059cdde57946e00f85e2e0bf4
