    Checking asterix-deku v0.1.0 (/home/wcampbell/projects/wcampbell/code/asterix-deku)
warning: item name ends with its containing module's name
  --> src/fspec.rs:4:1
   |
4  | / pub fn read_fspec(rest: &BitSlice<Msb0, u8>) -> Result<(&BitSlice<Msb0, u8>, Vec<u8>), DekuError> {
5  | |     let mut v = vec![];
6  | |     let mut inner_rest = rest;
7  | |     loop {
...  |
18 | |     Ok((inner_rest, v))
19 | | }
   | |_^
   |
   = note: `-W clippy::module-name-repetitions` implied by `-W clippy::pedantic`
   = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#module_name_repetitions

warning: item name ends with its containing module's name
  --> src/fspec.rs:22:1
   |
22 | / pub fn is_fspec(dataitem_fspec: u8, fspec: &[u8], pos: usize) -> bool {
23 | |     if pos < fspec.len() {
24 | |         dataitem_fspec & fspec[pos] != dataitem_fspec
25 | |     } else {
26 | |         true
27 | |     }
28 | | }
   | |_^
   |
   = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#module_name_repetitions

warning: variant is never constructed: `Add`
 --> src/custom_read_write.rs:7:5
  |
7 |     Add,
  |     ^^^
  |
  = note: `#[warn(dead_code)]` on by default

warning: variant is never constructed: `Subtract`
 --> src/custom_read_write.rs:8:5
  |
8 |     Subtract,
  |     ^^^^^^^^

warning: could not read cargo metadata: Error during execution of `cargo metadata`: error: Unrecognized option: 'format-version'


  |
  = note: `-W clippy::cargo-common-metadata` implied by `-W clippy::cargo`
  = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cargo_common_metadata

warning: could not read cargo metadata: Error during execution of `cargo metadata`: error: Unrecognized option: 'format-version'


  |
  = note: `-W clippy::multiple-crate-versions` implied by `-W clippy::cargo`
  = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#multiple_crate_versions

warning: could not read cargo metadata: Error during execution of `cargo metadata`: error: Unrecognized option: 'format-version'


  |
  = note: `-W clippy::wildcard-dependencies` implied by `-W clippy::cargo`
  = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#wildcard_dependencies

warning: casting `u32` to `f32` causes a loss of precision (`u32` is 32 bits wide, but `f32`'s mantissa is only 23 bits wide)
  --> src/custom_read_write.rs:22:18
   |
22 |         op(rest, value as f32, modifier, modifier_op)
   |                  ^^^^^^^^^^^^
   |
   = note: `-W clippy::cast-precision-loss` implied by `-W clippy::pedantic`
   = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_precision_loss

warning: this argument is passed by value, but not consumed in the function body
  --> src/custom_read_write.rs:40:22
   |
40 |         modifier_op: Op,
   |                      ^^ help: consider taking a reference instead: `&Op`
   |
   = note: `-W clippy::needless-pass-by-value` implied by `-W clippy::pedantic`
help: consider marking this type as `Copy`
  --> src/custom_read_write.rs:4:1
   |
4  | / pub enum Op {
5  | |     Multiply,
6  | |     Divide,
7  | |     Add,
8  | |     Subtract,
9  | | }
   | |_^
   = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_pass_by_value

warning: this argument is passed by value, but not consumed in the function body
  --> src/custom_read_write.rs:68:22
   |
68 |         modifier_op: Op,
   |                      ^^ help: consider taking a reference instead: `&Op`
   |
help: consider marking this type as `Copy`
  --> src/custom_read_write.rs:4:1
   |
4  | / pub enum Op {
5  | |     Multiply,
6  | |     Divide,
7  | |     Add,
8  | |     Subtract,
9  | | }
   | |_^
   = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_pass_by_value

warning: this argument (4 byte) is passed by reference, but would be more efficient if passed by value (limit: 8 byte)
  --> src/custom_read_write.rs:65:16
   |
65 |         value: &f32,
   |                ^^^^ help: consider passing by value instead: `f32`
   |
   = note: `-W clippy::trivially-copy-pass-by-ref` implied by `-W clippy::pedantic`
   = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref

warning: casting `f32` to `u32` may truncate the value
  --> src/custom_read_write.rs:76:21
   |
76 |         let value = value as u32;
   |                     ^^^^^^^^^^^^
   |
   = note: `-W clippy::cast-possible-truncation` implied by `-W clippy::pedantic`
   = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_possible_truncation

warning: casting `f32` to `u32` may lose the sign of the value
  --> src/custom_read_write.rs:76:21
   |
76 |         let value = value as u32;
   |                     ^^^^^^^^^^^^
   |
   = note: `-W clippy::cast-sign-loss` implied by `-W clippy::pedantic`
   = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_sign_loss

warning: this argument (8 byte) is passed by reference, but would be more efficient if passed by value (limit: 8 byte)
  --> src/custom_read_write.rs:81:16
   |
81 |         value: &Option<f32>,
   |                ^^^^^^^^^^^^ help: consider passing by value instead: `Option<f32>`
   |
   = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref

warning: this argument is passed by value, but not consumed in the function body
  --> src/custom_read_write.rs:95:22
   |
95 |         modifier_op: Op,
   |                      ^^ help: consider taking a reference instead: `&Op`
   |
help: consider marking this type as `Copy`
  --> src/custom_read_write.rs:4:1
   |
4  | / pub enum Op {
5  | |     Multiply,
6  | |     Divide,
7  | |     Add,
8  | |     Subtract,
9  | | }
   | |_^
   = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_pass_by_value

warning: this argument (4 byte) is passed by reference, but would be more efficient if passed by value (limit: 8 byte)
  --> src/custom_read_write.rs:92:16
   |
92 |         value: &f32,
   |                ^^^^ help: consider passing by value instead: `f32`
   |
   = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref

warning: casting `f32` to `i32` may truncate the value
   --> src/custom_read_write.rs:103:21
    |
103 |         let value = value as i32;
    |                     ^^^^^^^^^^^^
    |
    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_possible_truncation

warning: calling `std::option::Option<data_item::DataSourceIdentifier>::default()` is more clear than this expression
  --> src/fourty_eight.rs:12:28
   |
12 | #[derive(Debug, PartialEq, DekuRead, DekuWrite)]
   |                            ^^^^^^^^
   |
   = note: `-W clippy::default-trait-access` implied by `-W clippy::pedantic`
   = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#default_trait_access
   = note: this warning originates in a derive macro (in Nightly builds, run with -Z macro-backtrace for more info)

warning: calling `std::option::Option<data_item::TimeOfDay>::default()` is more clear than this expression
  --> src/fourty_eight.rs:12:28
   |
12 | #[derive(Debug, PartialEq, DekuRead, DekuWrite)]
   |                            ^^^^^^^^
   |
   = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#default_trait_access
   = note: this warning originates in a derive macro (in Nightly builds, run with -Z macro-backtrace for more info)

warning: calling `std::option::Option<data_item::TargetReportDescriptor>::default()` is more clear than this expression
  --> src/fourty_eight.rs:12:28
   |
12 | #[derive(Debug, PartialEq, DekuRead, DekuWrite)]
   |                            ^^^^^^^^
   |
   = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#default_trait_access
   = note: this warning originates in a derive macro (in Nightly builds, run with -Z macro-backtrace for more info)

warning: calling `std::option::Option<data_item::MeasuredPositionInPolarCoordinates>::default()` is more clear than this expression
  --> src/fourty_eight.rs:12:28
   |
12 | #[derive(Debug, PartialEq, DekuRead, DekuWrite)]
   |                            ^^^^^^^^
   |
   = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#default_trait_access
   = note: this warning originates in a derive macro (in Nightly builds, run with -Z macro-backtrace for more info)

warning: calling `std::option::Option<data_item::Mode3ACodeInOctalRepresentation>::default()` is more clear than this expression
  --> src/fourty_eight.rs:12:28
   |
12 | #[derive(Debug, PartialEq, DekuRead, DekuWrite)]
   |                            ^^^^^^^^
   |
   = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#default_trait_access
   = note: this warning originates in a derive macro (in Nightly builds, run with -Z macro-backtrace for more info)

warning: calling `std::option::Option<data_item::FlightLevelInBinaryRepresentation>::default()` is more clear than this expression
  --> src/fourty_eight.rs:12:28
   |
12 | #[derive(Debug, PartialEq, DekuRead, DekuWrite)]
   |                            ^^^^^^^^
   |
   = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#default_trait_access
   = note: this warning originates in a derive macro (in Nightly builds, run with -Z macro-backtrace for more info)

warning: calling `std::option::Option<data_item::RadarPlotCharacteristics>::default()` is more clear than this expression
  --> src/fourty_eight.rs:12:28
   |
12 | #[derive(Debug, PartialEq, DekuRead, DekuWrite)]
   |                            ^^^^^^^^
   |
   = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#default_trait_access
   = note: this warning originates in a derive macro (in Nightly builds, run with -Z macro-backtrace for more info)

warning: calling `std::option::Option<data_item::AircraftAddress>::default()` is more clear than this expression
  --> src/fourty_eight.rs:12:28
   |
12 | #[derive(Debug, PartialEq, DekuRead, DekuWrite)]
   |                            ^^^^^^^^
   |
   = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#default_trait_access
   = note: this warning originates in a derive macro (in Nightly builds, run with -Z macro-backtrace for more info)

warning: calling `std::option::Option<data_item::AircraftIdentification>::default()` is more clear than this expression
  --> src/fourty_eight.rs:12:28
   |
12 | #[derive(Debug, PartialEq, DekuRead, DekuWrite)]
   |                            ^^^^^^^^
   |
   = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#default_trait_access
   = note: this warning originates in a derive macro (in Nightly builds, run with -Z macro-backtrace for more info)

warning: calling `std::option::Option<data_item::ModeSMBData>::default()` is more clear than this expression
  --> src/fourty_eight.rs:12:28
   |
12 | #[derive(Debug, PartialEq, DekuRead, DekuWrite)]
   |                            ^^^^^^^^
   |
   = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#default_trait_access
   = note: this warning originates in a derive macro (in Nightly builds, run with -Z macro-backtrace for more info)

warning: calling `std::option::Option<data_item::TrackNumber>::default()` is more clear than this expression
  --> src/fourty_eight.rs:12:28
   |
12 | #[derive(Debug, PartialEq, DekuRead, DekuWrite)]
   |                            ^^^^^^^^
   |
   = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#default_trait_access
   = note: this warning originates in a derive macro (in Nightly builds, run with -Z macro-backtrace for more info)

warning: calling `std::option::Option<data_item::CalculatedPositionCartesianCorr>::default()` is more clear than this expression
  --> src/fourty_eight.rs:12:28
   |
12 | #[derive(Debug, PartialEq, DekuRead, DekuWrite)]
   |                            ^^^^^^^^
   |
   = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#default_trait_access
   = note: this warning originates in a derive macro (in Nightly builds, run with -Z macro-backtrace for more info)

warning: calling `std::option::Option<data_item::CalculatedTrackVelocity>::default()` is more clear than this expression
  --> src/fourty_eight.rs:12:28
   |
12 | #[derive(Debug, PartialEq, DekuRead, DekuWrite)]
   |                            ^^^^^^^^
   |
   = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#default_trait_access
   = note: this warning originates in a derive macro (in Nightly builds, run with -Z macro-backtrace for more info)

warning: calling `std::option::Option<data_item::TrackStatus>::default()` is more clear than this expression
  --> src/fourty_eight.rs:12:28
   |
12 | #[derive(Debug, PartialEq, DekuRead, DekuWrite)]
   |                            ^^^^^^^^
   |
   = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#default_trait_access
   = note: this warning originates in a derive macro (in Nightly builds, run with -Z macro-backtrace for more info)

warning: calling `std::option::Option<data_item::CommunicationsCapabilityFlightStatus>::default()` is more clear than this expression
  --> src/fourty_eight.rs:12:28
   |
12 | #[derive(Debug, PartialEq, DekuRead, DekuWrite)]
   |                            ^^^^^^^^
   |
   = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#default_trait_access
   = note: this warning originates in a derive macro (in Nightly builds, run with -Z macro-backtrace for more info)

warning: calling `std::option::Option<data_item::DataSourceIdentifier>::default()` is more clear than this expression
  --> src/fourty_eight.rs:12:28
   |
12 | #[derive(Debug, PartialEq, DekuRead, DekuWrite)]
   |                            ^^^^^^^^
   |
   = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#default_trait_access
   = note: this warning originates in a derive macro (in Nightly builds, run with -Z macro-backtrace for more info)

warning: calling `std::option::Option<data_item::DataSourceIdentifier>::default()` is more clear than this expression
 --> src/thirty_four.rs:5:28
  |
5 | #[derive(Debug, PartialEq, DekuRead, DekuWrite)]
  |                            ^^^^^^^^
  |
  = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#default_trait_access
  = note: this warning originates in a derive macro (in Nightly builds, run with -Z macro-backtrace for more info)

warning: calling `std::option::Option<data_item::MessageType>::default()` is more clear than this expression
 --> src/thirty_four.rs:5:28
  |
5 | #[derive(Debug, PartialEq, DekuRead, DekuWrite)]
  |                            ^^^^^^^^
  |
  = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#default_trait_access
  = note: this warning originates in a derive macro (in Nightly builds, run with -Z macro-backtrace for more info)

warning: calling `std::option::Option<data_item::TimeOfDay>::default()` is more clear than this expression
 --> src/thirty_four.rs:5:28
  |
5 | #[derive(Debug, PartialEq, DekuRead, DekuWrite)]
  |                            ^^^^^^^^
  |
  = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#default_trait_access
  = note: this warning originates in a derive macro (in Nightly builds, run with -Z macro-backtrace for more info)

warning: calling `std::option::Option<data_item::SectorNumber>::default()` is more clear than this expression
 --> src/thirty_four.rs:5:28
  |
5 | #[derive(Debug, PartialEq, DekuRead, DekuWrite)]
  |                            ^^^^^^^^
  |
  = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#default_trait_access
  = note: this warning originates in a derive macro (in Nightly builds, run with -Z macro-backtrace for more info)

warning: this argument (2 byte) is passed by reference, but would be more efficient if passed by value (limit: 8 byte)
   --> src/data_item.rs:101:28
    |
101 |     fn write(flight_level: &u16) -> Result<BitVec<Msb0, u8>, DekuError> {
    |                            ^^^^ help: consider passing by value instead: `u16`
    |
    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref

warning: methods called `as_*` usually take self by reference or self by mutable reference; consider choosing a less ambiguous name
   --> src/data_item.rs:173:23
    |
173 |     const fn as_ascii(code: u8) -> u8 {
    |                       ^^^^
    |
    = note: `#[warn(clippy::wrong_self_convention)]` on by default
    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#wrong_self_convention

warning: methods called `as_*` usually take self by reference or self by mutable reference; consider choosing a less ambiguous name
   --> src/data_item.rs:190:21
    |
190 |     const fn as_ia5(code: u8) -> u8 {
    |                     ^^^^
    |
    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#wrong_self_convention

warning: calling `std::option::Option<types::TRE>::default()` is more clear than this expression
   --> src/data_item.rs:284:28
    |
284 | #[derive(Debug, PartialEq, DekuRead, DekuWrite)]
    |                            ^^^^^^^^
    |
    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#default_trait_access
    = note: this warning originates in a derive macro (in Nightly builds, run with -Z macro-backtrace for more info)

warning: calling `std::option::Option<types::GHO>::default()` is more clear than this expression
   --> src/data_item.rs:284:28
    |
284 | #[derive(Debug, PartialEq, DekuRead, DekuWrite)]
    |                            ^^^^^^^^
    |
    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#default_trait_access
    = note: this warning originates in a derive macro (in Nightly builds, run with -Z macro-backtrace for more info)

warning: calling `std::option::Option<types::SUP>::default()` is more clear than this expression
   --> src/data_item.rs:284:28
    |
284 | #[derive(Debug, PartialEq, DekuRead, DekuWrite)]
    |                            ^^^^^^^^
    |
    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#default_trait_access
    = note: this warning originates in a derive macro (in Nightly builds, run with -Z macro-backtrace for more info)

warning: calling `std::option::Option<types::TCC>::default()` is more clear than this expression
   --> src/data_item.rs:284:28
    |
284 | #[derive(Debug, PartialEq, DekuRead, DekuWrite)]
    |                            ^^^^^^^^
    |
    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#default_trait_access
    = note: this warning originates in a derive macro (in Nightly builds, run with -Z macro-backtrace for more info)

warning: calling `std::option::Option<u32>::default()` is more clear than this expression
   --> src/data_item.rs:284:28
    |
284 | #[derive(Debug, PartialEq, DekuRead, DekuWrite)]
    |                            ^^^^^^^^
    |
    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#default_trait_access
    = note: this warning originates in a derive macro (in Nightly builds, run with -Z macro-backtrace for more info)

warning: calling `std::option::Option<types::FX>::default()` is more clear than this expression
   --> src/data_item.rs:284:28
    |
284 | #[derive(Debug, PartialEq, DekuRead, DekuWrite)]
    |                            ^^^^^^^^
    |
    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#default_trait_access
    = note: this warning originates in a derive macro (in Nightly builds, run with -Z macro-backtrace for more info)

warning: calling `std::option::Option<f32>::default()` is more clear than this expression
   --> src/data_item.rs:336:28
    |
336 | #[derive(Debug, PartialEq, DekuRead, DekuWrite)]
    |                            ^^^^^^^^
    |
    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#default_trait_access
    = note: this warning originates in a derive macro (in Nightly builds, run with -Z macro-backtrace for more info)

warning: calling `std::option::Option<u8>::default()` is more clear than this expression
   --> src/data_item.rs:336:28
    |
336 | #[derive(Debug, PartialEq, DekuRead, DekuWrite)]
    |                            ^^^^^^^^
    |
    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#default_trait_access
    = note: this warning originates in a derive macro (in Nightly builds, run with -Z macro-backtrace for more info)

warning: calling `std::option::Option<i8>::default()` is more clear than this expression
   --> src/data_item.rs:336:28
    |
336 | #[derive(Debug, PartialEq, DekuRead, DekuWrite)]
    |                            ^^^^^^^^
    |
    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#default_trait_access
    = note: this warning originates in a derive macro (in Nightly builds, run with -Z macro-backtrace for more info)

warning: casting `f32` to `u16` may truncate the value
   --> src/data_item.rs:416:19
    |
416 |         Ok((rest, (f32::from(value) * Self::modifier()) as u16))
    |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    |
    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_possible_truncation

warning: casting `f32` to `u16` may lose the sign of the value
   --> src/data_item.rs:416:19
    |
416 |         Ok((rest, (f32::from(value) * Self::modifier()) as u16))
    |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    |
    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_sign_loss

warning: this argument (2 byte) is passed by reference, but would be more efficient if passed by value (limit: 8 byte)
   --> src/data_item.rs:419:19
    |
419 |     fn write(num: &u16) -> Result<BitVec<Msb0, u8>, DekuError> {
    |                   ^^^^ help: consider passing by value instead: `u16`
    |
    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref

warning: casting `f32` to `u8` may truncate the value
   --> src/data_item.rs:420:21
    |
420 |         let value = (f32::from(*num) / Self::modifier()) as u8;
    |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    |
    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_possible_truncation

warning: casting `f32` to `u8` may lose the sign of the value
   --> src/data_item.rs:420:21
    |
420 |         let value = (f32::from(*num) / Self::modifier()) as u8;
    |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    |
    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_sign_loss

warning: `rest` is being shadowed
  --> src/fspec.rs:8:14
   |
8  |         let (rest, value) = u8::read(
   |              ^^^^
   |
   = note: `-W clippy::shadow-unrelated` implied by `-W clippy::pedantic`
note: initialization happens here
  --> src/fspec.rs:8:29
   |
8  |           let (rest, value) = u8::read(
   |  _____________________________^
9  | |             inner_rest,
10 | |             (deku::ctx::Endian::Big, deku::ctx::BitSize(8_usize)),
11 | |         )?;
   | |__________^
note: previous binding is here
  --> src/fspec.rs:4:19
   |
4  | pub fn read_fspec(rest: &BitSlice<Msb0, u8>) -> Result<(&BitSlice<Msb0, u8>, Vec<u8>), DekuError> {
   |                   ^^^^
   = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#shadow_unrelated

warning: this could be a `const fn`
  --> src/fspec.rs:22:1
   |
22 | / pub fn is_fspec(dataitem_fspec: u8, fspec: &[u8], pos: usize) -> bool {
23 | |     if pos < fspec.len() {
24 | |         dataitem_fspec & fspec[pos] != dataitem_fspec
25 | |     } else {
26 | |         true
27 | |     }
28 | | }
   | |_^
   |
   = note: `-W clippy::missing-const-for-fn` implied by `-W clippy::nursery`
   = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_const_for_fn

warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices.
  --> src/lib.rs:59:19
   |
59 |         messages: &Vec<AsterixMessage>,
   |                   ^^^^^^^^^^^^^^^^^^^^ help: change this to: `&[AsterixMessage]`
   |
   = note: `#[warn(clippy::ptr_arg)]` on by default
   = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg

warning: 57 warnings emitted

warning: item name ends with its containing module's name
  --> src/fspec.rs:4:1
   |
4  | / pub fn read_fspec(rest: &BitSlice<Msb0, u8>) -> Result<(&BitSlice<Msb0, u8>, Vec<u8>), DekuError> {
5  | |     let mut v = vec![];
6  | |     let mut inner_rest = rest;
7  | |     loop {
...  |
18 | |     Ok((inner_rest, v))
19 | | }
   | |_^
   |
   = note: `-W clippy::module-name-repetitions` implied by `-W clippy::pedantic`
   = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#module_name_repetitions

warning: item name ends with its containing module's name
  --> src/fspec.rs:22:1
   |
22 | / pub fn is_fspec(dataitem_fspec: u8, fspec: &[u8], pos: usize) -> bool {
23 | |     if pos < fspec.len() {
24 | |         dataitem_fspec & fspec[pos] != dataitem_fspec
25 | |     } else {
26 | |         true
27 | |     }
28 | | }
   | |_^
   |
   = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#module_name_repetitions

warning: variant is never constructed: `Add`
 --> src/custom_read_write.rs:7:5
  |
7 |     Add,
  |     ^^^
  |
  = note: `#[warn(dead_code)]` on by default

warning: variant is never constructed: `Subtract`
 --> src/custom_read_write.rs:8:5
  |
8 |     Subtract,
  |     ^^^^^^^^

warning: could not read cargo metadata: Error during execution of `cargo metadata`: error: Unrecognized option: 'format-version'


  |
  = note: `-W clippy::cargo-common-metadata` implied by `-W clippy::cargo`
  = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cargo_common_metadata

warning: could not read cargo metadata: Error during execution of `cargo metadata`: error: Unrecognized option: 'format-version'


  |
  = note: `-W clippy::multiple-crate-versions` implied by `-W clippy::cargo`
  = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#multiple_crate_versions

warning: could not read cargo metadata: Error during execution of `cargo metadata`: error: Unrecognized option: 'format-version'


  |
  = note: `-W clippy::wildcard-dependencies` implied by `-W clippy::cargo`
  = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#wildcard_dependencies

warning: casting `u32` to `f32` causes a loss of precision (`u32` is 32 bits wide, but `f32`'s mantissa is only 23 bits wide)
  --> src/custom_read_write.rs:22:18
   |
22 |         op(rest, value as f32, modifier, modifier_op)
   |                  ^^^^^^^^^^^^
   |
   = note: `-W clippy::cast-precision-loss` implied by `-W clippy::pedantic`
   = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_precision_loss

warning: this argument is passed by value, but not consumed in the function body
  --> src/custom_read_write.rs:40:22
   |
40 |         modifier_op: Op,
   |                      ^^ help: consider taking a reference instead: `&Op`
   |
   = note: `-W clippy::needless-pass-by-value` implied by `-W clippy::pedantic`
help: consider marking this type as `Copy`
  --> src/custom_read_write.rs:4:1
   |
4  | / pub enum Op {
5  | |     Multiply,
6  | |     Divide,
7  | |     Add,
8  | |     Subtract,
9  | | }
   | |_^
   = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_pass_by_value

warning: this argument is passed by value, but not consumed in the function body
  --> src/custom_read_write.rs:68:22
   |
68 |         modifier_op: Op,
   |                      ^^ help: consider taking a reference instead: `&Op`
   |
help: consider marking this type as `Copy`
  --> src/custom_read_write.rs:4:1
   |
4  | / pub enum Op {
5  | |     Multiply,
6  | |     Divide,
7  | |     Add,
8  | |     Subtract,
9  | | }
   | |_^
   = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_pass_by_value

warning: this argument (4 byte) is passed by reference, but would be more efficient if passed by value (limit: 8 byte)
  --> src/custom_read_write.rs:65:16
   |
65 |         value: &f32,
   |                ^^^^ help: consider passing by value instead: `f32`
   |
   = note: `-W clippy::trivially-copy-pass-by-ref` implied by `-W clippy::pedantic`
   = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref

warning: casting `f32` to `u32` may truncate the value
  --> src/custom_read_write.rs:76:21
   |
76 |         let value = value as u32;
   |                     ^^^^^^^^^^^^
   |
   = note: `-W clippy::cast-possible-truncation` implied by `-W clippy::pedantic`
   = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_possible_truncation

warning: casting `f32` to `u32` may lose the sign of the value
  --> src/custom_read_write.rs:76:21
   |
76 |         let value = value as u32;
   |                     ^^^^^^^^^^^^
   |
   = note: `-W clippy::cast-sign-loss` implied by `-W clippy::pedantic`
   = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_sign_loss

warning: this argument (8 byte) is passed by reference, but would be more efficient if passed by value (limit: 8 byte)
  --> src/custom_read_write.rs:81:16
   |
81 |         value: &Option<f32>,
   |                ^^^^^^^^^^^^ help: consider passing by value instead: `Option<f32>`
   |
   = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref

warning: this argument is passed by value, but not consumed in the function body
  --> src/custom_read_write.rs:95:22
   |
95 |         modifier_op: Op,
   |                      ^^ help: consider taking a reference instead: `&Op`
   |
help: consider marking this type as `Copy`
  --> src/custom_read_write.rs:4:1
   |
4  | / pub enum Op {
5  | |     Multiply,
6  | |     Divide,
7  | |     Add,
8  | |     Subtract,
9  | | }
   | |_^
   = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_pass_by_value

warning: this argument (4 byte) is passed by reference, but would be more efficient if passed by value (limit: 8 byte)
  --> src/custom_read_write.rs:92:16
   |
92 |         value: &f32,
   |                ^^^^ help: consider passing by value instead: `f32`
   |
   = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref

warning: casting `f32` to `i32` may truncate the value
   --> src/custom_read_write.rs:103:21
    |
103 |         let value = value as i32;
    |                     ^^^^^^^^^^^^
    |
    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_possible_truncation

warning: calling `std::option::Option<data_item::DataSourceIdentifier>::default()` is more clear than this expression
  --> src/fourty_eight.rs:12:28
   |
12 | #[derive(Debug, PartialEq, DekuRead, DekuWrite)]
   |                            ^^^^^^^^
   |
   = note: `-W clippy::default-trait-access` implied by `-W clippy::pedantic`
   = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#default_trait_access
   = note: this warning originates in a derive macro (in Nightly builds, run with -Z macro-backtrace for more info)

warning: calling `std::option::Option<data_item::TimeOfDay>::default()` is more clear than this expression
  --> src/fourty_eight.rs:12:28
   |
12 | #[derive(Debug, PartialEq, DekuRead, DekuWrite)]
   |                            ^^^^^^^^
   |
   = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#default_trait_access
   = note: this warning originates in a derive macro (in Nightly builds, run with -Z macro-backtrace for more info)

warning: calling `std::option::Option<data_item::TargetReportDescriptor>::default()` is more clear than this expression
  --> src/fourty_eight.rs:12:28
   |
12 | #[derive(Debug, PartialEq, DekuRead, DekuWrite)]
   |                            ^^^^^^^^
   |
   = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#default_trait_access
   = note: this warning originates in a derive macro (in Nightly builds, run with -Z macro-backtrace for more info)

warning: calling `std::option::Option<data_item::MeasuredPositionInPolarCoordinates>::default()` is more clear than this expression
  --> src/fourty_eight.rs:12:28
   |
12 | #[derive(Debug, PartialEq, DekuRead, DekuWrite)]
   |                            ^^^^^^^^
   |
   = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#default_trait_access
   = note: this warning originates in a derive macro (in Nightly builds, run with -Z macro-backtrace for more info)

warning: calling `std::option::Option<data_item::Mode3ACodeInOctalRepresentation>::default()` is more clear than this expression
  --> src/fourty_eight.rs:12:28
   |
12 | #[derive(Debug, PartialEq, DekuRead, DekuWrite)]
   |                            ^^^^^^^^
   |
   = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#default_trait_access
   = note: this warning originates in a derive macro (in Nightly builds, run with -Z macro-backtrace for more info)

warning: calling `std::option::Option<data_item::FlightLevelInBinaryRepresentation>::default()` is more clear than this expression
  --> src/fourty_eight.rs:12:28
   |
12 | #[derive(Debug, PartialEq, DekuRead, DekuWrite)]
   |                            ^^^^^^^^
   |
   = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#default_trait_access
   = note: this warning originates in a derive macro (in Nightly builds, run with -Z macro-backtrace for more info)

warning: calling `std::option::Option<data_item::RadarPlotCharacteristics>::default()` is more clear than this expression
  --> src/fourty_eight.rs:12:28
   |
12 | #[derive(Debug, PartialEq, DekuRead, DekuWrite)]
   |                            ^^^^^^^^
   |
   = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#default_trait_access
   = note: this warning originates in a derive macro (in Nightly builds, run with -Z macro-backtrace for more info)

warning: calling `std::option::Option<data_item::AircraftAddress>::default()` is more clear than this expression
  --> src/fourty_eight.rs:12:28
   |
12 | #[derive(Debug, PartialEq, DekuRead, DekuWrite)]
   |                            ^^^^^^^^
   |
   = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#default_trait_access
   = note: this warning originates in a derive macro (in Nightly builds, run with -Z macro-backtrace for more info)

warning: calling `std::option::Option<data_item::AircraftIdentification>::default()` is more clear than this expression
  --> src/fourty_eight.rs:12:28
   |
12 | #[derive(Debug, PartialEq, DekuRead, DekuWrite)]
   |                            ^^^^^^^^
   |
   = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#default_trait_access
   = note: this warning originates in a derive macro (in Nightly builds, run with -Z macro-backtrace for more info)

warning: calling `std::option::Option<data_item::ModeSMBData>::default()` is more clear than this expression
  --> src/fourty_eight.rs:12:28
   |
12 | #[derive(Debug, PartialEq, DekuRead, DekuWrite)]
   |                            ^^^^^^^^
   |
   = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#default_trait_access
   = note: this warning originates in a derive macro (in Nightly builds, run with -Z macro-backtrace for more info)

warning: calling `std::option::Option<data_item::TrackNumber>::default()` is more clear than this expression
  --> src/fourty_eight.rs:12:28
   |
12 | #[derive(Debug, PartialEq, DekuRead, DekuWrite)]
   |                            ^^^^^^^^
   |
   = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#default_trait_access
   = note: this warning originates in a derive macro (in Nightly builds, run with -Z macro-backtrace for more info)

warning: calling `std::option::Option<data_item::CalculatedPositionCartesianCorr>::default()` is more clear than this expression
  --> src/fourty_eight.rs:12:28
   |
12 | #[derive(Debug, PartialEq, DekuRead, DekuWrite)]
   |                            ^^^^^^^^
   |
   = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#default_trait_access
   = note: this warning originates in a derive macro (in Nightly builds, run with -Z macro-backtrace for more info)

warning: calling `std::option::Option<data_item::CalculatedTrackVelocity>::default()` is more clear than this expression
  --> src/fourty_eight.rs:12:28
   |
12 | #[derive(Debug, PartialEq, DekuRead, DekuWrite)]
   |                            ^^^^^^^^
   |
   = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#default_trait_access
   = note: this warning originates in a derive macro (in Nightly builds, run with -Z macro-backtrace for more info)

warning: calling `std::option::Option<data_item::TrackStatus>::default()` is more clear than this expression
  --> src/fourty_eight.rs:12:28
   |
12 | #[derive(Debug, PartialEq, DekuRead, DekuWrite)]
   |                            ^^^^^^^^
   |
   = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#default_trait_access
   = note: this warning originates in a derive macro (in Nightly builds, run with -Z macro-backtrace for more info)

warning: calling `std::option::Option<data_item::CommunicationsCapabilityFlightStatus>::default()` is more clear than this expression
  --> src/fourty_eight.rs:12:28
   |
12 | #[derive(Debug, PartialEq, DekuRead, DekuWrite)]
   |                            ^^^^^^^^
   |
   = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#default_trait_access
   = note: this warning originates in a derive macro (in Nightly builds, run with -Z macro-backtrace for more info)

warning: calling `std::option::Option<data_item::DataSourceIdentifier>::default()` is more clear than this expression
  --> src/fourty_eight.rs:12:28
   |
12 | #[derive(Debug, PartialEq, DekuRead, DekuWrite)]
   |                            ^^^^^^^^
   |
   = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#default_trait_access
   = note: this warning originates in a derive macro (in Nightly builds, run with -Z macro-backtrace for more info)

warning: calling `std::option::Option<data_item::DataSourceIdentifier>::default()` is more clear than this expression
 --> src/thirty_four.rs:5:28
  |
5 | #[derive(Debug, PartialEq, DekuRead, DekuWrite)]
  |                            ^^^^^^^^
  |
  = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#default_trait_access
  = note: this warning originates in a derive macro (in Nightly builds, run with -Z macro-backtrace for more info)

warning: calling `std::option::Option<data_item::MessageType>::default()` is more clear than this expression
 --> src/thirty_four.rs:5:28
  |
5 | #[derive(Debug, PartialEq, DekuRead, DekuWrite)]
  |                            ^^^^^^^^
  |
  = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#default_trait_access
  = note: this warning originates in a derive macro (in Nightly builds, run with -Z macro-backtrace for more info)

warning: calling `std::option::Option<data_item::TimeOfDay>::default()` is more clear than this expression
 --> src/thirty_four.rs:5:28
  |
5 | #[derive(Debug, PartialEq, DekuRead, DekuWrite)]
  |                            ^^^^^^^^
  |
  = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#default_trait_access
  = note: this warning originates in a derive macro (in Nightly builds, run with -Z macro-backtrace for more info)

warning: calling `std::option::Option<data_item::SectorNumber>::default()` is more clear than this expression
 --> src/thirty_four.rs:5:28
  |
5 | #[derive(Debug, PartialEq, DekuRead, DekuWrite)]
  |                            ^^^^^^^^
  |
  = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#default_trait_access
  = note: this warning originates in a derive macro (in Nightly builds, run with -Z macro-backtrace for more info)

warning: this argument (2 byte) is passed by reference, but would be more efficient if passed by value (limit: 8 byte)
   --> src/data_item.rs:101:28
    |
101 |     fn write(flight_level: &u16) -> Result<BitVec<Msb0, u8>, DekuError> {
    |                            ^^^^ help: consider passing by value instead: `u16`
    |
    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref

warning: methods called `as_*` usually take self by reference or self by mutable reference; consider choosing a less ambiguous name
   --> src/data_item.rs:173:23
    |
173 |     const fn as_ascii(code: u8) -> u8 {
    |                       ^^^^
    |
    = note: `#[warn(clippy::wrong_self_convention)]` on by default
    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#wrong_self_convention

warning: methods called `as_*` usually take self by reference or self by mutable reference; consider choosing a less ambiguous name
   --> src/data_item.rs:190:21
    |
190 |     const fn as_ia5(code: u8) -> u8 {
    |                     ^^^^
    |
    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#wrong_self_convention

warning: calling `std::option::Option<types::TRE>::default()` is more clear than this expression
   --> src/data_item.rs:284:28
    |
284 | #[derive(Debug, PartialEq, DekuRead, DekuWrite)]
    |                            ^^^^^^^^
    |
    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#default_trait_access
    = note: this warning originates in a derive macro (in Nightly builds, run with -Z macro-backtrace for more info)

warning: calling `std::option::Option<types::GHO>::default()` is more clear than this expression
   --> src/data_item.rs:284:28
    |
284 | #[derive(Debug, PartialEq, DekuRead, DekuWrite)]
    |                            ^^^^^^^^
    |
    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#default_trait_access
    = note: this warning originates in a derive macro (in Nightly builds, run with -Z macro-backtrace for more info)

warning: calling `std::option::Option<types::SUP>::default()` is more clear than this expression
   --> src/data_item.rs:284:28
    |
284 | #[derive(Debug, PartialEq, DekuRead, DekuWrite)]
    |                            ^^^^^^^^
    |
    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#default_trait_access
    = note: this warning originates in a derive macro (in Nightly builds, run with -Z macro-backtrace for more info)

warning: calling `std::option::Option<types::TCC>::default()` is more clear than this expression
   --> src/data_item.rs:284:28
    |
284 | #[derive(Debug, PartialEq, DekuRead, DekuWrite)]
    |                            ^^^^^^^^
    |
    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#default_trait_access
    = note: this warning originates in a derive macro (in Nightly builds, run with -Z macro-backtrace for more info)

warning: calling `std::option::Option<u32>::default()` is more clear than this expression
   --> src/data_item.rs:284:28
    |
284 | #[derive(Debug, PartialEq, DekuRead, DekuWrite)]
    |                            ^^^^^^^^
    |
    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#default_trait_access
    = note: this warning originates in a derive macro (in Nightly builds, run with -Z macro-backtrace for more info)

warning: calling `std::option::Option<types::FX>::default()` is more clear than this expression
   --> src/data_item.rs:284:28
    |
284 | #[derive(Debug, PartialEq, DekuRead, DekuWrite)]
    |                            ^^^^^^^^
    |
    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#default_trait_access
    = note: this warning originates in a derive macro (in Nightly builds, run with -Z macro-backtrace for more info)

warning: calling `std::option::Option<f32>::default()` is more clear than this expression
   --> src/data_item.rs:336:28
    |
336 | #[derive(Debug, PartialEq, DekuRead, DekuWrite)]
    |                            ^^^^^^^^
    |
    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#default_trait_access
    = note: this warning originates in a derive macro (in Nightly builds, run with -Z macro-backtrace for more info)

warning: calling `std::option::Option<u8>::default()` is more clear than this expression
   --> src/data_item.rs:336:28
    |
336 | #[derive(Debug, PartialEq, DekuRead, DekuWrite)]
    |                            ^^^^^^^^
    |
    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#default_trait_access
    = note: this warning originates in a derive macro (in Nightly builds, run with -Z macro-backtrace for more info)

warning: calling `std::option::Option<i8>::default()` is more clear than this expression
   --> src/data_item.rs:336:28
    |
336 | #[derive(Debug, PartialEq, DekuRead, DekuWrite)]
    |                            ^^^^^^^^
    |
    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#default_trait_access
    = note: this warning originates in a derive macro (in Nightly builds, run with -Z macro-backtrace for more info)

warning: casting `f32` to `u16` may truncate the value
   --> src/data_item.rs:416:19
    |
416 |         Ok((rest, (f32::from(value) * Self::modifier()) as u16))
    |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    |
    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_possible_truncation

warning: casting `f32` to `u16` may lose the sign of the value
   --> src/data_item.rs:416:19
    |
416 |         Ok((rest, (f32::from(value) * Self::modifier()) as u16))
    |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    |
    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_sign_loss

warning: this argument (2 byte) is passed by reference, but would be more efficient if passed by value (limit: 8 byte)
   --> src/data_item.rs:419:19
    |
419 |     fn write(num: &u16) -> Result<BitVec<Msb0, u8>, DekuError> {
    |                   ^^^^ help: consider passing by value instead: `u16`
    |
    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref

warning: casting `f32` to `u8` may truncate the value
   --> src/data_item.rs:420:21
    |
420 |         let value = (f32::from(*num) / Self::modifier()) as u8;
    |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    |
    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_possible_truncation

warning: casting `f32` to `u8` may lose the sign of the value
   --> src/data_item.rs:420:21
    |
420 |         let value = (f32::from(*num) / Self::modifier()) as u8;
    |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    |
    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_sign_loss

warning: `rest` is being shadowed
  --> src/fspec.rs:8:14
   |
8  |         let (rest, value) = u8::read(
   |              ^^^^
   |
   = note: `-W clippy::shadow-unrelated` implied by `-W clippy::pedantic`
note: initialization happens here
  --> src/fspec.rs:8:29
   |
8  |           let (rest, value) = u8::read(
   |  _____________________________^
9  | |             inner_rest,
10 | |             (deku::ctx::Endian::Big, deku::ctx::BitSize(8_usize)),
11 | |         )?;
   | |__________^
note: previous binding is here
  --> src/fspec.rs:4:19
   |
4  | pub fn read_fspec(rest: &BitSlice<Msb0, u8>) -> Result<(&BitSlice<Msb0, u8>, Vec<u8>), DekuError> {
   |                   ^^^^
   = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#shadow_unrelated

warning: this could be a `const fn`
  --> src/fspec.rs:22:1
   |
22 | / pub fn is_fspec(dataitem_fspec: u8, fspec: &[u8], pos: usize) -> bool {
23 | |     if pos < fspec.len() {
24 | |         dataitem_fspec & fspec[pos] != dataitem_fspec
25 | |     } else {
26 | |         true
27 | |     }
28 | | }
   | |_^
   |
   = note: `-W clippy::missing-const-for-fn` implied by `-W clippy::nursery`
   = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_const_for_fn

warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices.
  --> src/lib.rs:59:19
   |
59 |         messages: &Vec<AsterixMessage>,
   |                   ^^^^^^^^^^^^^^^^^^^^ help: change this to: `&[AsterixMessage]`
   |
   = note: `#[warn(clippy::ptr_arg)]` on by default
   = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg

warning: 57 warnings emitted

warning: could not read cargo metadata: Error during execution of `cargo metadata`: error: Unrecognized option: 'format-version'


  |
  = note: `-W clippy::cargo-common-metadata` implied by `-W clippy::cargo`
  = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cargo_common_metadata

warning: could not read cargo metadata: Error during execution of `cargo metadata`: error: Unrecognized option: 'format-version'


  |
  = note: `-W clippy::multiple-crate-versions` implied by `-W clippy::cargo`
  = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#multiple_crate_versions

warning: could not read cargo metadata: Error during execution of `cargo metadata`: error: Unrecognized option: 'format-version'


  |
  = note: `-W clippy::wildcard-dependencies` implied by `-W clippy::cargo`
  = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#wildcard_dependencies

warning: the function has a cognitive complexity of (49/25)
  --> tests/public_api.rs:11:4
   |
11 | fn it_works() {
   |    ^^^^^^^^
   |
   = note: `-W clippy::cognitive-complexity` implied by `-W clippy::nursery`
   = help: you could split it up into multiple smaller functions
   = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cognitive_complexity

warning: strict comparison of `f32` or `f64`
  --> tests/public_api.rs:33:9
   |
33 |         assert_eq!(time_of_day.time, 27354.602);
   |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
   |
   = note: `#[warn(clippy::float_cmp)]` on by default
   = note: `f32::EPSILON` and `f64::EPSILON` are available for the `error`
   = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#float_cmp
   = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)

warning: strict comparison of `f32` or `f64`
  --> tests/public_api.rs:50:9
   |
50 |         assert_eq!(measured_position_in_polar_coordinates.rho, 197.6836);
   |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
   |
   = note: `f32::EPSILON` and `f64::EPSILON` are available for the `error`
   = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#float_cmp
   = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)

warning: strict comparison of `f32` or `f64`
  --> tests/public_api.rs:51:9
   |
51 |         assert_eq!(measured_position_in_polar_coordinates.theta, 340.13672);
   |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
   |
   = note: `f32::EPSILON` and `f64::EPSILON` are available for the `error`
   = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#float_cmp
   = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)

warning: strict comparison of `f32` or `f64`
  --> tests/public_api.rs:91:9
   |
91 |         assert_eq!(calculated_track_velocity.groundspeed, 0.120_666_504);
   |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
   |
   = note: `f32::EPSILON` and `f64::EPSILON` are available for the `error`
   = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#float_cmp
   = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)

warning: strict comparison of `f32` or `f64`
  --> tests/public_api.rs:92:9
   |
92 |         assert_eq!(calculated_track_velocity.heading, 124.002_686);
   |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
   |
   = note: `f32::EPSILON` and `f64::EPSILON` are available for the `error`
   = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#float_cmp
   = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)

warning: you should put `communications_capability_flight_status` between ticks in the documentation
   --> tests/public_api.rs:137:12
    |
137 | /// Remove communications_capability_flight_status and update fspec, making sure to check if the
    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    |
    = note: `-W clippy::doc-markdown` implied by `-W clippy::pedantic`
    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_markdown

warning: you should put `communications_capability_flight_status` between ticks in the documentation
   --> tests/public_api.rs:138:32
    |
138 | /// fspec works as well as the communications_capability_flight_status is none
    |                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    |
    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_markdown

warning: the function has a cognitive complexity of (53/25)
   --> tests/public_api.rs:163:4
    |
163 | fn third_packet() {
    |    ^^^^^^^^^^^^
    |
    = help: you could split it up into multiple smaller functions
    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cognitive_complexity

warning: this function has a large number of lines
   --> tests/public_api.rs:163:1
    |
163 | / fn third_packet() {
164 | |     let bytes = vec![
165 | |         0x30, 0x00, 0x37, 0xff, 0xff, 0x02, 0x19, 0x0d, 0x35, 0x6d, 0xee, 0xa0, 0xc2, 0xd3, 0x5b,
166 | |         0x90, 0x04, 0xc3, 0x05, 0xa0, 0xe0, 0x56, 0x0b, 0xb8, 0x4b, 0xaa, 0xcd, 0x50, 0x86, 0x79,
...   |
286 | |     assert_eq!(packet.to_bytes(), Ok(bytes));
287 | | }
    | |_^
    |
    = note: `-W clippy::too-many-lines` implied by `-W clippy::pedantic`
    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_lines

warning: strict comparison of `f32` or `f64`
   --> tests/public_api.rs:184:9
    |
184 |         assert_eq!(time_of_day.time, 27_355.86);
    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    |
    = note: `f32::EPSILON` and `f64::EPSILON` are available for the `error`
    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#float_cmp
    = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)

warning: strict comparison of `f32` or `f64`
   --> tests/public_api.rs:201:9
    |
201 |         assert_eq!(measured_position_in_polar_coordinates.rho, 194.824_22);
    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    |
    = note: `f32::EPSILON` and `f64::EPSILON` are available for the `error`
    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#float_cmp
    = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)

warning: strict comparison of `f32` or `f64`
   --> tests/public_api.rs:202:9
    |
202 |         assert_eq!(measured_position_in_polar_coordinates.theta, 128.759_77);
    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    |
    = note: `f32::EPSILON` and `f64::EPSILON` are available for the `error`
    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#float_cmp
    = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)

warning: strict comparison of `f32` or `f64`
   --> tests/public_api.rs:242:9
    |
242 |         assert_eq!(cal_pos_cartesian_coor.x, 151.921_88);
    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    |
    = note: `f32::EPSILON` and `f64::EPSILON` are available for the `error`
    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#float_cmp
    = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)

warning: strict comparison of `f32` or `f64`
   --> tests/public_api.rs:243:9
    |
243 |         assert_eq!(cal_pos_cartesian_coor.y, -121.96875);
    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    |
    = note: `f32::EPSILON` and `f64::EPSILON` are available for the `error`
    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#float_cmp
    = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)

warning: strict comparison of `f32` or `f64`
   --> tests/public_api.rs:246:9
    |
246 |         assert_eq!(calculated_track_velocity.groundspeed, 0.126_831_05);
    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    |
    = note: `f32::EPSILON` and `f64::EPSILON` are available for the `error`
    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#float_cmp
    = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)

warning: strict comparison of `f32` or `f64`
   --> tests/public_api.rs:247:9
    |
247 |         assert_eq!(calculated_track_velocity.heading, 263.600_46);
    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    |
    = note: `f32::EPSILON` and `f64::EPSILON` are available for the `error`
    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#float_cmp
    = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)

warning: strict comparison of `f32` or `f64`
   --> tests/public_api.rs:311:9
    |
311 |         assert_eq!(time_of_day.time, 27355.953);
    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    |
    = note: `f32::EPSILON` and `f64::EPSILON` are available for the `error`
    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#float_cmp
    = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)

warning: 21 warnings emitted

    Finished dev [unoptimized + debuginfo] target(s) in 3.59s
