Skip to content

fix build failure when running tests without cache feature (#209) #149

fix build failure when running tests without cache feature (#209)

fix build failure when running tests without cache feature (#209) #149

Triggered via push January 18, 2024 10:41
Status Failure
Total duration 41s
Artifacts

lint.yml

on: push
check-clippy
34s
check-clippy
Fit to window
Zoom out
Zoom in

Annotations

4 errors and 40 warnings
no field `normal` on type `&_`: examples/src/bin/form.rs#L49
error[E0609]: no field `normal` on type `&_` --> examples/src/bin/form.rs:49:48 | 49 | let normal = file.resolver().get(a.normal); | ^^^^^^
no field `appearance_streams` on type `pdf::object::RcRef<_>`: examples/src/bin/form.rs#L48
error[E0609]: no field `appearance_streams` on type `pdf::object::RcRef<_>` --> examples/src/bin/form.rs:48:36 | 48 | if let Some(ref a) = annot.appearance_streams { | ^^^^^^^^^^^^^^^^^^ unknown field
mismatched types: examples/src/bin/form.rs#L47
error[E0308]: mismatched types --> examples/src/bin/form.rs:47:41 | 47 | let annot = file.resolver().get(annot)?; | --- ^^^^^ expected `Ref<_>`, found `MaybeRef<Annot>` | | | arguments to this method are incorrect | = note: expected struct `pdf::object::Ref<_>` found enum `pdf::object::MaybeRef<pdf::object::Annot>` note: method defined here --> /home/runner/work/pdf/pdf/pdf/src/object/mod.rs:64:8 | 64 | fn get<T: Object+DataSize>(&self, r: Ref<T>) -> Result<RcRef<T>>; | ^^^
check-clippy
Clippy had exited with the 101 exit code
field assignment outside of initializer for an instance created with Default::default(): examples/src/bin/extract_page.rs#L77
warning: field assignment outside of initializer for an instance created with Default::default() --> examples/src/bin/extract_page.rs:77:5 | 77 | info.title = Some(PdfString::from("test")); | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | note: consider initializing the variable with `pdf::object::InfoDict { title: Some(PdfString::from("test")), ..Default::default() }` and removing relevant reassignments --> examples/src/bin/extract_page.rs:76:5 | 76 | let mut info = InfoDict::default(); | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#field_reassign_with_default = note: `#[warn(clippy::field_reassign_with_default)]` on by default
unused import: `Log`: examples/src/bin/form.rs#L8
warning: unused import: `Log` --> examples/src/bin/form.rs:8:30 | 8 | use pdf::file::{FileOptions, Log}; | ^^^ | = note: `#[warn(unused_imports)]` on by default
this expression creates a reference which is immediately dereferenced by the compiler: pdf/src/build.rs#L268
warning: this expression creates a reference which is immediately dereferenced by the compiler --> pdf/src/build.rs:268:36 | 268 | match self.map.get(&r1) { | ^^^ help: change this to: `r1` | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow
accessing first element with `inner.descendant_fonts.get(0)`: pdf/src/font.rs#L257
warning: accessing first element with `inner.descendant_fonts.get(0)` --> pdf/src/font.rs:257:43 | 257 | FontData::Type0(ref inner) => inner.descendant_fonts.get(0).and_then(|f| f.cid_to_gid_map()), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `inner.descendant_fonts.first()` | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_first
accessing first element with `t.descendant_fonts.get(0)`: pdf/src/font.rs#L246
warning: accessing first element with `t.descendant_fonts.get(0)` --> pdf/src/font.rs:246:39 | 246 | FontData::Type0(ref t) => t.descendant_fonts.get(0).and_then(|f| f.embedded_data(resolve)), | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `t.descendant_fonts.first()` | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_first
this expression borrows a value the compiler would automatically borrow: pdf/src/object/mod.rs#L759
warning: this expression borrows a value the compiler would automatically borrow --> pdf/src/object/mod.rs:759:21 | 759 | Ok(Box::new((&**self).deep_clone(cloner)?)) | ^^^^^^^^^ help: change this to: `(**self)` | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow = note: `#[warn(clippy::needless_borrow)]` on by default
this `.into_iter()` call is equivalent to `.iter()` and will not consume the `Vec`: pdf/src/object/mod.rs#L602
warning: this `.into_iter()` call is equivalent to `.iter()` and will not consume the `Vec` --> pdf/src/object/mod.rs:602:70 | 602 | Primitive::Array(ref parts) => Ok(Primitive::Array(parts.into_iter().map(|p| p.deep_clone(cloner)).try_collect()?)), | ^^^^^^^^^ help: call directly: `iter` | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#into_iter_on_ref = note: `#[warn(clippy::into_iter_on_ref)]` on by default
accessing first element with `array.get(0)`: pdf/src/object/types.rs#L1236
warning: accessing first element with `array.get(0)` --> pdf/src/object/types.rs:1236:52 | 1236 | let page = Object::from_primitive(try_opt!(array.get(0)).clone(), resolve)?; | ^^^^^^^^^^^^ help: try: `array.first()` | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_first = note: `#[warn(clippy::get_first)]` on by default
unused variable: `old`: pdf/src/build.rs#L397
warning: unused variable: `old` --> pdf/src/build.rs:397:22 | 397 | if let Some((old, new)) = self.shared.get(&key) { | ^^^ help: if this is intentional, prefix it with an underscore: `_old`
unused variable: `cloner`: pdf/src/encoding.rs#L105
warning: unused variable: `cloner` --> pdf/src/encoding.rs:105:26 | 105 | fn deep_clone(&self, cloner: &mut impl pdf::object::Cloner) -> Result<Self> { | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_cloner`
unused variable: `update`: pdf/src/primitive.rs#L270
warning: unused variable: `update` --> pdf/src/primitive.rs:270:28 | 270 | fn to_primitive(&self, update: &mut impl Updater) -> Result<Primitive> { | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_update`
unused variable: `cloner`: pdf/src/object/mod.rs#L766
warning: unused variable: `cloner` --> pdf/src/object/mod.rs:766:38 | 766 | fn deep_clone(&self, cloner: &mut impl Cloner) -> Result<Self> { | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_cloner` ... 773 | deep_clone_simple!(f32, i32, u32, bool, Name, (), Date, PdfString, Rectangle, u8, Arc<[u8]>, Vec<u16>); | ------------------------------------------------------------------------------------------------------ in this macro invocation | = note: this warning originates in the macro `deep_clone_simple` (in Nightly builds, run with -Z macro-backtrace for more info)
unused variable: `cloner`: pdf/src/object/mod.rs#L766
warning: unused variable: `cloner` --> pdf/src/object/mod.rs:766:38 | 766 | fn deep_clone(&self, cloner: &mut impl Cloner) -> Result<Self> { | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_cloner` ... 773 | deep_clone_simple!(f32, i32, u32, bool, Name, (), Date, PdfString, Rectangle, u8, Arc<[u8]>, Vec<u16>); | ------------------------------------------------------------------------------------------------------ in this macro invocation | = note: this warning originates in the macro `deep_clone_simple` (in Nightly builds, run with -Z macro-backtrace for more info)
unused variable: `cloner`: pdf/src/object/mod.rs#L766
warning: unused variable: `cloner` --> pdf/src/object/mod.rs:766:38 | 766 | fn deep_clone(&self, cloner: &mut impl Cloner) -> Result<Self> { | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_cloner` ... 773 | deep_clone_simple!(f32, i32, u32, bool, Name, (), Date, PdfString, Rectangle, u8, Arc<[u8]>, Vec<u16>); | ------------------------------------------------------------------------------------------------------ in this macro invocation | = note: this warning originates in the macro `deep_clone_simple` (in Nightly builds, run with -Z macro-backtrace for more info)
unused variable: `cloner`: pdf/src/object/mod.rs#L766
warning: unused variable: `cloner` --> pdf/src/object/mod.rs:766:38 | 766 | fn deep_clone(&self, cloner: &mut impl Cloner) -> Result<Self> { | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_cloner` ... 773 | deep_clone_simple!(f32, i32, u32, bool, Name, (), Date, PdfString, Rectangle, u8, Arc<[u8]>, Vec<u16>); | ------------------------------------------------------------------------------------------------------ in this macro invocation | = note: this warning originates in the macro `deep_clone_simple` (in Nightly builds, run with -Z macro-backtrace for more info)
unused variable: `cloner`: pdf/src/object/mod.rs#L766
warning: unused variable: `cloner` --> pdf/src/object/mod.rs:766:38 | 766 | fn deep_clone(&self, cloner: &mut impl Cloner) -> Result<Self> { | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_cloner` ... 773 | deep_clone_simple!(f32, i32, u32, bool, Name, (), Date, PdfString, Rectangle, u8, Arc<[u8]>, Vec<u16>); | ------------------------------------------------------------------------------------------------------ in this macro invocation | = note: this warning originates in the macro `deep_clone_simple` (in Nightly builds, run with -Z macro-backtrace for more info)
unused variable: `cloner`: pdf/src/object/mod.rs#L766
warning: unused variable: `cloner` --> pdf/src/object/mod.rs:766:38 | 766 | fn deep_clone(&self, cloner: &mut impl Cloner) -> Result<Self> { | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_cloner` ... 773 | deep_clone_simple!(f32, i32, u32, bool, Name, (), Date, PdfString, Rectangle, u8, Arc<[u8]>, Vec<u16>); | ------------------------------------------------------------------------------------------------------ in this macro invocation | = note: this warning originates in the macro `deep_clone_simple` (in Nightly builds, run with -Z macro-backtrace for more info)
unused variable: `cloner`: pdf/src/object/mod.rs#L766
warning: unused variable: `cloner` --> pdf/src/object/mod.rs:766:38 | 766 | fn deep_clone(&self, cloner: &mut impl Cloner) -> Result<Self> { | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_cloner` ... 773 | deep_clone_simple!(f32, i32, u32, bool, Name, (), Date, PdfString, Rectangle, u8, Arc<[u8]>, Vec<u16>); | ------------------------------------------------------------------------------------------------------ in this macro invocation | = note: this warning originates in the macro `deep_clone_simple` (in Nightly builds, run with -Z macro-backtrace for more info)
unused variable: `cloner`: pdf/src/object/mod.rs#L766
warning: unused variable: `cloner` --> pdf/src/object/mod.rs:766:38 | 766 | fn deep_clone(&self, cloner: &mut impl Cloner) -> Result<Self> { | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_cloner` ... 773 | deep_clone_simple!(f32, i32, u32, bool, Name, (), Date, PdfString, Rectangle, u8, Arc<[u8]>, Vec<u16>); | ------------------------------------------------------------------------------------------------------ in this macro invocation | = note: this warning originates in the macro `deep_clone_simple` (in Nightly builds, run with -Z macro-backtrace for more info)
unused variable: `cloner`: pdf/src/object/mod.rs#L766
warning: unused variable: `cloner` --> pdf/src/object/mod.rs:766:38 | 766 | fn deep_clone(&self, cloner: &mut impl Cloner) -> Result<Self> { | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_cloner` ... 773 | deep_clone_simple!(f32, i32, u32, bool, Name, (), Date, PdfString, Rectangle, u8, Arc<[u8]>, Vec<u16>); | ------------------------------------------------------------------------------------------------------ in this macro invocation | = note: this warning originates in the macro `deep_clone_simple` (in Nightly builds, run with -Z macro-backtrace for more info)
unused variable: `cloner`: pdf/src/object/mod.rs#L766
warning: unused variable: `cloner` --> pdf/src/object/mod.rs:766:38 | 766 | fn deep_clone(&self, cloner: &mut impl Cloner) -> Result<Self> { | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_cloner` ... 773 | deep_clone_simple!(f32, i32, u32, bool, Name, (), Date, PdfString, Rectangle, u8, Arc<[u8]>, Vec<u16>); | ------------------------------------------------------------------------------------------------------ in this macro invocation | = note: this warning originates in the macro `deep_clone_simple` (in Nightly builds, run with -Z macro-backtrace for more info)
unused variable: `cloner`: pdf/src/object/mod.rs#L766
warning: unused variable: `cloner` --> pdf/src/object/mod.rs:766:38 | 766 | fn deep_clone(&self, cloner: &mut impl Cloner) -> Result<Self> { | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_cloner` ... 773 | deep_clone_simple!(f32, i32, u32, bool, Name, (), Date, PdfString, Rectangle, u8, Arc<[u8]>, Vec<u16>); | ------------------------------------------------------------------------------------------------------ in this macro invocation | = note: this warning originates in the macro `deep_clone_simple` (in Nightly builds, run with -Z macro-backtrace for more info)
unused variable: `cloner`: pdf/src/object/mod.rs#L766
warning: unused variable: `cloner` --> pdf/src/object/mod.rs:766:38 | 766 | fn deep_clone(&self, cloner: &mut impl Cloner) -> Result<Self> { | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_cloner` ... 773 | deep_clone_simple!(f32, i32, u32, bool, Name, (), Date, PdfString, Rectangle, u8, Arc<[u8]>, Vec<u16>); | ------------------------------------------------------------------------------------------------------ in this macro invocation | = note: this warning originates in the macro `deep_clone_simple` (in Nightly builds, run with -Z macro-backtrace for more info)
unused variable: `range`: pdf/src/object/mod.rs#L85
warning: unused variable: `range` --> pdf/src/object/mod.rs:85:41 | 85 | fn stream_data(&self, id: PlainRef, range: Range<usize>) -> Result<Arc<[u8]>> { | ^^^^^ help: if this is intentional, prefix it with an underscore: `_range`
unused variable: `id`: pdf/src/object/mod.rs#L85
warning: unused variable: `id` --> pdf/src/object/mod.rs:85:27 | 85 | fn stream_data(&self, id: PlainRef, range: Range<usize>) -> Result<Arc<[u8]>> { | ^^ help: if this is intentional, prefix it with an underscore: `_id`
unused variable: `cloner`: pdf/src/object/function.rs#L208
warning: unused variable: `cloner` --> pdf/src/object/function.rs:208:26 | 208 | fn deep_clone(&self, cloner: &mut impl Cloner) -> Result<Self> { | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_cloner`
unused variable: `update`: pdf/src/object/function.rs#L182
warning: unused variable: `update` --> pdf/src/object/function.rs:182:28 | 182 | fn to_primitive(&self, update: &mut impl Updater) -> Result<Primitive> { | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_update` | = note: `#[warn(unused_variables)]` on by default
variable does not need to be mutable: pdf_derive/src/lib.rs#L766
warning: variable does not need to be mutable --> pdf_derive/src/lib.rs:766:25 | 766 | let (impl_generics, mut ty_generics, where_clause) = generics.split_for_impl(); | ----^^^^^^^^^^^ | | | help: remove this `mut` | = note: `#[warn(unused_mut)]` on by default
unused variable: `field`: pdf_derive/src/lib.rs#L728
warning: unused variable: `field` --> pdf_derive/src/lib.rs:728:39 | 728 | let other = parts.iter().filter(|(field, attrs, _)| attrs.other).flat_map(|(field, _, _)| field).next(); | ^^^^^ help: if this is intentional, prefix it with an underscore: `_field`
unused variable: `f`: pdf_derive/src/lib.rs#L457
warning: unused variable: `f` --> pdf_derive/src/lib.rs:457:85 | 457 | let labels: Vec<Ident> = fields.unnamed.iter().enumerate().map(|(i, f)| { | ^ help: if this is intentional, prefix it with an underscore: `_f`
unused variable: `attrs`: pdf_derive/src/lib.rs#L273
warning: unused variable: `attrs` --> pdf_derive/src/lib.rs:273:9 | 273 | let attrs = GlobalAttrs::from_ast(ast); | ^^^^^ help: if this is intentional, prefix it with an underscore: `_attrs` | = note: `#[warn(unused_variables)]` on by default
unused imports: `punctuated::Punctuated`, `token::Where`: pdf_derive/src/lib.rs#L99
warning: unused imports: `punctuated::Punctuated`, `token::Where` --> pdf_derive/src/lib.rs:99:14 | 99 | use syn::{*, punctuated::Punctuated, token::Where}; | ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^ | = note: `#[warn(unused_imports)]` on by default
unused import: `Object`: pdf/src/any.rs#L5
warning: unused import: `Object` --> pdf/src/any.rs:5:21 | 5 | use crate::object::{Object}; | ^^^^^^
unused import: `snafu::ErrorCompat`: pdf/src/error.rs#L7
warning: unused import: `snafu::ErrorCompat` --> pdf/src/error.rs:7:5 | 7 | use snafu::ErrorCompat; | ^^^^^^^^^^^^^^^^^^ | = note: `#[warn(unused_imports)]` on by default
variable does not need to be mutable: pdf_derive/src/lib.rs#L766
warning: variable does not need to be mutable --> pdf_derive/src/lib.rs:766:25 | 766 | let (impl_generics, mut ty_generics, where_clause) = generics.split_for_impl(); | ----^^^^^^^^^^^ | | | help: remove this `mut` | = note: `#[warn(unused_mut)]` on by default
unused variable: `field`: pdf_derive/src/lib.rs#L728
warning: unused variable: `field` --> pdf_derive/src/lib.rs:728:39 | 728 | let other = parts.iter().filter(|(field, attrs, _)| attrs.other).flat_map(|(field, _, _)| field).next(); | ^^^^^ help: if this is intentional, prefix it with an underscore: `_field`
unused variable: `f`: pdf_derive/src/lib.rs#L457
warning: unused variable: `f` --> pdf_derive/src/lib.rs:457:85 | 457 | let labels: Vec<Ident> = fields.unnamed.iter().enumerate().map(|(i, f)| { | ^ help: if this is intentional, prefix it with an underscore: `_f`
unused variable: `attrs`: pdf_derive/src/lib.rs#L273
warning: unused variable: `attrs` --> pdf_derive/src/lib.rs:273:9 | 273 | let attrs = GlobalAttrs::from_ast(ast); | ^^^^^ help: if this is intentional, prefix it with an underscore: `_attrs` | = note: `#[warn(unused_variables)]` on by default
unused imports: `punctuated::Punctuated`, `token::Where`: pdf_derive/src/lib.rs#L99
warning: unused imports: `punctuated::Punctuated`, `token::Where` --> pdf_derive/src/lib.rs:99:14 | 99 | use syn::{*, punctuated::Punctuated, token::Where}; | ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^ | = note: `#[warn(unused_imports)]` on by default
check-clippy
The following actions uses node12 which is deprecated and will be forced to run on node16: actions-rs/clippy-check@v1. For more info: https://github.blog/changelog/2023-06-13-github-actions-all-actions-will-run-on-node16-instead-of-node12-by-default/