Skip to content

some improvments on forms #144

some improvments on forms

some improvments on forms #144

Triggered via push December 11, 2023 19:23
Status Success
Total duration 35s
Artifacts

lint.yml

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

Annotations

42 warnings
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
you seem to be trying to use `match` for destructuring a single pattern. Consider using `if let`: examples/src/bin/form.rs#L51
warning: you seem to be trying to use `match` for destructuring a single pattern. Consider using `if let` --> examples/src/bin/form.rs:51:17 | 51 | / match *normal { 52 | | AppearanceStreamEntry::Single(ref s) => { 53 | | //dbg!(&s.stream.resources); 54 | | ... | 73 | | _ => {} 74 | | } | |_________________^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match = note: `#[warn(clippy::single_match)]` on by default help: try | 51 ~ if let AppearanceStreamEntry::Single(ref s) = *normal { 52 + //dbg!(&s.stream.resources); 53 + 54 + let form_dict = FormDict { 55 + resources: Some(resources.clone().into()), 56 + .. (**s.stream).clone() 57 + }; 58 + 59 + let ops = vec![ 60 + Op::Save, 61 + Op::TextFont { name: font_name.clone(), size: 14.0 }, 62 + Op::TextDraw { text: PdfString::from("Hello World!") }, 63 + Op::EndText, 64 + Op::Restore 65 + ]; 66 + let stream = Stream::new(form_dict, serialize_ops(&ops)?); 67 + 68 + let normal2 = AppearanceStreamEntry::Single(FormXObject { stream }); 69 + 70 + file.update(a.normal.get_inner(), normal2)?; 71 + } |
unused variable: `reference`: examples/src/bin/form.rs#L107
warning: unused variable: `reference` --> examples/src/bin/form.rs:107:13 | 107 | let reference = file.update( | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_reference` | = note: `#[warn(unused_variables)]` 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
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
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, Rect, 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, Rect, 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, Rect, 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, Rect, 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, Rect, 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, Rect, 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, Rect, 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, Rect, 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, Rect, 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, Rect, 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, Rect, 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, Rect, 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
`Rect` is ambiguous: pdf/src/build.rs#L85
warning: `Rect` is ambiguous --> pdf/src/build.rs:85:31 | 85 | self.media_box = Some(Rect { | ^^^^ ambiguous name | = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! = note: for more information, see issue #114095 <https://github.com/rust-lang/rust/issues/114095> = note: ambiguous because of multiple glob imports of a name in the same module note: `Rect` could refer to the struct imported here --> pdf/src/build.rs:16:5 | 16 | use crate::object::*; | ^^^^^^^^^^^^^^^^ = help: consider adding an explicit import of `Rect` to disambiguate note: `Rect` could also refer to the struct imported here --> pdf/src/build.rs:17:5 | 17 | use crate::content::*; | ^^^^^^^^^^^^^^^^^ = help: consider adding an explicit import of `Rect` to disambiguate
`Rect` is ambiguous: pdf/src/build.rs#L28
warning: `Rect` is ambiguous --> pdf/src/build.rs:28:26 | 28 | pub trim_box: Option<Rect>, | ^^^^ ambiguous name | = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! = note: for more information, see issue #114095 <https://github.com/rust-lang/rust/issues/114095> = note: ambiguous because of multiple glob imports of a name in the same module note: `Rect` could refer to the struct imported here --> pdf/src/build.rs:16:5 | 16 | use crate::object::*; | ^^^^^^^^^^^^^^^^ = help: consider adding an explicit import of `Rect` to disambiguate note: `Rect` could also refer to the struct imported here --> pdf/src/build.rs:17:5 | 17 | use crate::content::*; | ^^^^^^^^^^^^^^^^^ = help: consider adding an explicit import of `Rect` to disambiguate
`Rect` is ambiguous: pdf/src/build.rs#L27
warning: `Rect` is ambiguous --> pdf/src/build.rs:27:26 | 27 | pub crop_box: Option<Rect>, | ^^^^ ambiguous name | = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! = note: for more information, see issue #114095 <https://github.com/rust-lang/rust/issues/114095> = note: ambiguous because of multiple glob imports of a name in the same module note: `Rect` could refer to the struct imported here --> pdf/src/build.rs:16:5 | 16 | use crate::object::*; | ^^^^^^^^^^^^^^^^ = help: consider adding an explicit import of `Rect` to disambiguate note: `Rect` could also refer to the struct imported here --> pdf/src/build.rs:17:5 | 17 | use crate::content::*; | ^^^^^^^^^^^^^^^^^ = help: consider adding an explicit import of `Rect` to disambiguate
`Rect` is ambiguous: pdf/src/build.rs#L26
warning: `Rect` is ambiguous --> pdf/src/build.rs:26:27 | 26 | pub media_box: Option<Rect>, | ^^^^ ambiguous name | = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! = note: for more information, see issue #114095 <https://github.com/rust-lang/rust/issues/114095> = note: ambiguous because of multiple glob imports of a name in the same module note: `Rect` could refer to the struct imported here --> pdf/src/build.rs:16:5 | 16 | use crate::object::*; | ^^^^^^^^^^^^^^^^ = help: consider adding an explicit import of `Rect` to disambiguate note: `Rect` could also refer to the struct imported here --> pdf/src/build.rs:17:5 | 17 | use crate::content::*; | ^^^^^^^^^^^^^^^^^ = help: consider adding an explicit import of `Rect` to disambiguate = note: `#[warn(ambiguous_glob_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}; | ^^^^^^ | = 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/