[INFO] crate mml 0.1.41 is already in cache [INFO] extracting crate mml 0.1.41 into work/ex/clippy-test-run/sources/stable/reg/mml/0.1.41 [INFO] extracting crate mml 0.1.41 into work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/mml/0.1.41 [INFO] validating manifest of mml-0.1.41 on toolchain stable [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] validating manifest of mml-0.1.41 on toolchain stable+rustflags=-Dclippy::into_iter_on_array [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] started frobbing mml-0.1.41 [INFO] finished frobbing mml-0.1.41 [INFO] frobbed toml for mml-0.1.41 written to work/ex/clippy-test-run/sources/stable/reg/mml/0.1.41/Cargo.toml [INFO] started frobbing mml-0.1.41 [INFO] finished frobbing mml-0.1.41 [INFO] frobbed toml for mml-0.1.41 written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/mml/0.1.41/Cargo.toml [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update"` [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update"` [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] linting mml-0.1.41 against stable for clippy-test-run [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/clippy-test-run/worker-7/stable:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/clippy-test-run/sources/stable/reg/mml/0.1.41:/opt/crater/workdir:ro,Z" "-v" "/mnt/big/crater/work/local/cargo-home:/opt/crater/cargo-home:ro,Z" "-v" "/mnt/big/crater/work/local/rustup-home:/opt/crater/rustup-home:ro,Z" "-e" "USER_ID=1000" "-e" "SOURCE_DIR=/opt/crater/workdir" "-e" "MAP_USER_ID=1000" "-e" "CARGO_TARGET_DIR=/opt/crater/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/crater/cargo-home" "-e" "RUSTUP_HOME=/opt/crater/rustup-home" "-w" "/opt/crater/workdir" "-m" "1536M" "--network" "none" "rustops/crates-build-env" "/opt/crater/cargo-home/bin/cargo" "+stable" "clippy" "--frozen" "--all" "--all-targets"` [INFO] [stdout] 120b6213d9bcf1bc7a2525eb47ad72c7ead363fb52e0914cbaf95c1aa2dd5074 [INFO] running `"docker" "start" "-a" "120b6213d9bcf1bc7a2525eb47ad72c7ead363fb52e0914cbaf95c1aa2dd5074"` [INFO] [stderr] warning: An explicit [[bin]] section is specified in Cargo.toml which currently [INFO] [stderr] disables Cargo from automatically inferring other binary targets. [INFO] [stderr] This inference behavior will change in the Rust 2018 edition and the following [INFO] [stderr] files will be included as a binary target: [INFO] [stderr] [INFO] [stderr] * /opt/crater/workdir/src/main.rs [INFO] [stderr] [INFO] [stderr] This is likely to break cargo build or cargo test as these files may not be [INFO] [stderr] ready to be compiled as a binary target today. You can future-proof yourself [INFO] [stderr] and disable this warning by adding `autobins = false` to your [package] [INFO] [stderr] section. You may also move the files to a location where Cargo would not [INFO] [stderr] automatically infer them to be a target, such as in subfolders. [INFO] [stderr] [INFO] [stderr] For more information on this warning you can consult [INFO] [stderr] https://github.com/rust-lang/cargo/issues/5330 [INFO] [stderr] warning: path `/opt/crater/workdir/src/main.rs` was erroneously implicitly accepted for binary `ml`, [INFO] [stderr] please set bin.path in Cargo.toml [INFO] [stderr] Checking dot v0.1.4 [INFO] [stderr] Checking mml v0.1.41 (/opt/crater/workdir) [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/core/segment.rs:17:13 [INFO] [stderr] | [INFO] [stderr] 17 | left: left, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `left` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::redundant_field_names)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/core/segment.rs:18:13 [INFO] [stderr] | [INFO] [stderr] 18 | right: right, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `right` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/core/item/state/implem.rs:53:13 [INFO] [stderr] | [INFO] [stderr] 53 | ty: ty, [INFO] [stderr] | ^^^^^^ help: replace it with: `ty` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/core/item/state/implem.rs:54:13 [INFO] [stderr] | [INFO] [stderr] 54 | method: method, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `method` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/core/item/state/method.rs:43:13 [INFO] [stderr] | [INFO] [stderr] 43 | func: func, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `func` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/core/item/state/mod.rs:126:13 [INFO] [stderr] | [INFO] [stderr] 126 | node: node, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `node` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/core/mod.rs:26:13 [INFO] [stderr] | [INFO] [stderr] 26 | parse: parse, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `parse` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/core/segment.rs:17:13 [INFO] [stderr] | [INFO] [stderr] 17 | left: left, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `left` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::redundant_field_names)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/core/segment.rs:18:13 [INFO] [stderr] | [INFO] [stderr] 18 | right: right, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `right` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/core/item/state/implem.rs:53:13 [INFO] [stderr] | [INFO] [stderr] 53 | ty: ty, [INFO] [stderr] | ^^^^^^ help: replace it with: `ty` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/core/item/state/implem.rs:54:13 [INFO] [stderr] | [INFO] [stderr] 54 | method: method, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `method` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/core/item/state/method.rs:43:13 [INFO] [stderr] | [INFO] [stderr] 43 | func: func, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `func` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/core/item/state/mod.rs:126:13 [INFO] [stderr] | [INFO] [stderr] 126 | node: node, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `node` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/core/mod.rs:26:13 [INFO] [stderr] | [INFO] [stderr] 26 | parse: parse, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `parse` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/core/item/state/abstraction/extend.rs:24:51 [INFO] [stderr] | [INFO] [stderr] 24 | .map(|&ast::TyParam {attrs: _, ident: ast::Ident {name, ..}, ..}| name.as_str()) [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::unneeded_field_pattern)] on by default [INFO] [stderr] = help: Try with `TyParam { ident: ast::Ident {name, ..}, .. }` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/core/item/state/abstraction/extend.rs:27:60 [INFO] [stderr] | [INFO] [stderr] 27 | .filter_map(|&ast::TraitItem {id: _, ident: ast::Ident {name, ..}, attrs: _, ref node, ..}| [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/core/item/state/abstraction/extend.rs:27:97 [INFO] [stderr] | [INFO] [stderr] 27 | .filter_map(|&ast::TraitItem {id: _, ident: ast::Ident {name, ..}, attrs: _, ref node, ..}| [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `TraitItem { ident: ast::Ident {name, ..}, ref node, .. }` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/core/item/state/abstraction/extend.rs:28:88 [INFO] [stderr] | [INFO] [stderr] 28 | if let &ast::TraitItemKind::Method(ast::MethodSig { unsafety: _, constness: _, abi: _, ref decl, ..}, _) = node { [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/core/item/state/abstraction/extend.rs:28:101 [INFO] [stderr] | [INFO] [stderr] 28 | if let &ast::TraitItemKind::Method(ast::MethodSig { unsafety: _, constness: _, abi: _, ref decl, ..}, _) = node { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/core/item/state/abstraction/extend.rs:28:115 [INFO] [stderr] | [INFO] [stderr] 28 | if let &ast::TraitItemKind::Method(ast::MethodSig { unsafety: _, constness: _, abi: _, ref decl, ..}, _) = node { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `MethodSig { ref decl, .. }` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/core/item/state/abstraction/structure.rs:23:66 [INFO] [stderr] | [INFO] [stderr] 23 | .filter_map(|&ast::StructField { span: _, ident, ref vis, id: _, ref ty, .. }| [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/core/item/state/abstraction/structure.rs:23:91 [INFO] [stderr] | [INFO] [stderr] 23 | .filter_map(|&ast::StructField { span: _, ident, ref vis, id: _, ref ty, .. }| [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `StructField { ident, ref vis, ref ty, .. }` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/core/item/state/abstraction/enumerate.rs:24:51 [INFO] [stderr] | [INFO] [stderr] 24 | .map(|&ast::TyParam {attrs: _, ident: ast::Ident {name, ..}, ..}| name.as_str()) [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `TyParam { ident: ast::Ident {name, ..}, .. }` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/core/item/state/abstraction/enumerate.rs:27:106 [INFO] [stderr] | [INFO] [stderr] 27 | .map(|&codemap::Spanned {node: ast::Variant_ {name: ast::Ident {name, ..}, attrs: _, ref data, ..}, ..}| { [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `Variant_ { name: ast::Ident {name, ..}, ref data, .. }` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/core/item/state/abstraction/enumerate.rs:31:86 [INFO] [stderr] | [INFO] [stderr] 31 | .filter_map(|&ast::StructField { span: _, ident: _, vis: _, id: _, ref ty, .. }| Some(ty_to_string(&ty))) [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/core/item/state/abstraction/enumerate.rs:31:95 [INFO] [stderr] | [INFO] [stderr] 31 | .filter_map(|&ast::StructField { span: _, ident: _, vis: _, id: _, ref ty, .. }| Some(ty_to_string(&ty))) [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/core/item/state/abstraction/enumerate.rs:31:105 [INFO] [stderr] | [INFO] [stderr] 31 | .filter_map(|&ast::StructField { span: _, ident: _, vis: _, id: _, ref ty, .. }| Some(ty_to_string(&ty))) [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/core/item/state/abstraction/enumerate.rs:31:113 [INFO] [stderr] | [INFO] [stderr] 31 | .filter_map(|&ast::StructField { span: _, ident: _, vis: _, id: _, ref ty, .. }| Some(ty_to_string(&ty))) [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `StructField { ref ty, .. }` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/core/item/state/abstraction/mod.rs:31:38 [INFO] [stderr] | [INFO] [stderr] 31 | &Abstract::Trait(Trait { vis: _, ref name, ..}) => Some(name), [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `Trait { ref name, .. }` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/core/item/state/abstraction/mod.rs:32:40 [INFO] [stderr] | [INFO] [stderr] 32 | &Abstract::Struct(Struct { vis: _, ref name, ..}) => Some(name), [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `Struct { ref name, .. }` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/core/item/state/abstraction/mod.rs:33:36 [INFO] [stderr] | [INFO] [stderr] 33 | &Abstract::Enum(Enum { vis: _, ref name, ..}) => Some(name), [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `Enum { ref name, .. }` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/core/item/state/abstraction/mod.rs:45:39 [INFO] [stderr] | [INFO] [stderr] 45 | &Abstract::Struct(Struct {vis: _, name: _, fields: ref ty_field}) => { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/core/item/state/abstraction/mod.rs:45:47 [INFO] [stderr] | [INFO] [stderr] 45 | &Abstract::Struct(Struct {vis: _, name: _, fields: ref ty_field}) => { [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `Struct { fields: ref ty_field, .. }` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/core/item/state/abstraction/mod.rs:51:35 [INFO] [stderr] | [INFO] [stderr] 51 | &Abstract::Enum(Enum {vis: _, name: _, params: _, variants: ref ty_multi_field}) => { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/core/item/state/abstraction/mod.rs:51:43 [INFO] [stderr] | [INFO] [stderr] 51 | &Abstract::Enum(Enum {vis: _, name: _, params: _, variants: ref ty_multi_field}) => { [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/core/item/state/abstraction/mod.rs:51:52 [INFO] [stderr] | [INFO] [stderr] 51 | &Abstract::Enum(Enum {vis: _, name: _, params: _, variants: ref ty_multi_field}) => { [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `Enum { variants: ref ty_multi_field, .. }` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/core/item/state/implem.rs:65:78 [INFO] [stderr] | [INFO] [stderr] 65 | ast::AngleBracketedParameterData { lifetimes: _, ref types, .. } [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `AngleBracketedParameterData { ref types, .. }` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/core/item/state/implem.rs:77:62 [INFO] [stderr] | [INFO] [stderr] 77 | .filter_map(|&ast::ImplItem { id: _, ident: ast::Ident {name, ..}, vis: _, defaultness: _, attrs: _, ref node, ..}| [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/core/item/state/implem.rs:77:99 [INFO] [stderr] | [INFO] [stderr] 77 | .filter_map(|&ast::ImplItem { id: _, ident: ast::Ident {name, ..}, vis: _, defaultness: _, attrs: _, ref node, ..}| [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/core/item/state/implem.rs:77:107 [INFO] [stderr] | [INFO] [stderr] 77 | .filter_map(|&ast::ImplItem { id: _, ident: ast::Ident {name, ..}, vis: _, defaultness: _, attrs: _, ref node, ..}| [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/core/item/state/implem.rs:77:123 [INFO] [stderr] | [INFO] [stderr] 77 | .filter_map(|&ast::ImplItem { id: _, ident: ast::Ident {name, ..}, vis: _, defaultness: _, attrs: _, ref node, ..}| [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `ImplItem { ident: ast::Ident {name, ..}, ref node, .. }` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/core/item/state/implem.rs:78:93 [INFO] [stderr] | [INFO] [stderr] 78 | if let &ast::ImplItemKind::Method(ast::MethodSig { unsafety: _, constness: _, abi: _, ref decl, .. }, _) = node { [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/core/item/state/implem.rs:78:106 [INFO] [stderr] | [INFO] [stderr] 78 | if let &ast::ImplItemKind::Method(ast::MethodSig { unsafety: _, constness: _, abi: _, ref decl, .. }, _) = node { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/core/item/state/implem.rs:78:120 [INFO] [stderr] | [INFO] [stderr] 78 | if let &ast::ImplItemKind::Method(ast::MethodSig { unsafety: _, constness: _, abi: _, ref decl, .. }, _) = node { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `MethodSig { ref decl, .. }` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/core/item/state/method.rs:51:60 [INFO] [stderr] | [INFO] [stderr] 51 | .filter_map(|&ast::ImplItem {id: _, ident: ast::Ident { name, ..}, ref vis, defaultness: _, attrs: _, ref node, .. }| { [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/core/item/state/method.rs:51:107 [INFO] [stderr] | [INFO] [stderr] 51 | .filter_map(|&ast::ImplItem {id: _, ident: ast::Ident { name, ..}, ref vis, defaultness: _, attrs: _, ref node, .. }| { [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/core/item/state/method.rs:51:123 [INFO] [stderr] | [INFO] [stderr] 51 | .filter_map(|&ast::ImplItem {id: _, ident: ast::Ident { name, ..}, ref vis, defaultness: _, attrs: _, ref node, .. }| { [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `ImplItem { ident: ast::Ident { name, ..}, ref vis, ref node, .. }` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/core/item/state/method.rs:52:88 [INFO] [stderr] | [INFO] [stderr] 52 | if let &ast::ImplItemKind::Method(ast::MethodSig {unsafety: _, constness: _, abi: _, ref decl, ..}, _) = node { [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/core/item/state/method.rs:52:101 [INFO] [stderr] | [INFO] [stderr] 52 | if let &ast::ImplItemKind::Method(ast::MethodSig {unsafety: _, constness: _, abi: _, ref decl, ..}, _) = node { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/core/item/state/method.rs:52:115 [INFO] [stderr] | [INFO] [stderr] 52 | if let &ast::ImplItemKind::Method(ast::MethodSig {unsafety: _, constness: _, abi: _, ref decl, ..}, _) = node { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `MethodSig { ref decl, .. }` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/core/item/state/mod.rs:6:22 [INFO] [stderr] | [INFO] [stderr] 6 | const DEFAULT_FUNC: &'static str = " "; [INFO] [stderr] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::const_static_lifetime)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#const_static_lifetime [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/core/item/state/mod.rs:138:94 [INFO] [stderr] | [INFO] [stderr] 138 | if let ast::ItemKind::Impl(_, _, _, Some(ast::TraitRef {path: ast::Path {span: _, ref segments}, ..}), _, ref impl_item) = item.node { [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `Path { ref segments, .. }` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: doc comment not used by rustdoc [INFO] [stderr] --> src/core/item/state/mod.rs:153:17 [INFO] [stderr] | [INFO] [stderr] 153 | /// Trait. [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_doc_comments)] on by default [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/core/item/state/mod.rs:154:57 [INFO] [stderr] | [INFO] [stderr] 154 | &ast::ItemKind::Trait(_, ast::Generics {lifetimes: _, ref ty_params, ..}, _, ref trait_item) => { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `Generics { ref ty_params, .. }` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: doc comment not used by rustdoc [INFO] [stderr] --> src/core/item/state/mod.rs:159:17 [INFO] [stderr] | [INFO] [stderr] 159 | /// Structure with variables. [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: doc comment not used by rustdoc [INFO] [stderr] --> src/core/item/state/mod.rs:165:17 [INFO] [stderr] | [INFO] [stderr] 165 | /// Enumeration with variables. [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/core/item/state/mod.rs:166:82 [INFO] [stderr] | [INFO] [stderr] 166 | &ast::ItemKind::Enum(ast::EnumDef {ref variants}, ast::Generics {lifetimes: _, ref ty_params, ..}) => { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `Generics { ref ty_params, .. }` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/lib.rs:50:30 [INFO] [stderr] | [INFO] [stderr] 50 | pub const DEFAULT_NAME_DOT: &'static str = "ml.dot"; [INFO] [stderr] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#const_static_lifetime [INFO] [stderr] [INFO] [stderr] warning: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/lib.rs:52:30 [INFO] [stderr] | [INFO] [stderr] 52 | pub const DEFAULT_NAME_PNG: &'static str = "ml.svg"; [INFO] [stderr] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#const_static_lifetime [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/core/item/state/abstraction/extend.rs:24:51 [INFO] [stderr] | [INFO] [stderr] 24 | .map(|&ast::TyParam {attrs: _, ident: ast::Ident {name, ..}, ..}| name.as_str()) [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::unneeded_field_pattern)] on by default [INFO] [stderr] = help: Try with `TyParam { ident: ast::Ident {name, ..}, .. }` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/core/item/state/abstraction/extend.rs:27:60 [INFO] [stderr] | [INFO] [stderr] 27 | .filter_map(|&ast::TraitItem {id: _, ident: ast::Ident {name, ..}, attrs: _, ref node, ..}| [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/core/item/state/abstraction/extend.rs:27:97 [INFO] [stderr] | [INFO] [stderr] 27 | .filter_map(|&ast::TraitItem {id: _, ident: ast::Ident {name, ..}, attrs: _, ref node, ..}| [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `TraitItem { ident: ast::Ident {name, ..}, ref node, .. }` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/core/item/state/abstraction/extend.rs:28:88 [INFO] [stderr] | [INFO] [stderr] 28 | if let &ast::TraitItemKind::Method(ast::MethodSig { unsafety: _, constness: _, abi: _, ref decl, ..}, _) = node { [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/core/item/state/abstraction/extend.rs:28:101 [INFO] [stderr] | [INFO] [stderr] 28 | if let &ast::TraitItemKind::Method(ast::MethodSig { unsafety: _, constness: _, abi: _, ref decl, ..}, _) = node { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/core/item/state/abstraction/extend.rs:28:115 [INFO] [stderr] | [INFO] [stderr] 28 | if let &ast::TraitItemKind::Method(ast::MethodSig { unsafety: _, constness: _, abi: _, ref decl, ..}, _) = node { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `MethodSig { ref decl, .. }` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/core/item/state/abstraction/structure.rs:23:66 [INFO] [stderr] | [INFO] [stderr] 23 | .filter_map(|&ast::StructField { span: _, ident, ref vis, id: _, ref ty, .. }| [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/core/item/state/abstraction/structure.rs:23:91 [INFO] [stderr] | [INFO] [stderr] 23 | .filter_map(|&ast::StructField { span: _, ident, ref vis, id: _, ref ty, .. }| [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `StructField { ident, ref vis, ref ty, .. }` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/core/item/state/abstraction/enumerate.rs:24:51 [INFO] [stderr] | [INFO] [stderr] 24 | .map(|&ast::TyParam {attrs: _, ident: ast::Ident {name, ..}, ..}| name.as_str()) [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `TyParam { ident: ast::Ident {name, ..}, .. }` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/core/item/state/abstraction/enumerate.rs:27:106 [INFO] [stderr] | [INFO] [stderr] 27 | .map(|&codemap::Spanned {node: ast::Variant_ {name: ast::Ident {name, ..}, attrs: _, ref data, ..}, ..}| { [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `Variant_ { name: ast::Ident {name, ..}, ref data, .. }` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/core/item/state/abstraction/enumerate.rs:31:86 [INFO] [stderr] | [INFO] [stderr] 31 | .filter_map(|&ast::StructField { span: _, ident: _, vis: _, id: _, ref ty, .. }| Some(ty_to_string(&ty))) [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/core/item/state/abstraction/enumerate.rs:31:95 [INFO] [stderr] | [INFO] [stderr] 31 | .filter_map(|&ast::StructField { span: _, ident: _, vis: _, id: _, ref ty, .. }| Some(ty_to_string(&ty))) [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/core/item/state/abstraction/enumerate.rs:31:105 [INFO] [stderr] | [INFO] [stderr] 31 | .filter_map(|&ast::StructField { span: _, ident: _, vis: _, id: _, ref ty, .. }| Some(ty_to_string(&ty))) [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/core/item/state/abstraction/enumerate.rs:31:113 [INFO] [stderr] | [INFO] [stderr] 31 | .filter_map(|&ast::StructField { span: _, ident: _, vis: _, id: _, ref ty, .. }| Some(ty_to_string(&ty))) [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `StructField { ref ty, .. }` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/core/item/state/abstraction/mod.rs:31:38 [INFO] [stderr] | [INFO] [stderr] 31 | &Abstract::Trait(Trait { vis: _, ref name, ..}) => Some(name), [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `Trait { ref name, .. }` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/core/item/state/abstraction/mod.rs:32:40 [INFO] [stderr] | [INFO] [stderr] 32 | &Abstract::Struct(Struct { vis: _, ref name, ..}) => Some(name), [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `Struct { ref name, .. }` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/core/item/state/abstraction/mod.rs:33:36 [INFO] [stderr] | [INFO] [stderr] 33 | &Abstract::Enum(Enum { vis: _, ref name, ..}) => Some(name), [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `Enum { ref name, .. }` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/core/item/state/abstraction/mod.rs:45:39 [INFO] [stderr] | [INFO] [stderr] 45 | &Abstract::Struct(Struct {vis: _, name: _, fields: ref ty_field}) => { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/core/item/state/abstraction/mod.rs:45:47 [INFO] [stderr] | [INFO] [stderr] 45 | &Abstract::Struct(Struct {vis: _, name: _, fields: ref ty_field}) => { [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `Struct { fields: ref ty_field, .. }` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/core/item/state/abstraction/mod.rs:51:35 [INFO] [stderr] | [INFO] [stderr] 51 | &Abstract::Enum(Enum {vis: _, name: _, params: _, variants: ref ty_multi_field}) => { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/core/item/state/abstraction/mod.rs:51:43 [INFO] [stderr] | [INFO] [stderr] 51 | &Abstract::Enum(Enum {vis: _, name: _, params: _, variants: ref ty_multi_field}) => { [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/core/item/state/abstraction/mod.rs:51:52 [INFO] [stderr] | [INFO] [stderr] 51 | &Abstract::Enum(Enum {vis: _, name: _, params: _, variants: ref ty_multi_field}) => { [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `Enum { variants: ref ty_multi_field, .. }` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/core/item/state/implem.rs:65:78 [INFO] [stderr] | [INFO] [stderr] 65 | ast::AngleBracketedParameterData { lifetimes: _, ref types, .. } [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `AngleBracketedParameterData { ref types, .. }` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/core/item/state/implem.rs:77:62 [INFO] [stderr] | [INFO] [stderr] 77 | .filter_map(|&ast::ImplItem { id: _, ident: ast::Ident {name, ..}, vis: _, defaultness: _, attrs: _, ref node, ..}| [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/core/item/state/implem.rs:77:99 [INFO] [stderr] | [INFO] [stderr] 77 | .filter_map(|&ast::ImplItem { id: _, ident: ast::Ident {name, ..}, vis: _, defaultness: _, attrs: _, ref node, ..}| [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/core/item/state/implem.rs:77:107 [INFO] [stderr] | [INFO] [stderr] 77 | .filter_map(|&ast::ImplItem { id: _, ident: ast::Ident {name, ..}, vis: _, defaultness: _, attrs: _, ref node, ..}| [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/core/item/state/implem.rs:77:123 [INFO] [stderr] | [INFO] [stderr] 77 | .filter_map(|&ast::ImplItem { id: _, ident: ast::Ident {name, ..}, vis: _, defaultness: _, attrs: _, ref node, ..}| [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `ImplItem { ident: ast::Ident {name, ..}, ref node, .. }` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/core/item/state/implem.rs:78:93 [INFO] [stderr] | [INFO] [stderr] 78 | if let &ast::ImplItemKind::Method(ast::MethodSig { unsafety: _, constness: _, abi: _, ref decl, .. }, _) = node { [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/core/item/state/implem.rs:78:106 [INFO] [stderr] | [INFO] [stderr] 78 | if let &ast::ImplItemKind::Method(ast::MethodSig { unsafety: _, constness: _, abi: _, ref decl, .. }, _) = node { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/core/item/state/implem.rs:78:120 [INFO] [stderr] | [INFO] [stderr] 78 | if let &ast::ImplItemKind::Method(ast::MethodSig { unsafety: _, constness: _, abi: _, ref decl, .. }, _) = node { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `MethodSig { ref decl, .. }` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/core/item/state/method.rs:51:60 [INFO] [stderr] | [INFO] [stderr] 51 | .filter_map(|&ast::ImplItem {id: _, ident: ast::Ident { name, ..}, ref vis, defaultness: _, attrs: _, ref node, .. }| { [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/core/item/state/method.rs:51:107 [INFO] [stderr] | [INFO] [stderr] 51 | .filter_map(|&ast::ImplItem {id: _, ident: ast::Ident { name, ..}, ref vis, defaultness: _, attrs: _, ref node, .. }| { [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/core/item/state/method.rs:51:123 [INFO] [stderr] | [INFO] [stderr] 51 | .filter_map(|&ast::ImplItem {id: _, ident: ast::Ident { name, ..}, ref vis, defaultness: _, attrs: _, ref node, .. }| { [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `ImplItem { ident: ast::Ident { name, ..}, ref vis, ref node, .. }` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/core/item/state/method.rs:52:88 [INFO] [stderr] | [INFO] [stderr] 52 | if let &ast::ImplItemKind::Method(ast::MethodSig {unsafety: _, constness: _, abi: _, ref decl, ..}, _) = node { [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/core/item/state/method.rs:52:101 [INFO] [stderr] | [INFO] [stderr] 52 | if let &ast::ImplItemKind::Method(ast::MethodSig {unsafety: _, constness: _, abi: _, ref decl, ..}, _) = node { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/core/item/state/method.rs:52:115 [INFO] [stderr] | [INFO] [stderr] 52 | if let &ast::ImplItemKind::Method(ast::MethodSig {unsafety: _, constness: _, abi: _, ref decl, ..}, _) = node { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `MethodSig { ref decl, .. }` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/core/item/state/mod.rs:6:22 [INFO] [stderr] | [INFO] [stderr] 6 | const DEFAULT_FUNC: &'static str = " "; [INFO] [stderr] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::const_static_lifetime)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#const_static_lifetime [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/core/item/state/mod.rs:138:94 [INFO] [stderr] | [INFO] [stderr] 138 | if let ast::ItemKind::Impl(_, _, _, Some(ast::TraitRef {path: ast::Path {span: _, ref segments}, ..}), _, ref impl_item) = item.node { [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `Path { ref segments, .. }` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: doc comment not used by rustdoc [INFO] [stderr] --> src/core/item/state/mod.rs:153:17 [INFO] [stderr] | [INFO] [stderr] 153 | /// Trait. [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_doc_comments)] on by default [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/core/item/state/mod.rs:154:57 [INFO] [stderr] | [INFO] [stderr] 154 | &ast::ItemKind::Trait(_, ast::Generics {lifetimes: _, ref ty_params, ..}, _, ref trait_item) => { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `Generics { ref ty_params, .. }` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: doc comment not used by rustdoc [INFO] [stderr] --> src/core/item/state/mod.rs:159:17 [INFO] [stderr] | [INFO] [stderr] 159 | /// Structure with variables. [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: doc comment not used by rustdoc [INFO] [stderr] --> src/core/item/state/mod.rs:165:17 [INFO] [stderr] | [INFO] [stderr] 165 | /// Enumeration with variables. [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/core/item/state/mod.rs:166:82 [INFO] [stderr] | [INFO] [stderr] 166 | &ast::ItemKind::Enum(ast::EnumDef {ref variants}, ast::Generics {lifetimes: _, ref ty_params, ..}) => { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `Generics { ref ty_params, .. }` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/lib.rs:50:30 [INFO] [stderr] | [INFO] [stderr] 50 | pub const DEFAULT_NAME_DOT: &'static str = "ml.dot"; [INFO] [stderr] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#const_static_lifetime [INFO] [stderr] [INFO] [stderr] warning: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/lib.rs:52:30 [INFO] [stderr] | [INFO] [stderr] 52 | pub const DEFAULT_NAME_PNG: &'static str = "ml.svg"; [INFO] [stderr] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#const_static_lifetime [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/core/item/relation.rs:19:21 [INFO] [stderr] | [INFO] [stderr] 19 | pub fn as_style(&self) -> ArrowShape { [INFO] [stderr] | ^^^^^ help: consider passing by value instead: `self` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::trivially_copy_pass_by_ref)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/core/item/relation.rs:20:9 [INFO] [stderr] | [INFO] [stderr] 20 | / match self { [INFO] [stderr] 21 | | &Relation::Association => ArrowShape::Vee(Side::Both), [INFO] [stderr] 22 | | &Relation::Dependency => ArrowShape::Vee(Side::Both), [INFO] [stderr] 23 | | &Relation::Aggregation => ArrowShape::Diamond(Fill::Open, Side::Both), [INFO] [stderr] ... | [INFO] [stderr] 26 | | &Relation::None => ArrowShape::NoArrow, [INFO] [stderr] 27 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::match_ref_pats)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 20 | match *self { [INFO] [stderr] 21 | Relation::Association => ArrowShape::Vee(Side::Both), [INFO] [stderr] 22 | Relation::Dependency => ArrowShape::Vee(Side::Both), [INFO] [stderr] 23 | Relation::Aggregation => ArrowShape::Diamond(Fill::Open, Side::Both), [INFO] [stderr] 24 | Relation::Composition => ArrowShape::Diamond(Fill::Filled, Side::Both), [INFO] [stderr] 25 | Relation::Realization => ArrowShape::Normal(Fill::Open, Side::Both), [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/core/item/state/abstraction/extend.rs:28:36 [INFO] [stderr] | [INFO] [stderr] 28 | / if let &ast::TraitItemKind::Method(ast::MethodSig { unsafety: _, constness: _, abi: _, ref decl, ..}, _) = node { [INFO] [stderr] 29 | | if let &ast::FnDecl {ref inputs, output: ast::FunctionRetTy::Ty(ref ty), ..} = decl.deref() { [INFO] [stderr] 30 | | Some((name.as_str(), inputs.iter().map(|input| ty_to_string(&input.ty)).collect::>(), ty_to_string(&ty))) [INFO] [stderr] 31 | | } else { [INFO] [stderr] ... | [INFO] [stderr] 35 | | None [INFO] [stderr] 36 | | } [INFO] [stderr] | |____________________________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 28 | if let ast::TraitItemKind::Method(ast::MethodSig { unsafety: _, constness: _, abi: _, ref decl, ..}, _) = *node { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/core/item/state/abstraction/extend.rs:29:40 [INFO] [stderr] | [INFO] [stderr] 29 | / if let &ast::FnDecl {ref inputs, output: ast::FunctionRetTy::Ty(ref ty), ..} = decl.deref() { [INFO] [stderr] 30 | | Some((name.as_str(), inputs.iter().map(|input| ty_to_string(&input.ty)).collect::>(), ty_to_string(&ty))) [INFO] [stderr] 31 | | } else { [INFO] [stderr] 32 | | None [INFO] [stderr] 33 | | } [INFO] [stderr] | |________________________________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 29 | if let ast::FnDecl {ref inputs, output: ast::FunctionRetTy::Ty(ref ty), ..} = *decl.deref() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/core/item/state/abstraction/enumerate.rs:28:36 [INFO] [stderr] | [INFO] [stderr] 28 | / if let &ast::VariantData::Tuple(ref struct_field, _) = data { [INFO] [stderr] 29 | | (name.as_str(), [INFO] [stderr] 30 | | struct_field.iter() [INFO] [stderr] 31 | | .filter_map(|&ast::StructField { span: _, ident: _, vis: _, id: _, ref ty, .. }| Some(ty_to_string(&ty))) [INFO] [stderr] ... | [INFO] [stderr] 34 | | (name.as_str(), Vec::new()) [INFO] [stderr] 35 | | } [INFO] [stderr] | |____________________________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 28 | if let ast::VariantData::Tuple(ref struct_field, _) = *data { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: this `.filter_map` can be written more simply using `.map` [INFO] [stderr] --> src/core/item/state/abstraction/enumerate.rs:30:41 [INFO] [stderr] | [INFO] [stderr] 30 | / struct_field.iter() [INFO] [stderr] 31 | | .filter_map(|&ast::StructField { span: _, ident: _, vis: _, id: _, ref ty, .. }| Some(ty_to_string(&ty))) [INFO] [stderr] | |_____________________________________________________________________________________________________________________________________________________________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::unnecessary_filter_map)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_filter_map [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/core/item/relation.rs:19:21 [INFO] [stderr] | [INFO] [stderr] 19 | pub fn as_style(&self) -> ArrowShape { [INFO] [stderr] | ^^^^^ help: consider passing by value instead: `self` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::trivially_copy_pass_by_ref)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/core/item/relation.rs:20:9 [INFO] [stderr] | [INFO] [stderr] 20 | / match self { [INFO] [stderr] 21 | | &Relation::Association => ArrowShape::Vee(Side::Both), [INFO] [stderr] 22 | | &Relation::Dependency => ArrowShape::Vee(Side::Both), [INFO] [stderr] 23 | | &Relation::Aggregation => ArrowShape::Diamond(Fill::Open, Side::Both), [INFO] [stderr] ... | [INFO] [stderr] 26 | | &Relation::None => ArrowShape::NoArrow, [INFO] [stderr] 27 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::match_ref_pats)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 20 | match *self { [INFO] [stderr] 21 | Relation::Association => ArrowShape::Vee(Side::Both), [INFO] [stderr] 22 | Relation::Dependency => ArrowShape::Vee(Side::Both), [INFO] [stderr] 23 | Relation::Aggregation => ArrowShape::Diamond(Fill::Open, Side::Both), [INFO] [stderr] 24 | Relation::Composition => ArrowShape::Diamond(Fill::Filled, Side::Both), [INFO] [stderr] 25 | Relation::Realization => ArrowShape::Normal(Fill::Open, Side::Both), [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/core/item/state/abstraction/mod.rs:30:9 [INFO] [stderr] | [INFO] [stderr] 30 | / match self { [INFO] [stderr] 31 | | &Abstract::Trait(Trait { vis: _, ref name, ..}) => Some(name), [INFO] [stderr] 32 | | &Abstract::Struct(Struct { vis: _, ref name, ..}) => Some(name), [INFO] [stderr] 33 | | &Abstract::Enum(Enum { vis: _, ref name, ..}) => Some(name), [INFO] [stderr] 34 | | &Abstract::None => None, [INFO] [stderr] 35 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 30 | match *self { [INFO] [stderr] 31 | Abstract::Trait(Trait { vis: _, ref name, ..}) => Some(name), [INFO] [stderr] 32 | Abstract::Struct(Struct { vis: _, ref name, ..}) => Some(name), [INFO] [stderr] 33 | Abstract::Enum(Enum { vis: _, ref name, ..}) => Some(name), [INFO] [stderr] 34 | Abstract::None => None, [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/core/item/state/abstraction/mod.rs:44:9 [INFO] [stderr] | [INFO] [stderr] 44 | / match self { [INFO] [stderr] 45 | | &Abstract::Struct(Struct {vis: _, name: _, fields: ref ty_field}) => { [INFO] [stderr] 46 | | ty_field.iter() [INFO] [stderr] 47 | | .map(|&(_, _, ref ty): &'a (&'a ast::Visibility, symbol::InternedString, String)| ty) [INFO] [stderr] ... | [INFO] [stderr] 63 | | }, [INFO] [stderr] 64 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 44 | match *self { [INFO] [stderr] 45 | Abstract::Struct(Struct {vis: _, name: _, fields: ref ty_field}) => { [INFO] [stderr] 46 | ty_field.iter() [INFO] [stderr] 47 | .map(|&(_, _, ref ty): &'a (&'a ast::Visibility, symbol::InternedString, String)| ty) [INFO] [stderr] 48 | .collect::>() [INFO] [stderr] 49 | .into_iter() [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/core/item/state/abstraction/mod.rs:94:9 [INFO] [stderr] | [INFO] [stderr] 94 | / match self { [INFO] [stderr] 95 | | &Abstract::Struct(ref item) => write!(f, "{}", item), [INFO] [stderr] 96 | | &Abstract::Enum(ref item) => write!(f, "{}", item), [INFO] [stderr] 97 | | &Abstract::Trait(ref item) => write!(f, "{}", item), [INFO] [stderr] 98 | | &Abstract::None => Err(fmt::Error), [INFO] [stderr] 99 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 94 | match *self { [INFO] [stderr] 95 | Abstract::Struct(ref item) => write!(f, "{}", item), [INFO] [stderr] 96 | Abstract::Enum(ref item) => write!(f, "{}", item), [INFO] [stderr] 97 | Abstract::Trait(ref item) => write!(f, "{}", item), [INFO] [stderr] 98 | Abstract::None => Err(fmt::Error), [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/core/item/state/abstraction/extend.rs:28:36 [INFO] [stderr] | [INFO] [stderr] 28 | / if let &ast::TraitItemKind::Method(ast::MethodSig { unsafety: _, constness: _, abi: _, ref decl, ..}, _) = node { [INFO] [stderr] 29 | | if let &ast::FnDecl {ref inputs, output: ast::FunctionRetTy::Ty(ref ty), ..} = decl.deref() { [INFO] [stderr] 30 | | Some((name.as_str(), inputs.iter().map(|input| ty_to_string(&input.ty)).collect::>(), ty_to_string(&ty))) [INFO] [stderr] 31 | | } else { [INFO] [stderr] ... | [INFO] [stderr] 35 | | None [INFO] [stderr] 36 | | } [INFO] [stderr] | |____________________________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 28 | if let ast::TraitItemKind::Method(ast::MethodSig { unsafety: _, constness: _, abi: _, ref decl, ..}, _) = *node { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/core/item/state/abstraction/extend.rs:29:40 [INFO] [stderr] | [INFO] [stderr] 29 | / if let &ast::FnDecl {ref inputs, output: ast::FunctionRetTy::Ty(ref ty), ..} = decl.deref() { [INFO] [stderr] 30 | | Some((name.as_str(), inputs.iter().map(|input| ty_to_string(&input.ty)).collect::>(), ty_to_string(&ty))) [INFO] [stderr] 31 | | } else { [INFO] [stderr] 32 | | None [INFO] [stderr] 33 | | } [INFO] [stderr] | |________________________________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 29 | if let ast::FnDecl {ref inputs, output: ast::FunctionRetTy::Ty(ref ty), ..} = *decl.deref() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/core/item/state/implem.rs:22:43 [INFO] [stderr] | [INFO] [stderr] 22 | pub fn is_realization(&self, ty_name: &String) -> bool { [INFO] [stderr] | ^^^^^^^ help: change this to: `&str` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::ptr_arg)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/core/item/state/implem.rs:30:43 [INFO] [stderr] | [INFO] [stderr] 30 | pub fn is_association(&self, ty_name: &String) -> bool { [INFO] [stderr] | ^^^^^^^ help: change this to: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/core/item/state/implem.rs:33:24 [INFO] [stderr] | [INFO] [stderr] 33 | / if let &Some(ref ret) = result { [INFO] [stderr] 34 | | ret.split(|at| "<[(;, )]>".contains(at)) [INFO] [stderr] 35 | | .any(|ty| ty.eq(ty_name)) [INFO] [stderr] 36 | | } else { [INFO] [stderr] 37 | | false [INFO] [stderr] 38 | | } [INFO] [stderr] | |________________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 33 | if let Some(ref ret) = *result { [INFO] [stderr] | ^^^^^^^^^^^^^ ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/core/item/state/implem.rs:42:36 [INFO] [stderr] | [INFO] [stderr] 42 | pub fn is_dependency(&self, _: &String) -> bool { [INFO] [stderr] | ^^^^^^^ help: change this to: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stderr] --> src/core/item/state/implem.rs:51:27 [INFO] [stderr] | [INFO] [stderr] 51 | fn from((ty, method): (Vec<(InternedString, Vec)>, Vec<(InternedString, Vec, Option)>)) -> Implem { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::type_complexity)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/core/item/state/implem.rs:63:35 [INFO] [stderr] | [INFO] [stderr] 63 | / if let &Some(ref path) = parameters { [INFO] [stderr] 64 | | if let &ast::PathParameters::AngleBracketed( [INFO] [stderr] 65 | | ast::AngleBracketedParameterData { lifetimes: _, ref types, .. } [INFO] [stderr] 66 | | ) = path.deref() { [INFO] [stderr] ... | [INFO] [stderr] 72 | | (name.as_str(), Vec::new()) [INFO] [stderr] 73 | | } [INFO] [stderr] | |___________________________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 63 | if let Some(ref path) = *parameters { [INFO] [stderr] | ^^^^^^^^^^^^^^ ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/core/item/state/implem.rs:64:39 [INFO] [stderr] | [INFO] [stderr] 64 | / if let &ast::PathParameters::AngleBracketed( [INFO] [stderr] 65 | | ast::AngleBracketedParameterData { lifetimes: _, ref types, .. } [INFO] [stderr] 66 | | ) = path.deref() { [INFO] [stderr] 67 | | (name.as_str(), types.iter().map(|ty| ty_to_string(&ty)).collect::>()) [INFO] [stderr] 68 | | } else { [INFO] [stderr] 69 | | (name.as_str(), Vec::new()) [INFO] [stderr] 70 | | } [INFO] [stderr] | |_______________________________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 64 | if let ast::PathParameters::AngleBracketed( [INFO] [stderr] 65 | ast::AngleBracketedParameterData { lifetimes: _, ref types, .. } [INFO] [stderr] 66 | ) = *path.deref() { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/core/item/state/implem.rs:78:42 [INFO] [stderr] | [INFO] [stderr] 78 | / if let &ast::ImplItemKind::Method(ast::MethodSig { unsafety: _, constness: _, abi: _, ref decl, .. }, _) = node { [INFO] [stderr] 79 | | if let ast::FunctionRetTy::Ty(ref ty) = decl.output { [INFO] [stderr] 80 | | Some((name.as_str(), decl.inputs.iter().map(|arg| ty_to_string(&arg.ty)).collect::>(), Some(ty_to_string(&ty)))) [INFO] [stderr] 81 | | } else { [INFO] [stderr] ... | [INFO] [stderr] 85 | | None [INFO] [stderr] 86 | | } [INFO] [stderr] | |__________________________________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 78 | if let ast::ImplItemKind::Method(ast::MethodSig { unsafety: _, constness: _, abi: _, ref decl, .. }, _) = *node { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/core/item/state/implem.rs:96:46 [INFO] [stderr] | [INFO] [stderr] 96 | / if let &Some(ref ret) = result { [INFO] [stderr] 97 | | format!("{}{}({}) -> {}", DEFAULT_FUNC, name, args.join(", "), ret) [INFO] [stderr] 98 | | } else { [INFO] [stderr] 99 | | format!("{}{}({})", DEFAULT_FUNC, name, args.join(", ")) [INFO] [stderr] 100 | | } [INFO] [stderr] | |______________________________________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 96 | if let Some(ref ret) = *result { [INFO] [stderr] | ^^^^^^^^^^^^^ ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/core/item/state/abstraction/enumerate.rs:28:36 [INFO] [stderr] | [INFO] [stderr] 28 | / if let &ast::VariantData::Tuple(ref struct_field, _) = data { [INFO] [stderr] 29 | | (name.as_str(), [INFO] [stderr] 30 | | struct_field.iter() [INFO] [stderr] 31 | | .filter_map(|&ast::StructField { span: _, ident: _, vis: _, id: _, ref ty, .. }| Some(ty_to_string(&ty))) [INFO] [stderr] ... | [INFO] [stderr] 34 | | (name.as_str(), Vec::new()) [INFO] [stderr] 35 | | } [INFO] [stderr] | |____________________________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 28 | if let ast::VariantData::Tuple(ref struct_field, _) = *data { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: this `.filter_map` can be written more simply using `.map` [INFO] [stderr] --> src/core/item/state/abstraction/enumerate.rs:30:41 [INFO] [stderr] | [INFO] [stderr] 30 | / struct_field.iter() [INFO] [stderr] 31 | | .filter_map(|&ast::StructField { span: _, ident: _, vis: _, id: _, ref ty, .. }| Some(ty_to_string(&ty))) [INFO] [stderr] | |_____________________________________________________________________________________________________________________________________________________________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::unnecessary_filter_map)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_filter_map [INFO] [stderr] [INFO] [stderr] warning: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/core/item/state/method.rs:21:43 [INFO] [stderr] | [INFO] [stderr] 21 | pub fn is_association(&self, ty_name: &String) -> bool { [INFO] [stderr] | ^^^^^^^ help: change this to: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/core/item/state/method.rs:24:22 [INFO] [stderr] | [INFO] [stderr] 24 | / if let &Some(ref ret) = result { [INFO] [stderr] 25 | | ret.split(|at| "<[(;, )]>".contains(at)) [INFO] [stderr] 26 | | .any(|ty| ty.eq(ty_name)) [INFO] [stderr] 27 | | } else { [INFO] [stderr] 28 | | false [INFO] [stderr] 29 | | } [INFO] [stderr] | |______________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 24 | if let Some(ref ret) = *result { [INFO] [stderr] | ^^^^^^^^^^^^^ ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/core/item/state/method.rs:33:39 [INFO] [stderr] | [INFO] [stderr] 33 | pub fn is_dependency(&self, name: &String) -> bool { [INFO] [stderr] | ^^^^^^^ help: change this to: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/core/item/state/method.rs:52:38 [INFO] [stderr] | [INFO] [stderr] 52 | / if let &ast::ImplItemKind::Method(ast::MethodSig {unsafety: _, constness: _, abi: _, ref decl, ..}, _) = node { [INFO] [stderr] 53 | | if let &ast::FnDecl {ref inputs, output: ast::FunctionRetTy::Ty(ref ty), ..} = decl.deref() { [INFO] [stderr] 54 | | Some((vis, name.as_str(), inputs.iter().map(|ref arg| arg_to_string(&arg)).collect::>(), Some(ty_to_string(&ty)))) [INFO] [stderr] 55 | | } else if let &ast::FnDecl {ref inputs, output: ast::FunctionRetTy::Default(_), ..} = decl.deref() { [INFO] [stderr] ... | [INFO] [stderr] 61 | | None [INFO] [stderr] 62 | | } [INFO] [stderr] | |______________________________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 52 | if let ast::ImplItemKind::Method(ast::MethodSig {unsafety: _, constness: _, abi: _, ref decl, ..}, _) = *node { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/core/item/state/method.rs:53:42 [INFO] [stderr] | [INFO] [stderr] 53 | / if let &ast::FnDecl {ref inputs, output: ast::FunctionRetTy::Ty(ref ty), ..} = decl.deref() { [INFO] [stderr] 54 | | Some((vis, name.as_str(), inputs.iter().map(|ref arg| arg_to_string(&arg)).collect::>(), Some(ty_to_string(&ty)))) [INFO] [stderr] 55 | | } else if let &ast::FnDecl {ref inputs, output: ast::FunctionRetTy::Default(_), ..} = decl.deref() { [INFO] [stderr] 56 | | Some((vis, name.as_str(), inputs.iter().map(|ref arg| arg_to_string(&arg)).collect::>(), None)) [INFO] [stderr] 57 | | } else { [INFO] [stderr] 58 | | None [INFO] [stderr] 59 | | } [INFO] [stderr] | |__________________________________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 53 | if let ast::FnDecl {ref inputs, output: ast::FunctionRetTy::Ty(ref ty), ..} = *decl.deref() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/core/item/state/method.rs:55:49 [INFO] [stderr] | [INFO] [stderr] 55 | } else if let &ast::FnDecl {ref inputs, output: ast::FunctionRetTy::Default(_), ..} = decl.deref() { [INFO] [stderr] | _________________________________________________^ [INFO] [stderr] 56 | | Some((vis, name.as_str(), inputs.iter().map(|ref arg| arg_to_string(&arg)).collect::>(), None)) [INFO] [stderr] 57 | | } else { [INFO] [stderr] 58 | | None [INFO] [stderr] 59 | | } [INFO] [stderr] | |__________________________________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 55 | } else if let ast::FnDecl {ref inputs, output: ast::FunctionRetTy::Default(_), ..} = *decl.deref() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/core/item/state/abstraction/mod.rs:30:9 [INFO] [stderr] | [INFO] [stderr] 30 | / match self { [INFO] [stderr] 31 | | &Abstract::Trait(Trait { vis: _, ref name, ..}) => Some(name), [INFO] [stderr] 32 | | &Abstract::Struct(Struct { vis: _, ref name, ..}) => Some(name), [INFO] [stderr] 33 | | &Abstract::Enum(Enum { vis: _, ref name, ..}) => Some(name), [INFO] [stderr] 34 | | &Abstract::None => None, [INFO] [stderr] 35 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 30 | match *self { [INFO] [stderr] 31 | Abstract::Trait(Trait { vis: _, ref name, ..}) => Some(name), [INFO] [stderr] 32 | Abstract::Struct(Struct { vis: _, ref name, ..}) => Some(name), [INFO] [stderr] 33 | Abstract::Enum(Enum { vis: _, ref name, ..}) => Some(name), [INFO] [stderr] 34 | Abstract::None => None, [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/core/item/state/abstraction/mod.rs:44:9 [INFO] [stderr] | [INFO] [stderr] 44 | / match self { [INFO] [stderr] 45 | | &Abstract::Struct(Struct {vis: _, name: _, fields: ref ty_field}) => { [INFO] [stderr] 46 | | ty_field.iter() [INFO] [stderr] 47 | | .map(|&(_, _, ref ty): &'a (&'a ast::Visibility, symbol::InternedString, String)| ty) [INFO] [stderr] ... | [INFO] [stderr] 63 | | }, [INFO] [stderr] 64 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 44 | match *self { [INFO] [stderr] 45 | Abstract::Struct(Struct {vis: _, name: _, fields: ref ty_field}) => { [INFO] [stderr] 46 | ty_field.iter() [INFO] [stderr] 47 | .map(|&(_, _, ref ty): &'a (&'a ast::Visibility, symbol::InternedString, String)| ty) [INFO] [stderr] 48 | .collect::>() [INFO] [stderr] 49 | .into_iter() [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/core/item/state/abstraction/mod.rs:94:9 [INFO] [stderr] | [INFO] [stderr] 94 | / match self { [INFO] [stderr] 95 | | &Abstract::Struct(ref item) => write!(f, "{}", item), [INFO] [stderr] 96 | | &Abstract::Enum(ref item) => write!(f, "{}", item), [INFO] [stderr] 97 | | &Abstract::Trait(ref item) => write!(f, "{}", item), [INFO] [stderr] 98 | | &Abstract::None => Err(fmt::Error), [INFO] [stderr] 99 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 94 | match *self { [INFO] [stderr] 95 | Abstract::Struct(ref item) => write!(f, "{}", item), [INFO] [stderr] 96 | Abstract::Enum(ref item) => write!(f, "{}", item), [INFO] [stderr] 97 | Abstract::Trait(ref item) => write!(f, "{}", item), [INFO] [stderr] 98 | Abstract::None => Err(fmt::Error), [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/core/item/state/implem.rs:22:43 [INFO] [stderr] | [INFO] [stderr] 22 | pub fn is_realization(&self, ty_name: &String) -> bool { [INFO] [stderr] | ^^^^^^^ help: change this to: `&str` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::ptr_arg)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/core/item/state/implem.rs:30:43 [INFO] [stderr] | [INFO] [stderr] 30 | pub fn is_association(&self, ty_name: &String) -> bool { [INFO] [stderr] | ^^^^^^^ help: change this to: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/core/item/state/implem.rs:33:24 [INFO] [stderr] | [INFO] [stderr] 33 | / if let &Some(ref ret) = result { [INFO] [stderr] 34 | | ret.split(|at| "<[(;, )]>".contains(at)) [INFO] [stderr] 35 | | .any(|ty| ty.eq(ty_name)) [INFO] [stderr] 36 | | } else { [INFO] [stderr] 37 | | false [INFO] [stderr] 38 | | } [INFO] [stderr] | |________________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 33 | if let Some(ref ret) = *result { [INFO] [stderr] | ^^^^^^^^^^^^^ ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/core/item/state/implem.rs:42:36 [INFO] [stderr] | [INFO] [stderr] 42 | pub fn is_dependency(&self, _: &String) -> bool { [INFO] [stderr] | ^^^^^^^ help: change this to: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stderr] --> src/core/item/state/implem.rs:51:27 [INFO] [stderr] | [INFO] [stderr] 51 | fn from((ty, method): (Vec<(InternedString, Vec)>, Vec<(InternedString, Vec, Option)>)) -> Implem { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::type_complexity)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stderr] [INFO] [stderr] warning: `ref` on an entire `let` pattern is discouraged, take a reference with `&` instead [INFO] [stderr] --> src/core/item/state/mod.rs:42:17 [INFO] [stderr] | [INFO] [stderr] 42 | let ref ty_name: String = name.to_string(); [INFO] [stderr] | ----^^^^^^^^^^^---------------------------- help: try: `let ty_name: &String = &name.to_string();` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::toplevel_ref_arg)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#toplevel_ref_arg [INFO] [stderr] [INFO] [stderr] warning: `ref` on an entire `let` pattern is discouraged, take a reference with `&` instead [INFO] [stderr] --> src/core/item/state/mod.rs:55:17 [INFO] [stderr] | [INFO] [stderr] 55 | let ref ty_name: String = name.to_string(); [INFO] [stderr] | ----^^^^^^^^^^^---------------------------- help: try: `let ty_name: &String = &name.to_string();` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#toplevel_ref_arg [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/core/item/state/implem.rs:63:35 [INFO] [stderr] | [INFO] [stderr] 63 | / if let &Some(ref path) = parameters { [INFO] [stderr] 64 | | if let &ast::PathParameters::AngleBracketed( [INFO] [stderr] 65 | | ast::AngleBracketedParameterData { lifetimes: _, ref types, .. } [INFO] [stderr] 66 | | ) = path.deref() { [INFO] [stderr] ... | [INFO] [stderr] 72 | | (name.as_str(), Vec::new()) [INFO] [stderr] 73 | | } [INFO] [stderr] | |___________________________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 63 | if let Some(ref path) = *parameters { [INFO] [stderr] | ^^^^^^^^^^^^^^ ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/core/item/state/implem.rs:64:39 [INFO] [stderr] | [INFO] [stderr] 64 | / if let &ast::PathParameters::AngleBracketed( [INFO] [stderr] 65 | | ast::AngleBracketedParameterData { lifetimes: _, ref types, .. } [INFO] [stderr] 66 | | ) = path.deref() { [INFO] [stderr] 67 | | (name.as_str(), types.iter().map(|ty| ty_to_string(&ty)).collect::>()) [INFO] [stderr] 68 | | } else { [INFO] [stderr] 69 | | (name.as_str(), Vec::new()) [INFO] [stderr] 70 | | } [INFO] [stderr] | |_______________________________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 64 | if let ast::PathParameters::AngleBracketed( [INFO] [stderr] 65 | ast::AngleBracketedParameterData { lifetimes: _, ref types, .. } [INFO] [stderr] 66 | ) = *path.deref() { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/core/item/state/implem.rs:78:42 [INFO] [stderr] | [INFO] [stderr] 78 | / if let &ast::ImplItemKind::Method(ast::MethodSig { unsafety: _, constness: _, abi: _, ref decl, .. }, _) = node { [INFO] [stderr] 79 | | if let ast::FunctionRetTy::Ty(ref ty) = decl.output { [INFO] [stderr] 80 | | Some((name.as_str(), decl.inputs.iter().map(|arg| ty_to_string(&arg.ty)).collect::>(), Some(ty_to_string(&ty)))) [INFO] [stderr] 81 | | } else { [INFO] [stderr] ... | [INFO] [stderr] 85 | | None [INFO] [stderr] 86 | | } [INFO] [stderr] | |__________________________________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 78 | if let ast::ImplItemKind::Method(ast::MethodSig { unsafety: _, constness: _, abi: _, ref decl, .. }, _) = *node { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/core/item/state/implem.rs:96:46 [INFO] [stderr] | [INFO] [stderr] 96 | / if let &Some(ref ret) = result { [INFO] [stderr] 97 | | format!("{}{}({}) -> {}", DEFAULT_FUNC, name, args.join(", "), ret) [INFO] [stderr] 98 | | } else { [INFO] [stderr] 99 | | format!("{}{}({})", DEFAULT_FUNC, name, args.join(", ")) [INFO] [stderr] 100 | | } [INFO] [stderr] | |______________________________________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 96 | if let Some(ref ret) = *result { [INFO] [stderr] | ^^^^^^^^^^^^^ ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to both the expression and the patterns [INFO] [stderr] --> src/core/item/state/mod.rs:152:13 [INFO] [stderr] | [INFO] [stderr] 152 | / match &item.node { [INFO] [stderr] 153 | | /// Trait. [INFO] [stderr] 154 | | &ast::ItemKind::Trait(_, ast::Generics {lifetimes: _, ref ty_params, ..}, _, ref trait_item) => { [INFO] [stderr] 155 | | let kind: (&'a ast::Item, &'a Vec, &'a Vec) = (item, ty_params, trait_item); [INFO] [stderr] ... | [INFO] [stderr] 171 | | _ => None, [INFO] [stderr] 172 | | } [INFO] [stderr] | |_____________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 152 | match item.node { [INFO] [stderr] 153 | /// Trait. [INFO] [stderr] 154 | ast::ItemKind::Trait(_, ast::Generics {lifetimes: _, ref ty_params, ..}, _, ref trait_item) => { [INFO] [stderr] 155 | let kind: (&'a ast::Item, &'a Vec, &'a Vec) = (item, ty_params, trait_item); [INFO] [stderr] 156 | let kind: (Abstract, Vec<&'a ptr::P>) = (Abstract::from(kind), properties.to_vec()); [INFO] [stderr] 157 | Some(ItemState::from(kind)) [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/core/item/state/method.rs:21:43 [INFO] [stderr] | [INFO] [stderr] 21 | pub fn is_association(&self, ty_name: &String) -> bool { [INFO] [stderr] | ^^^^^^^ help: change this to: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/core/item/state/method.rs:24:22 [INFO] [stderr] | [INFO] [stderr] 24 | / if let &Some(ref ret) = result { [INFO] [stderr] 25 | | ret.split(|at| "<[(;, )]>".contains(at)) [INFO] [stderr] 26 | | .any(|ty| ty.eq(ty_name)) [INFO] [stderr] 27 | | } else { [INFO] [stderr] 28 | | false [INFO] [stderr] 29 | | } [INFO] [stderr] | |______________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 24 | if let Some(ref ret) = *result { [INFO] [stderr] | ^^^^^^^^^^^^^ ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/core/item/state/method.rs:33:39 [INFO] [stderr] | [INFO] [stderr] 33 | pub fn is_dependency(&self, name: &String) -> bool { [INFO] [stderr] | ^^^^^^^ help: change this to: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/core/item/state/method.rs:52:38 [INFO] [stderr] | [INFO] [stderr] 52 | / if let &ast::ImplItemKind::Method(ast::MethodSig {unsafety: _, constness: _, abi: _, ref decl, ..}, _) = node { [INFO] [stderr] 53 | | if let &ast::FnDecl {ref inputs, output: ast::FunctionRetTy::Ty(ref ty), ..} = decl.deref() { [INFO] [stderr] 54 | | Some((vis, name.as_str(), inputs.iter().map(|ref arg| arg_to_string(&arg)).collect::>(), Some(ty_to_string(&ty)))) [INFO] [stderr] 55 | | } else if let &ast::FnDecl {ref inputs, output: ast::FunctionRetTy::Default(_), ..} = decl.deref() { [INFO] [stderr] ... | [INFO] [stderr] 61 | | None [INFO] [stderr] 62 | | } [INFO] [stderr] | |______________________________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 52 | if let ast::ImplItemKind::Method(ast::MethodSig {unsafety: _, constness: _, abi: _, ref decl, ..}, _) = *node { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/core/item/state/method.rs:53:42 [INFO] [stderr] | [INFO] [stderr] 53 | / if let &ast::FnDecl {ref inputs, output: ast::FunctionRetTy::Ty(ref ty), ..} = decl.deref() { [INFO] [stderr] 54 | | Some((vis, name.as_str(), inputs.iter().map(|ref arg| arg_to_string(&arg)).collect::>(), Some(ty_to_string(&ty)))) [INFO] [stderr] 55 | | } else if let &ast::FnDecl {ref inputs, output: ast::FunctionRetTy::Default(_), ..} = decl.deref() { [INFO] [stderr] 56 | | Some((vis, name.as_str(), inputs.iter().map(|ref arg| arg_to_string(&arg)).collect::>(), None)) [INFO] [stderr] 57 | | } else { [INFO] [stderr] 58 | | None [INFO] [stderr] 59 | | } [INFO] [stderr] | |__________________________________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 53 | if let ast::FnDecl {ref inputs, output: ast::FunctionRetTy::Ty(ref ty), ..} = *decl.deref() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/core/item/state/method.rs:55:49 [INFO] [stderr] | [INFO] [stderr] 55 | } else if let &ast::FnDecl {ref inputs, output: ast::FunctionRetTy::Default(_), ..} = decl.deref() { [INFO] [stderr] | _________________________________________________^ [INFO] [stderr] 56 | | Some((vis, name.as_str(), inputs.iter().map(|ref arg| arg_to_string(&arg)).collect::>(), None)) [INFO] [stderr] 57 | | } else { [INFO] [stderr] 58 | | None [INFO] [stderr] 59 | | } [INFO] [stderr] | |__________________________________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 55 | } else if let ast::FnDecl {ref inputs, output: ast::FunctionRetTy::Default(_), ..} = *decl.deref() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: useless use of `format!` [INFO] [stderr] --> src/core/mod.rs:58:44 [INFO] [stderr] | [INFO] [stderr] 58 | Some(LabelText::LabelStr(Cow::from(format!("record")))) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: consider using .to_string(): `"record".to_string()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::useless_format)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stderr] [INFO] [stderr] warning: `ref` directly on a function argument is ignored. Consider using a reference type instead. [INFO] [stderr] --> src/core/mod.rs:65:33 [INFO] [stderr] | [INFO] [stderr] 65 | fn edge_end_arrow(&'a self, ref seg: &Segment<'a>) -> Arrow { [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#toplevel_ref_arg [INFO] [stderr] [INFO] [stderr] warning: `ref` directly on a function argument is ignored. Consider using a reference type instead. [INFO] [stderr] --> src/core/mod.rs:75:29 [INFO] [stderr] | [INFO] [stderr] 75 | fn edge_style(&'a self, ref seg: &Segment<'a>) -> Style { [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#toplevel_ref_arg [INFO] [stderr] [INFO] [stderr] warning: `ref` on an entire `let` pattern is discouraged, take a reference with `&` instead [INFO] [stderr] --> src/core/item/state/mod.rs:42:17 [INFO] [stderr] | [INFO] [stderr] 42 | let ref ty_name: String = name.to_string(); [INFO] [stderr] | ----^^^^^^^^^^^---------------------------- help: try: `let ty_name: &String = &name.to_string();` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::toplevel_ref_arg)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#toplevel_ref_arg [INFO] [stderr] [INFO] [stderr] warning: `ref` on an entire `let` pattern is discouraged, take a reference with `&` instead [INFO] [stderr] --> src/core/item/state/mod.rs:55:17 [INFO] [stderr] | [INFO] [stderr] 55 | let ref ty_name: String = name.to_string(); [INFO] [stderr] | ----^^^^^^^^^^^---------------------------- help: try: `let ty_name: &String = &name.to_string();` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#toplevel_ref_arg [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to both the expression and the patterns [INFO] [stderr] --> src/core/item/state/mod.rs:152:13 [INFO] [stderr] | [INFO] [stderr] 152 | / match &item.node { [INFO] [stderr] 153 | | /// Trait. [INFO] [stderr] 154 | | &ast::ItemKind::Trait(_, ast::Generics {lifetimes: _, ref ty_params, ..}, _, ref trait_item) => { [INFO] [stderr] 155 | | let kind: (&'a ast::Item, &'a Vec, &'a Vec) = (item, ty_params, trait_item); [INFO] [stderr] ... | [INFO] [stderr] 171 | | _ => None, [INFO] [stderr] 172 | | } [INFO] [stderr] | |_____________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 152 | match item.node { [INFO] [stderr] 153 | /// Trait. [INFO] [stderr] 154 | ast::ItemKind::Trait(_, ast::Generics {lifetimes: _, ref ty_params, ..}, _, ref trait_item) => { [INFO] [stderr] 155 | let kind: (&'a ast::Item, &'a Vec, &'a Vec) = (item, ty_params, trait_item); [INFO] [stderr] 156 | let kind: (Abstract, Vec<&'a ptr::P>) = (Abstract::from(kind), properties.to_vec()); [INFO] [stderr] 157 | Some(ItemState::from(kind)) [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: redundant closure found [INFO] [stderr] --> src/lib.rs:140:27 [INFO] [stderr] | [INFO] [stderr] 140 | rs2dot(path).and_then(|buf| content2svg(buf)) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: remove closure as shown: `content2svg` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::redundant_closure)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure [INFO] [stderr] [INFO] [stderr] warning: redundant closure found [INFO] [stderr] --> src/lib.rs:154:28 [INFO] [stderr] | [INFO] [stderr] 154 | src2dot(path).and_then(|buf| content2svg(buf)) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: remove closure as shown: `content2svg` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure [INFO] [stderr] [INFO] [stderr] warning: this let-binding has unit value. Consider omitting `let _ =` [INFO] [stderr] --> src/lib.rs:168:5 [INFO] [stderr] | [INFO] [stderr] 168 | let _ = fs::create_dir_all(dest.as_ref())?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::let_unit_value)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_unit_value [INFO] [stderr] [INFO] [stderr] warning: this let-binding has unit value. Consider omitting `let _ =` [INFO] [stderr] --> src/lib.rs:173:5 [INFO] [stderr] | [INFO] [stderr] 173 | let _ = file_dot.write_all(content_dot.as_slice())?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_unit_value [INFO] [stderr] [INFO] [stderr] warning: this let-binding has unit value. Consider omitting `let _ =` [INFO] [stderr] --> src/lib.rs:176:5 [INFO] [stderr] | [INFO] [stderr] 176 | let _ = file_svg.write_all(content_svg.as_slice())?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_unit_value [INFO] [stderr] [INFO] [stderr] warning: useless use of `format!` [INFO] [stderr] --> src/core/mod.rs:58:44 [INFO] [stderr] | [INFO] [stderr] 58 | Some(LabelText::LabelStr(Cow::from(format!("record")))) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: consider using .to_string(): `"record".to_string()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::useless_format)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stderr] [INFO] [stderr] warning: `ref` directly on a function argument is ignored. Consider using a reference type instead. [INFO] [stderr] --> src/core/mod.rs:65:33 [INFO] [stderr] | [INFO] [stderr] 65 | fn edge_end_arrow(&'a self, ref seg: &Segment<'a>) -> Arrow { [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#toplevel_ref_arg [INFO] [stderr] [INFO] [stderr] warning: `ref` directly on a function argument is ignored. Consider using a reference type instead. [INFO] [stderr] --> src/core/mod.rs:75:29 [INFO] [stderr] | [INFO] [stderr] 75 | fn edge_style(&'a self, ref seg: &Segment<'a>) -> Style { [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#toplevel_ref_arg [INFO] [stderr] [INFO] [stderr] warning: redundant closure found [INFO] [stderr] --> src/lib.rs:140:27 [INFO] [stderr] | [INFO] [stderr] 140 | rs2dot(path).and_then(|buf| content2svg(buf)) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: remove closure as shown: `content2svg` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::redundant_closure)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure [INFO] [stderr] [INFO] [stderr] warning: redundant closure found [INFO] [stderr] --> src/lib.rs:154:28 [INFO] [stderr] | [INFO] [stderr] 154 | src2dot(path).and_then(|buf| content2svg(buf)) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: remove closure as shown: `content2svg` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure [INFO] [stderr] [INFO] [stderr] warning: this let-binding has unit value. Consider omitting `let _ =` [INFO] [stderr] --> src/lib.rs:168:5 [INFO] [stderr] | [INFO] [stderr] 168 | let _ = fs::create_dir_all(dest.as_ref())?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::let_unit_value)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_unit_value [INFO] [stderr] [INFO] [stderr] warning: this let-binding has unit value. Consider omitting `let _ =` [INFO] [stderr] --> src/lib.rs:173:5 [INFO] [stderr] | [INFO] [stderr] 173 | let _ = file_dot.write_all(content_dot.as_slice())?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_unit_value [INFO] [stderr] [INFO] [stderr] warning: this let-binding has unit value. Consider omitting `let _ =` [INFO] [stderr] --> src/lib.rs:176:5 [INFO] [stderr] | [INFO] [stderr] 176 | let _ = file_svg.write_all(content_svg.as_slice())?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_unit_value [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> tests/realization.rs:14:13 [INFO] [stderr] | [INFO] [stderr] 14 | a: a, [INFO] [stderr] | ^^^^ help: replace it with: `a` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::redundant_field_names)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 6.70s [INFO] running `"docker" "inspect" "120b6213d9bcf1bc7a2525eb47ad72c7ead363fb52e0914cbaf95c1aa2dd5074"` [INFO] running `"docker" "rm" "-f" "120b6213d9bcf1bc7a2525eb47ad72c7ead363fb52e0914cbaf95c1aa2dd5074"` [INFO] [stdout] 120b6213d9bcf1bc7a2525eb47ad72c7ead363fb52e0914cbaf95c1aa2dd5074