[INFO] fetching crate pgx-sql-entity-graph 0.7.4... [INFO] linting pgx-sql-entity-graph-0.7.4 against nightly for clippy-nonminimal_bool-denied [INFO] extracting crate pgx-sql-entity-graph 0.7.4 into /workspace/builds/worker-1-tc1/source [INFO] started tweaking crates.io crate pgx-sql-entity-graph 0.7.4 [INFO] finished tweaking crates.io crate pgx-sql-entity-graph 0.7.4 [INFO] tweaked toml for crates.io crate pgx-sql-entity-graph 0.7.4 written to /workspace/builds/worker-1-tc1/source/Cargo.toml [INFO] validating manifest of crates.io crate pgx-sql-entity-graph 0.7.4 on toolchain nightly [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+nightly" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+nightly" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Locking 63 packages to latest compatible versions [INFO] [stderr] Adding convert_case v0.6.0 (available: v0.11.0) [INFO] [stderr] Adding owo-colors v3.5.0 (available: v4.3.0) [INFO] [stderr] Adding petgraph v0.6.5 (available: v0.8.3) [INFO] [stderr] Adding syn v1.0.109 (available: v2.0.117) [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+nightly" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded unescape v0.1.0 [INFO] [stderr] Downloaded owo-colors v3.5.0 [INFO] [stderr] Downloaded plist v1.8.0 [INFO] [stderr] Downloaded quick-xml v0.38.4 [INFO] [stderr] Downloaded fancy-regex v0.16.2 [INFO] [stderr] Downloaded syntect v5.3.0 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+nightly" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] e5b59b9db8cb315d2c97dc8d025201e1630d67c082e72afc75dfed5d4b5f071e [INFO] running `Command { std: "docker" "start" "-a" "e5b59b9db8cb315d2c97dc8d025201e1630d67c082e72afc75dfed5d4b5f071e", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "e5b59b9db8cb315d2c97dc8d025201e1630d67c082e72afc75dfed5d4b5f071e", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "e5b59b9db8cb315d2c97dc8d025201e1630d67c082e72afc75dfed5d4b5f071e", kill_on_drop: false }` [INFO] [stdout] e5b59b9db8cb315d2c97dc8d025201e1630d67c082e72afc75dfed5d4b5f071e [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+nightly" "clippy" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 7b07d1bc29c71193233dde17b96baadd7008078346f38109bd94c68cf77fd7d4 [INFO] running `Command { std: "docker" "start" "-a" "7b07d1bc29c71193233dde17b96baadd7008078346f38109bd94c68cf77fd7d4", kill_on_drop: false }` [INFO] [stderr] Compiling proc-macro2 v1.0.106 [INFO] [stderr] Compiling syn v1.0.109 [INFO] [stderr] Checking fixedbitset v0.4.2 [INFO] [stderr] Checking unescape v0.1.0 [INFO] [stderr] Checking eyre v0.6.12 [INFO] [stderr] Checking petgraph v0.6.5 [INFO] [stderr] Checking quote v1.0.45 [INFO] [stderr] Checking pgx-sql-entity-graph v0.7.4 (/opt/rustwide/workdir) [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/aggregate/mod.rs:543:13 [INFO] [stdout] | [INFO] [stdout] 543 | type_stype: type_stype, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `type_stype` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] = note: `#[warn(clippy::redundant_field_names)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/aggregate/mod.rs:543:13 [INFO] [stdout] | [INFO] [stdout] 543 | type_stype: type_stype, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `type_stype` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] = note: `#[warn(clippy::redundant_field_names)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/pgx_sql.rs:231:13 [INFO] [stdout] | [INFO] [stdout] 231 | control: control, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: replace it with: `control` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/pgx_sql.rs:242:13 [INFO] [stdout] | [INFO] [stdout] 242 | graph: graph, [INFO] [stdout] | ^^^^^^^^^^^^ help: replace it with: `graph` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/pgx_sql.rs:246:13 [INFO] [stdout] | [INFO] [stdout] 246 | extension_name: extension_name, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `extension_name` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/pgx_sql.rs:231:13 [INFO] [stdout] | [INFO] [stdout] 231 | control: control, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: replace it with: `control` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/pgx_sql.rs:242:13 [INFO] [stdout] | [INFO] [stdout] 242 | graph: graph, [INFO] [stdout] | ^^^^^^^^^^^^ help: replace it with: `graph` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/pgx_sql.rs:246:13 [INFO] [stdout] | [INFO] [stdout] 246 | extension_name: extension_name, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `extension_name` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/pgx_attribute.rs:45:10 [INFO] [stdout] | [INFO] [stdout] 45 | Path(syn::Path), [INFO] [stdout] | ---- ^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 45 - Path(syn::Path), [INFO] [stdout] 45 + Path(()), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/pgx_attribute.rs:46:10 [INFO] [stdout] | [INFO] [stdout] 46 | List(syn::MetaList), [INFO] [stdout] | ---- ^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 46 - List(syn::MetaList), [INFO] [stdout] 46 + List(()), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `eq_token` is never read [INFO] [stdout] --> src/pgx_attribute.rs:75:9 [INFO] [stdout] | [INFO] [stdout] 73 | pub struct NameValueArg { [INFO] [stdout] | ------------ field in this struct [INFO] [stdout] 74 | pub path: syn::Path, [INFO] [stdout] 75 | pub eq_token: syn::token::Eq, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc quote line without `>` marker [INFO] [stdout] --> src/lib.rs:14:1 [INFO] [stdout] | [INFO] [stdout] 14 | to the `pgx` framework and very subject to change between versions. While you may use this, please do it with caution. [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: if this not intended to be a quote at all, escape it with `\>` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation [INFO] [stdout] = note: `#[warn(clippy::doc_lazy_continuation)]` on by default [INFO] [stdout] help: add markers to start of line [INFO] [stdout] | [INFO] [stdout] 14 | > to the `pgx` framework and very subject to change between versions. While you may use this, please do it with caution. [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc quote line without `>` marker [INFO] [stdout] --> src/aggregate/mod.rs:14:1 [INFO] [stdout] | [INFO] [stdout] 14 | to the `pgx` framework and very subject to change between versions. While you may use this, please do it with caution. [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: if this not intended to be a quote at all, escape it with `\>` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation [INFO] [stdout] help: add markers to start of line [INFO] [stdout] | [INFO] [stdout] 14 | > to the `pgx` framework and very subject to change between versions. While you may use this, please do it with caution. [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc quote line without `>` marker [INFO] [stdout] --> src/aggregate/aggregate_type.rs:14:1 [INFO] [stdout] | [INFO] [stdout] 14 | to the `pgx` framework and very subject to change between versions. While you may use this, please do it with caution. [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: if this not intended to be a quote at all, escape it with `\>` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation [INFO] [stdout] help: add markers to start of line [INFO] [stdout] | [INFO] [stdout] 14 | > to the `pgx` framework and very subject to change between versions. While you may use this, please do it with caution. [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc quote line without `>` marker [INFO] [stdout] --> src/aggregate/entity.rs:14:1 [INFO] [stdout] | [INFO] [stdout] 14 | to the `pgx` framework and very subject to change between versions. While you may use this, please do it with caution. [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: if this not intended to be a quote at all, escape it with `\>` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation [INFO] [stdout] help: add markers to start of line [INFO] [stdout] | [INFO] [stdout] 14 | > to the `pgx` framework and very subject to change between versions. While you may use this, please do it with caution. [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/aggregate/entity.rs:284:29 [INFO] [stdout] | [INFO] [stdout] 284 | None => return Err(err).wrap_err("While mapping argument"), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] = note: `#[warn(clippy::needless_return)]` on by default [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 284 - None => return Err(err).wrap_err("While mapping argument"), [INFO] [stdout] 284 + None => Err(err).wrap_err("While mapping argument"), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/aggregate/entity.rs:266:76 [INFO] [stdout] | [INFO] [stdout] 266 | .map(|v| if array_brackets { format!("{v}[]") } else { format!("{v}") }) [INFO] [stdout] | ^^^^^^^^^^^^^^ help: consider using `.to_string()`: `v.to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] = note: `#[warn(clippy::useless_format)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/aggregate/entity.rs:273:80 [INFO] [stdout] | [INFO] [stdout] 273 | .map(|v| if array_brackets { format!("{v}[]") } else { format!("{v}") }) [INFO] [stdout] | ^^^^^^^^^^^^^^ help: consider using `.to_string()`: `v.to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/aggregate/entity.rs:307:37 [INFO] [stdout] | [INFO] [stdout] 307 | let mstype_sql = map_ty(&value).wrap_err("Mapping moving state type")?; [INFO] [stdout] | ^^^^^^ help: change this to: `value` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] = note: `#[warn(clippy::needless_borrow)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: length comparison to zero [INFO] [stdout] --> src/aggregate/entity.rs:346:42 [INFO] [stdout] | [INFO] [stdout] 346 | maybe_comma_after_stype = if optional_attributes.len() == 0 { "" } else { "," }, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `optional_attributes.is_empty()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stdout] = note: `#[warn(clippy::len_zero)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: taken reference of right operand [INFO] [stdout] --> src/aggregate/entity.rs:357:33 [INFO] [stdout] | [INFO] [stdout] 357 | ... defined == &arg.used_ty.full_path [INFO] [stdout] | ^^^^^^^^^^^---------------------- [INFO] [stdout] | | [INFO] [stdout] | help: use the right value directly: `arg.used_ty.full_path` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stdout] = note: `#[warn(clippy::op_ref)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/aggregate/entity.rs:383:49 [INFO] [stdout] | [INFO] [stdout] 383 | ... format!("{v}") [INFO] [stdout] | ^^^^^^^^^^^^^^ help: consider using `.to_string()`: `v.to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/aggregate/entity.rs:401:49 [INFO] [stdout] | [INFO] [stdout] 401 | ... format!("{v}") [INFO] [stdout] | ^^^^^^^^^^^^^^ help: consider using `.to_string()`: `v.to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: taken reference of right operand [INFO] [stdout] --> src/aggregate/entity.rs:442:33 [INFO] [stdout] | [INFO] [stdout] 442 | ... defined == &arg.used_ty.full_path [INFO] [stdout] | ^^^^^^^^^^^---------------------- [INFO] [stdout] | | [INFO] [stdout] | help: use the right value directly: `arg.used_ty.full_path` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: length comparison to zero [INFO] [stdout] --> src/aggregate/entity.rs:472:22 [INFO] [stdout] | [INFO] [stdout] 472 | + if optional_attributes.len() == 0 { "" } else { "\n" }, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `optional_attributes.is_empty()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc quote line without `>` marker [INFO] [stdout] --> src/aggregate/options.rs:14:1 [INFO] [stdout] | [INFO] [stdout] 14 | to the `pgx` framework and very subject to change between versions. While you may use this, please do it with caution. [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: if this not intended to be a quote at all, escape it with `\>` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation [INFO] [stdout] help: add markers to start of line [INFO] [stdout] | [INFO] [stdout] 14 | > to the `pgx` framework and very subject to change between versions. While you may use this, please do it with caution. [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this creates an owned instance just for comparison [INFO] [stdout] --> src/aggregate/mod.rs:128:20 [INFO] [stdout] | [INFO] [stdout] 128 | if last.ident.to_string() != "Aggregate" { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: try: `last.ident` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cmp_owned [INFO] [stdout] = note: `#[warn(clippy::cmp_owned)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: length comparison to zero [INFO] [stdout] --> src/aggregate/mod.rs:348:16 [INFO] [stdout] | [INFO] [stdout] 348 | if direct_args_with_names.len() > 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: using `!is_empty` is clearer and more explicit: `!direct_args_with_names.is_empty()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/pgx_attribute.rs:45:10 [INFO] [stdout] | [INFO] [stdout] 45 | Path(syn::Path), [INFO] [stdout] | ---- ^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 45 - Path(syn::Path), [INFO] [stdout] 45 + Path(()), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/pgx_attribute.rs:46:10 [INFO] [stdout] | [INFO] [stdout] 46 | List(syn::MetaList), [INFO] [stdout] | ---- ^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 46 - List(syn::MetaList), [INFO] [stdout] 46 + List(()), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `eq_token` is never read [INFO] [stdout] --> src/pgx_attribute.rs:75:9 [INFO] [stdout] | [INFO] [stdout] 73 | pub struct NameValueArg { [INFO] [stdout] | ------------ field in this struct [INFO] [stdout] 74 | pub path: syn::Path, [INFO] [stdout] 75 | pub eq_token: syn::token::Eq, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc quote line without `>` marker [INFO] [stdout] --> src/lib.rs:14:1 [INFO] [stdout] | [INFO] [stdout] 14 | to the `pgx` framework and very subject to change between versions. While you may use this, please do it with caution. [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: if this not intended to be a quote at all, escape it with `\>` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation [INFO] [stdout] = note: `#[warn(clippy::doc_lazy_continuation)]` on by default [INFO] [stdout] help: add markers to start of line [INFO] [stdout] | [INFO] [stdout] 14 | > to the `pgx` framework and very subject to change between versions. While you may use this, please do it with caution. [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc quote line without `>` marker [INFO] [stdout] --> src/aggregate/mod.rs:14:1 [INFO] [stdout] | [INFO] [stdout] 14 | to the `pgx` framework and very subject to change between versions. While you may use this, please do it with caution. [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: if this not intended to be a quote at all, escape it with `\>` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation [INFO] [stdout] help: add markers to start of line [INFO] [stdout] | [INFO] [stdout] 14 | > to the `pgx` framework and very subject to change between versions. While you may use this, please do it with caution. [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc quote line without `>` marker [INFO] [stdout] --> src/aggregate/aggregate_type.rs:14:1 [INFO] [stdout] | [INFO] [stdout] 14 | to the `pgx` framework and very subject to change between versions. While you may use this, please do it with caution. [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: if this not intended to be a quote at all, escape it with `\>` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation [INFO] [stdout] help: add markers to start of line [INFO] [stdout] | [INFO] [stdout] 14 | > to the `pgx` framework and very subject to change between versions. While you may use this, please do it with caution. [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: length comparison to zero [INFO] [stdout] --> src/aggregate/mod.rs:513:20 [INFO] [stdout] | [INFO] [stdout] 513 | if direct_args_with_names.len() > 0 { Some(parse_quote! {,}) } else { None }; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: using `!is_empty` is clearer and more explicit: `!direct_args_with_names.is_empty()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc quote line without `>` marker [INFO] [stdout] --> src/aggregate/entity.rs:14:1 [INFO] [stdout] | [INFO] [stdout] 14 | to the `pgx` framework and very subject to change between versions. While you may use this, please do it with caution. [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: if this not intended to be a quote at all, escape it with `\>` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation [INFO] [stdout] help: add markers to start of line [INFO] [stdout] | [INFO] [stdout] 14 | > to the `pgx` framework and very subject to change between versions. While you may use this, please do it with caution. [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/aggregate/entity.rs:284:29 [INFO] [stdout] | [INFO] [stdout] 284 | None => return Err(err).wrap_err("While mapping argument"), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] = note: `#[warn(clippy::needless_return)]` on by default [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 284 - None => return Err(err).wrap_err("While mapping argument"), [INFO] [stdout] 284 + None => Err(err).wrap_err("While mapping argument"), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/aggregate/entity.rs:266:76 [INFO] [stdout] | [INFO] [stdout] 266 | .map(|v| if array_brackets { format!("{v}[]") } else { format!("{v}") }) [INFO] [stdout] | ^^^^^^^^^^^^^^ help: consider using `.to_string()`: `v.to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] = note: `#[warn(clippy::useless_format)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/aggregate/entity.rs:273:80 [INFO] [stdout] | [INFO] [stdout] 273 | .map(|v| if array_brackets { format!("{v}[]") } else { format!("{v}") }) [INFO] [stdout] | ^^^^^^^^^^^^^^ help: consider using `.to_string()`: `v.to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/aggregate/entity.rs:307:37 [INFO] [stdout] | [INFO] [stdout] 307 | let mstype_sql = map_ty(&value).wrap_err("Mapping moving state type")?; [INFO] [stdout] | ^^^^^^ help: change this to: `value` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] = note: `#[warn(clippy::needless_borrow)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: length comparison to zero [INFO] [stdout] --> src/aggregate/entity.rs:346:42 [INFO] [stdout] | [INFO] [stdout] 346 | maybe_comma_after_stype = if optional_attributes.len() == 0 { "" } else { "," }, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `optional_attributes.is_empty()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stdout] = note: `#[warn(clippy::len_zero)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: taken reference of right operand [INFO] [stdout] --> src/aggregate/entity.rs:357:33 [INFO] [stdout] | [INFO] [stdout] 357 | ... defined == &arg.used_ty.full_path [INFO] [stdout] | ^^^^^^^^^^^---------------------- [INFO] [stdout] | | [INFO] [stdout] | help: use the right value directly: `arg.used_ty.full_path` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stdout] = note: `#[warn(clippy::op_ref)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/aggregate/entity.rs:383:49 [INFO] [stdout] | [INFO] [stdout] 383 | ... format!("{v}") [INFO] [stdout] | ^^^^^^^^^^^^^^ help: consider using `.to_string()`: `v.to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this creates an owned instance just for comparison [INFO] [stdout] --> src/aggregate/mod.rs:708:16 [INFO] [stdout] | [INFO] [stdout] 708 | if last_segment.ident.to_string() == "PgVarlena" { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `last_segment.ident` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cmp_owned [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/aggregate/entity.rs:401:49 [INFO] [stdout] | [INFO] [stdout] 401 | ... format!("{v}") [INFO] [stdout] | ^^^^^^^^^^^^^^ help: consider using `.to_string()`: `v.to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this creates an owned instance just for comparison [INFO] [stdout] --> src/aggregate/mod.rs:746:30 [INFO] [stdout] | [INFO] [stdout] 746 | Some(segment) if segment.ident.to_string() == "pgx" => { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `segment.ident` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cmp_owned [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: taken reference of right operand [INFO] [stdout] --> src/aggregate/entity.rs:442:33 [INFO] [stdout] | [INFO] [stdout] 442 | ... defined == &arg.used_ty.full_path [INFO] [stdout] | ^^^^^^^^^^^---------------------- [INFO] [stdout] | | [INFO] [stdout] | help: use the right value directly: `arg.used_ty.full_path` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you seem to be trying to use `match` for destructuring a single pattern. Consider using `if let` [INFO] [stdout] --> src/aggregate/mod.rs:766:9 [INFO] [stdout] | [INFO] [stdout] 766 | / match impl_item { [INFO] [stdout] 767 | | syn::ImplItem::Type(impl_item_type) => { [INFO] [stdout] 768 | | let ident_string = impl_item_type.ident.to_string(); [INFO] [stdout] 769 | | if ident_string == name { [INFO] [stdout] ... | [INFO] [stdout] 773 | | _ => (), [INFO] [stdout] 774 | | } [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stdout] = note: `#[warn(clippy::single_match)]` on by default [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 766 ~ if let syn::ImplItem::Type(impl_item_type) = impl_item { [INFO] [stdout] 767 + let ident_string = impl_item_type.ident.to_string(); [INFO] [stdout] 768 + if ident_string == name { [INFO] [stdout] 769 + needle = Some(impl_item_type); [INFO] [stdout] 770 + } [INFO] [stdout] 771 + } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you seem to be trying to use `match` for destructuring a single pattern. Consider using `if let` [INFO] [stdout] --> src/aggregate/mod.rs:782:9 [INFO] [stdout] | [INFO] [stdout] 782 | / match impl_item { [INFO] [stdout] 783 | | syn::ImplItem::Method(impl_item_method) => { [INFO] [stdout] 784 | | let ident_string = impl_item_method.sig.ident.to_string(); [INFO] [stdout] 785 | | if ident_string == name { [INFO] [stdout] ... | [INFO] [stdout] 789 | | _ => (), [INFO] [stdout] 790 | | } [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 782 ~ if let syn::ImplItem::Method(impl_item_method) = impl_item { [INFO] [stdout] 783 + let ident_string = impl_item_method.sig.ident.to_string(); [INFO] [stdout] 784 + if ident_string == name { [INFO] [stdout] 785 + needle = Some(impl_item_method); [INFO] [stdout] 786 + } [INFO] [stdout] 787 + } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you seem to be trying to use `match` for destructuring a single pattern. Consider using `if let` [INFO] [stdout] --> src/aggregate/mod.rs:798:9 [INFO] [stdout] | [INFO] [stdout] 798 | / match impl_item { [INFO] [stdout] 799 | | syn::ImplItem::Const(impl_item_const) => { [INFO] [stdout] 800 | | let ident_string = impl_item_const.ident.to_string(); [INFO] [stdout] 801 | | if ident_string == name { [INFO] [stdout] ... | [INFO] [stdout] 805 | | _ => (), [INFO] [stdout] 806 | | } [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 798 ~ if let syn::ImplItem::Const(impl_item_const) = impl_item { [INFO] [stdout] 799 + let ident_string = impl_item_const.ident.to_string(); [INFO] [stdout] 800 + if ident_string == name { [INFO] [stdout] 801 + needle = Some(impl_item_const); [INFO] [stdout] 802 + } [INFO] [stdout] 803 + } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: length comparison to zero [INFO] [stdout] --> src/aggregate/entity.rs:472:22 [INFO] [stdout] | [INFO] [stdout] 472 | + if optional_attributes.len() == 0 { "" } else { "\n" }, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `optional_attributes.is_empty()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the following explicit lifetimes could be elided: 'a [INFO] [stdout] --> src/aggregate/mod.rs:811:22 [INFO] [stdout] | [INFO] [stdout] 811 | fn get_const_litbool<'a>(item: &'a ImplItemConst) -> Option { [INFO] [stdout] | ^^ ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stdout] = note: `#[warn(clippy::needless_lifetimes)]` on by default [INFO] [stdout] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 811 - fn get_const_litbool<'a>(item: &'a ImplItemConst) -> Option { [INFO] [stdout] 811 + fn get_const_litbool(item: &ImplItemConst) -> Option { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the following explicit lifetimes could be elided: 'a [INFO] [stdout] --> src/aggregate/mod.rs:821:21 [INFO] [stdout] | [INFO] [stdout] 821 | fn get_const_litstr<'a>(item: &'a ImplItemConst) -> syn::Result> { [INFO] [stdout] | ^^ ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stdout] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 821 - fn get_const_litstr<'a>(item: &'a ImplItemConst) -> syn::Result> { [INFO] [stdout] 821 + fn get_const_litstr(item: &ImplItemConst) -> syn::Result> { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc quote line without `>` marker [INFO] [stdout] --> src/aggregate/options.rs:14:1 [INFO] [stdout] | [INFO] [stdout] 14 | to the `pgx` framework and very subject to change between versions. While you may use this, please do it with caution. [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: if this not intended to be a quote at all, escape it with `\>` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation [INFO] [stdout] help: add markers to start of line [INFO] [stdout] | [INFO] [stdout] 14 | > to the `pgx` framework and very subject to change between versions. While you may use this, please do it with caution. [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this creates an owned instance just for comparison [INFO] [stdout] --> src/aggregate/mod.rs:832:20 [INFO] [stdout] | [INFO] [stdout] 832 | if last.ident.to_string() == "Some" { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: try: `last.ident` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cmp_owned [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you seem to be trying to use `match` for destructuring a single pattern. Consider using `if let` [INFO] [stdout] --> src/aggregate/mod.rs:851:5 [INFO] [stdout] | [INFO] [stdout] 851 | / match ty { [INFO] [stdout] 852 | | Type::Path(ref mut ty_path) => { [INFO] [stdout] 853 | | for segment in ty_path.path.segments.iter_mut() { [INFO] [stdout] 854 | | if segment.ident.to_string() == "Self" { [INFO] [stdout] ... | [INFO] [stdout] 874 | | _ => (), [INFO] [stdout] 875 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 851 ~ if let Type::Path(ref mut ty_path) = ty { [INFO] [stdout] 852 + for segment in ty_path.path.segments.iter_mut() { [INFO] [stdout] 853 + if segment.ident.to_string() == "Self" { [INFO] [stdout] 854 + segment.ident = target.clone() [INFO] [stdout] 855 + } [INFO] [stdout] 856 + use syn::{GenericArgument, PathArguments}; [INFO] [stdout] 857 + match segment.arguments { [INFO] [stdout] 858 + PathArguments::AngleBracketed(ref mut angle_args) => { [INFO] [stdout] 859 + for arg in angle_args.args.iter_mut() { [INFO] [stdout] 860 + match arg { [INFO] [stdout] 861 + GenericArgument::Type(inner_ty) => { [INFO] [stdout] 862 + remap_self_to_target(inner_ty, target) [INFO] [stdout] 863 + } [INFO] [stdout] 864 + _ => (), [INFO] [stdout] 865 + } [INFO] [stdout] 866 + } [INFO] [stdout] 867 + } [INFO] [stdout] 868 + PathArguments::Parenthesized(_) => (), [INFO] [stdout] 869 + PathArguments::None => (), [INFO] [stdout] 870 + } [INFO] [stdout] 871 + } [INFO] [stdout] 872 + } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this creates an owned instance just for comparison [INFO] [stdout] --> src/aggregate/mod.rs:854:20 [INFO] [stdout] | [INFO] [stdout] 854 | if segment.ident.to_string() == "Self" { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `segment.ident` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cmp_owned [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you seem to be trying to use `match` for destructuring a single pattern. Consider using `if let` [INFO] [stdout] --> src/aggregate/mod.rs:861:29 [INFO] [stdout] | [INFO] [stdout] 861 | / ... match arg { [INFO] [stdout] 862 | | ... GenericArgument::Type(inner_ty) => { [INFO] [stdout] 863 | | ... remap_self_to_target(inner_ty, target) [INFO] [stdout] ... | [INFO] [stdout] 866 | | ... } [INFO] [stdout] | |_______________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 861 ~ if let GenericArgument::Type(inner_ty) = arg { [INFO] [stdout] 862 + remap_self_to_target(inner_ty, target) [INFO] [stdout] 863 + } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/aggregate/mod.rs:891:16 [INFO] [stdout] | [INFO] [stdout] 891 | if (ty_macro.mac.path.segments.len() == 1 && found_attr) || (found_pgx && found_attr) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] = note: `#[warn(clippy::nonminimal_bool)]` on by default [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 891 - if (ty_macro.mac.path.segments.len() == 1 && found_attr) || (found_pgx && found_attr) { [INFO] [stdout] 891 + if !(!found_attr || ty_macro.mac.path.segments.len() != 1 && !found_pgx) { [INFO] [stdout] | [INFO] [stdout] 891 - if (ty_macro.mac.path.segments.len() == 1 && found_attr) || (found_pgx && found_attr) { [INFO] [stdout] 891 + if (found_pgx || ty_macro.mac.path.segments.len() == 1) && found_attr { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this creates an owned instance just for comparison [INFO] [stdout] --> src/aggregate/mod.rs:128:20 [INFO] [stdout] | [INFO] [stdout] 128 | if last.ident.to_string() != "Aggregate" { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: try: `last.ident` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cmp_owned [INFO] [stdout] = note: `#[warn(clippy::cmp_owned)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc quote line without `>` marker [INFO] [stdout] --> src/control_file.rs:14:1 [INFO] [stdout] | [INFO] [stdout] 14 | to the `pgx` framework and very subject to change between versions. While you may use this, please do it with caution. [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: if this not intended to be a quote at all, escape it with `\>` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation [INFO] [stdout] help: add markers to start of line [INFO] [stdout] | [INFO] [stdout] 14 | > to the `pgx` framework and very subject to change between versions. While you may use this, please do it with caution. [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `from_str` can be confused for the standard trait method `std::str::FromStr::from_str` [INFO] [stdout] --> src/control_file.rs:53:5 [INFO] [stdout] | [INFO] [stdout] 53 | / pub fn from_str(input: &str) -> Result { [INFO] [stdout] 54 | | let mut temp = HashMap::new(); [INFO] [stdout] 55 | | for line in input.lines() { [INFO] [stdout] 56 | | let parts: Vec<&str> = line.split('=').collect(); [INFO] [stdout] ... | [INFO] [stdout] 88 | | }) [INFO] [stdout] 89 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = help: consider implementing the trait `std::str::FromStr` or choosing a less ambiguous method name [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#should_implement_trait [INFO] [stdout] = note: `#[warn(clippy::should_implement_trait)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: length comparison to zero [INFO] [stdout] --> src/aggregate/mod.rs:348:16 [INFO] [stdout] | [INFO] [stdout] 348 | if direct_args_with_names.len() > 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: using `!is_empty` is clearer and more explicit: `!direct_args_with_names.is_empty()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: accessing first element with `parts.get(0)` [INFO] [stdout] --> src/control_file.rs:62:27 [INFO] [stdout] | [INFO] [stdout] 62 | let (k, v) = (parts.get(0).unwrap().trim(), parts.get(1).unwrap().trim()); [INFO] [stdout] | ^^^^^^^^^^^^ help: try: `parts.first()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_first [INFO] [stdout] = note: `#[warn(clippy::get_first)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/control_file.rs:127:19 [INFO] [stdout] | [INFO] [stdout] 127 | let sql = format!( [INFO] [stdout] | ___________________^ [INFO] [stdout] 128 | | "\ [INFO] [stdout] 129 | | /* \n\ [INFO] [stdout] 130 | | This file is auto generated by pgx.\n\ [INFO] [stdout] ... | [INFO] [stdout] 134 | | " [INFO] [stdout] 135 | | ); [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] help: consider using `.to_string()` [INFO] [stdout] | [INFO] [stdout] 127 ~ let sql = "\ [INFO] [stdout] 128 + /* \n\ [INFO] [stdout] 129 + This file is auto generated by pgx.\n\ [INFO] [stdout] 130 + \n\ [INFO] [stdout] 131 + The ordering of items is not stable, it is driven by a dependency graph.\n\ [INFO] [stdout] 132 + */\ [INFO] [stdout] 133 ~ ".to_string(); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/control_file.rs:142:9 [INFO] [stdout] | [INFO] [stdout] 142 | format!("extension root") [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `"extension root".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/control_file.rs:145:9 [INFO] [stdout] | [INFO] [stdout] 145 | format!("root") [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `"root".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc quote line without `>` marker [INFO] [stdout] --> src/extension_sql/mod.rs:14:1 [INFO] [stdout] | [INFO] [stdout] 14 | to the `pgx` framework and very subject to change between versions. While you may use this, please do it with caution. [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: if this not intended to be a quote at all, escape it with `\>` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation [INFO] [stdout] help: add markers to start of line [INFO] [stdout] | [INFO] [stdout] 14 | > to the `pgx` framework and very subject to change between versions. While you may use this, please do it with caution. [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc quote line without `>` marker [INFO] [stdout] --> src/extension_sql/entity.rs:14:1 [INFO] [stdout] | [INFO] [stdout] 14 | to the `pgx` framework and very subject to change between versions. While you may use this, please do it with caution. [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: if this not intended to be a quote at all, escape it with `\>` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation [INFO] [stdout] help: add markers to start of line [INFO] [stdout] | [INFO] [stdout] 14 | > to the `pgx` framework and very subject to change between versions. While you may use this, please do it with caution. [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: length comparison to zero [INFO] [stdout] --> src/aggregate/mod.rs:513:20 [INFO] [stdout] | [INFO] [stdout] 513 | if direct_args_with_names.len() > 0 { Some(parse_quote! {,}) } else { None }; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: using `!is_empty` is clearer and more explicit: `!direct_args_with_names.is_empty()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: taken reference of right operand [INFO] [stdout] --> src/extension_sql/entity.rs:208:21 [INFO] [stdout] | [INFO] [stdout] 208 | identifier_name == &data.name [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^---------- [INFO] [stdout] | | [INFO] [stdout] | help: use the right value directly: `data.name` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: taken reference of right operand [INFO] [stdout] --> src/extension_sql/entity.rs:209:28 [INFO] [stdout] | [INFO] [stdout] 209 | || identifier_name == &data.option [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^------------ [INFO] [stdout] | | [INFO] [stdout] | help: use the right value directly: `data.option` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: taken reference of right operand [INFO] [stdout] --> src/extension_sql/entity.rs:210:28 [INFO] [stdout] | [INFO] [stdout] 210 | || identifier_name == &data.vec [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^--------- [INFO] [stdout] | | [INFO] [stdout] | help: use the right value directly: `data.vec` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: taken reference of right operand [INFO] [stdout] --> src/extension_sql/entity.rs:211:28 [INFO] [stdout] | [INFO] [stdout] 211 | || identifier_name == &data.vec_option [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^---------------- [INFO] [stdout] | | [INFO] [stdout] | help: use the right value directly: `data.vec_option` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: taken reference of right operand [INFO] [stdout] --> src/extension_sql/entity.rs:212:28 [INFO] [stdout] | [INFO] [stdout] 212 | || identifier_name == &data.option_vec [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^---------------- [INFO] [stdout] | | [INFO] [stdout] | help: use the right value directly: `data.option_vec` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: taken reference of right operand [INFO] [stdout] --> src/extension_sql/entity.rs:213:28 [INFO] [stdout] | [INFO] [stdout] 213 | || identifier_name == &data.option_vec_option [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^----------------------- [INFO] [stdout] | | [INFO] [stdout] | help: use the right value directly: `data.option_vec_option` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: taken reference of right operand [INFO] [stdout] --> src/extension_sql/entity.rs:214:28 [INFO] [stdout] | [INFO] [stdout] 214 | || identifier_name == &data.array [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^----------- [INFO] [stdout] | | [INFO] [stdout] | help: use the right value directly: `data.array` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: taken reference of right operand [INFO] [stdout] --> src/extension_sql/entity.rs:215:28 [INFO] [stdout] | [INFO] [stdout] 215 | || identifier_name == &data.option_array [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^------------------ [INFO] [stdout] | | [INFO] [stdout] | help: use the right value directly: `data.option_array` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: taken reference of right operand [INFO] [stdout] --> src/extension_sql/entity.rs:216:28 [INFO] [stdout] | [INFO] [stdout] 216 | || identifier_name == &data.varlena [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^------------- [INFO] [stdout] | | [INFO] [stdout] | help: use the right value directly: `data.varlena` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: deref on an immutable reference [INFO] [stdout] --> src/extension_sql/entity.rs:218:28 [INFO] [stdout] | [INFO] [stdout] 218 | if matches(&*identifier_name) || data.pg_box.contains(&identifier_name) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#borrow_deref_ref [INFO] [stdout] = note: `#[warn(clippy::borrow_deref_ref)]` on by default [INFO] [stdout] help: if you would like to reborrow, try removing `&*` [INFO] [stdout] | [INFO] [stdout] 218 - if matches(&*identifier_name) || data.pg_box.contains(&identifier_name) { [INFO] [stdout] 218 + if matches(identifier_name) || data.pg_box.contains(&identifier_name) { [INFO] [stdout] | [INFO] [stdout] help: if you would like to deref, try using `&**` [INFO] [stdout] | [INFO] [stdout] 218 | if matches(&**identifier_name) || data.pg_box.contains(&identifier_name) { [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/extension_sql/entity.rs:218:71 [INFO] [stdout] | [INFO] [stdout] 218 | if matches(&*identifier_name) || data.pg_box.contains(&identifier_name) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: change this to: `identifier_name` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you seem to be trying to use `match` for destructuring a single pattern. Consider using `if let` [INFO] [stdout] --> src/extension_sql/mod.rs:228:13 [INFO] [stdout] | [INFO] [stdout] 228 | / match attr { [INFO] [stdout] 229 | | ExtensionSqlAttribute::Name(found_name) => { [INFO] [stdout] 230 | | name = Some(found_name.clone()); [INFO] [stdout] ... | [INFO] [stdout] 233 | | } [INFO] [stdout] | |_____________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 228 ~ if let ExtensionSqlAttribute::Name(found_name) = attr { [INFO] [stdout] 229 + name = Some(found_name.clone()); [INFO] [stdout] 230 + } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> src/extension_sql/mod.rs:281:21 [INFO] [stdout] | [INFO] [stdout] 281 | &format!("Unknown extension_sql attribute: {}", other), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `format!("Unknown extension_sql attribute: {}", other)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args [INFO] [stdout] = note: `#[warn(clippy::needless_borrows_for_generic_args)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this creates an owned instance just for comparison [INFO] [stdout] --> src/aggregate/mod.rs:708:16 [INFO] [stdout] | [INFO] [stdout] 708 | if last_segment.ident.to_string() == "PgVarlena" { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `last_segment.ident` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cmp_owned [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this creates an owned instance just for comparison [INFO] [stdout] --> src/aggregate/mod.rs:746:30 [INFO] [stdout] | [INFO] [stdout] 746 | Some(segment) if segment.ident.to_string() == "pgx" => { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `segment.ident` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cmp_owned [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you seem to be trying to use `match` for destructuring a single pattern. Consider using `if let` [INFO] [stdout] --> src/aggregate/mod.rs:766:9 [INFO] [stdout] | [INFO] [stdout] 766 | / match impl_item { [INFO] [stdout] 767 | | syn::ImplItem::Type(impl_item_type) => { [INFO] [stdout] 768 | | let ident_string = impl_item_type.ident.to_string(); [INFO] [stdout] 769 | | if ident_string == name { [INFO] [stdout] ... | [INFO] [stdout] 773 | | _ => (), [INFO] [stdout] 774 | | } [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stdout] = note: `#[warn(clippy::single_match)]` on by default [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 766 ~ if let syn::ImplItem::Type(impl_item_type) = impl_item { [INFO] [stdout] 767 + let ident_string = impl_item_type.ident.to_string(); [INFO] [stdout] 768 + if ident_string == name { [INFO] [stdout] 769 + needle = Some(impl_item_type); [INFO] [stdout] 770 + } [INFO] [stdout] 771 + } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you seem to be trying to use `match` for destructuring a single pattern. Consider using `if let` [INFO] [stdout] --> src/aggregate/mod.rs:782:9 [INFO] [stdout] | [INFO] [stdout] 782 | / match impl_item { [INFO] [stdout] 783 | | syn::ImplItem::Method(impl_item_method) => { [INFO] [stdout] 784 | | let ident_string = impl_item_method.sig.ident.to_string(); [INFO] [stdout] 785 | | if ident_string == name { [INFO] [stdout] ... | [INFO] [stdout] 789 | | _ => (), [INFO] [stdout] 790 | | } [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 782 ~ if let syn::ImplItem::Method(impl_item_method) = impl_item { [INFO] [stdout] 783 + let ident_string = impl_item_method.sig.ident.to_string(); [INFO] [stdout] 784 + if ident_string == name { [INFO] [stdout] 785 + needle = Some(impl_item_method); [INFO] [stdout] 786 + } [INFO] [stdout] 787 + } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you seem to be trying to use `match` for destructuring a single pattern. Consider using `if let` [INFO] [stdout] --> src/aggregate/mod.rs:798:9 [INFO] [stdout] | [INFO] [stdout] 798 | / match impl_item { [INFO] [stdout] 799 | | syn::ImplItem::Const(impl_item_const) => { [INFO] [stdout] 800 | | let ident_string = impl_item_const.ident.to_string(); [INFO] [stdout] 801 | | if ident_string == name { [INFO] [stdout] ... | [INFO] [stdout] 805 | | _ => (), [INFO] [stdout] 806 | | } [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 798 ~ if let syn::ImplItem::Const(impl_item_const) = impl_item { [INFO] [stdout] 799 + let ident_string = impl_item_const.ident.to_string(); [INFO] [stdout] 800 + if ident_string == name { [INFO] [stdout] 801 + needle = Some(impl_item_const); [INFO] [stdout] 802 + } [INFO] [stdout] 803 + } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the following explicit lifetimes could be elided: 'a [INFO] [stdout] --> src/aggregate/mod.rs:811:22 [INFO] [stdout] | [INFO] [stdout] 811 | fn get_const_litbool<'a>(item: &'a ImplItemConst) -> Option { [INFO] [stdout] | ^^ ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stdout] = note: `#[warn(clippy::needless_lifetimes)]` on by default [INFO] [stdout] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 811 - fn get_const_litbool<'a>(item: &'a ImplItemConst) -> Option { [INFO] [stdout] 811 + fn get_const_litbool(item: &ImplItemConst) -> Option { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the following explicit lifetimes could be elided: 'a [INFO] [stdout] --> src/aggregate/mod.rs:821:21 [INFO] [stdout] | [INFO] [stdout] 821 | fn get_const_litstr<'a>(item: &'a ImplItemConst) -> syn::Result> { [INFO] [stdout] | ^^ ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stdout] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 821 - fn get_const_litstr<'a>(item: &'a ImplItemConst) -> syn::Result> { [INFO] [stdout] 821 + fn get_const_litstr(item: &ImplItemConst) -> syn::Result> { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this creates an owned instance just for comparison [INFO] [stdout] --> src/aggregate/mod.rs:832:20 [INFO] [stdout] | [INFO] [stdout] 832 | if last.ident.to_string() == "Some" { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: try: `last.ident` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cmp_owned [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you seem to be trying to use `match` for destructuring a single pattern. Consider using `if let` [INFO] [stdout] --> src/aggregate/mod.rs:851:5 [INFO] [stdout] | [INFO] [stdout] 851 | / match ty { [INFO] [stdout] 852 | | Type::Path(ref mut ty_path) => { [INFO] [stdout] 853 | | for segment in ty_path.path.segments.iter_mut() { [INFO] [stdout] 854 | | if segment.ident.to_string() == "Self" { [INFO] [stdout] ... | [INFO] [stdout] 874 | | _ => (), [INFO] [stdout] 875 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 851 ~ if let Type::Path(ref mut ty_path) = ty { [INFO] [stdout] 852 + for segment in ty_path.path.segments.iter_mut() { [INFO] [stdout] 853 + if segment.ident.to_string() == "Self" { [INFO] [stdout] 854 + segment.ident = target.clone() [INFO] [stdout] 855 + } [INFO] [stdout] 856 + use syn::{GenericArgument, PathArguments}; [INFO] [stdout] 857 + match segment.arguments { [INFO] [stdout] 858 + PathArguments::AngleBracketed(ref mut angle_args) => { [INFO] [stdout] 859 + for arg in angle_args.args.iter_mut() { [INFO] [stdout] 860 + match arg { [INFO] [stdout] 861 + GenericArgument::Type(inner_ty) => { [INFO] [stdout] 862 + remap_self_to_target(inner_ty, target) [INFO] [stdout] 863 + } [INFO] [stdout] 864 + _ => (), [INFO] [stdout] 865 + } [INFO] [stdout] 866 + } [INFO] [stdout] 867 + } [INFO] [stdout] 868 + PathArguments::Parenthesized(_) => (), [INFO] [stdout] 869 + PathArguments::None => (), [INFO] [stdout] 870 + } [INFO] [stdout] 871 + } [INFO] [stdout] 872 + } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this creates an owned instance just for comparison [INFO] [stdout] --> src/aggregate/mod.rs:854:20 [INFO] [stdout] | [INFO] [stdout] 854 | if segment.ident.to_string() == "Self" { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `segment.ident` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cmp_owned [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you seem to be trying to use `match` for destructuring a single pattern. Consider using `if let` [INFO] [stdout] --> src/aggregate/mod.rs:861:29 [INFO] [stdout] | [INFO] [stdout] 861 | / ... match arg { [INFO] [stdout] 862 | | ... GenericArgument::Type(inner_ty) => { [INFO] [stdout] 863 | | ... remap_self_to_target(inner_ty, target) [INFO] [stdout] ... | [INFO] [stdout] 866 | | ... } [INFO] [stdout] | |_______________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 861 ~ if let GenericArgument::Type(inner_ty) = arg { [INFO] [stdout] 862 + remap_self_to_target(inner_ty, target) [INFO] [stdout] 863 + } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/aggregate/mod.rs:891:16 [INFO] [stdout] | [INFO] [stdout] 891 | if (ty_macro.mac.path.segments.len() == 1 && found_attr) || (found_pgx && found_attr) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] = note: `#[warn(clippy::nonminimal_bool)]` on by default [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 891 - if (ty_macro.mac.path.segments.len() == 1 && found_attr) || (found_pgx && found_attr) { [INFO] [stdout] 891 + if !(!found_attr || ty_macro.mac.path.segments.len() != 1 && !found_pgx) { [INFO] [stdout] | [INFO] [stdout] 891 - if (ty_macro.mac.path.segments.len() == 1 && found_attr) || (found_pgx && found_attr) { [INFO] [stdout] 891 + if (found_pgx || ty_macro.mac.path.segments.len() == 1) && found_attr { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc quote line without `>` marker [INFO] [stdout] --> src/control_file.rs:14:1 [INFO] [stdout] | [INFO] [stdout] 14 | to the `pgx` framework and very subject to change between versions. While you may use this, please do it with caution. [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: if this not intended to be a quote at all, escape it with `\>` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation [INFO] [stdout] help: add markers to start of line [INFO] [stdout] | [INFO] [stdout] 14 | > to the `pgx` framework and very subject to change between versions. While you may use this, please do it with caution. [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `from_str` can be confused for the standard trait method `std::str::FromStr::from_str` [INFO] [stdout] --> src/control_file.rs:53:5 [INFO] [stdout] | [INFO] [stdout] 53 | / pub fn from_str(input: &str) -> Result { [INFO] [stdout] 54 | | let mut temp = HashMap::new(); [INFO] [stdout] 55 | | for line in input.lines() { [INFO] [stdout] 56 | | let parts: Vec<&str> = line.split('=').collect(); [INFO] [stdout] ... | [INFO] [stdout] 88 | | }) [INFO] [stdout] 89 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = help: consider implementing the trait `std::str::FromStr` or choosing a less ambiguous method name [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#should_implement_trait [INFO] [stdout] = note: `#[warn(clippy::should_implement_trait)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you seem to be trying to use `match` for destructuring a single pattern. Consider using `if let` [INFO] [stdout] --> src/lifetimes.rs:19:17 [INFO] [stdout] | [INFO] [stdout] 19 | / match &mut segment.arguments { [INFO] [stdout] 20 | | syn::PathArguments::AngleBracketed(bracketed) => { [INFO] [stdout] 21 | | for arg in &mut bracketed.args { [INFO] [stdout] 22 | | match arg { [INFO] [stdout] ... | [INFO] [stdout] 51 | | _ => {} [INFO] [stdout] 52 | | } [INFO] [stdout] | |_________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 19 ~ if let syn::PathArguments::AngleBracketed(bracketed) = &mut segment.arguments { [INFO] [stdout] 20 + for arg in &mut bracketed.args { [INFO] [stdout] 21 + match arg { [INFO] [stdout] 22 + // rename lifetimes to the static lifetime so the TypeIds match. [INFO] [stdout] 23 + syn::GenericArgument::Lifetime(lifetime) => { [INFO] [stdout] 24 + lifetime.ident = [INFO] [stdout] 25 + syn::Ident::new("static", lifetime.ident.span()); [INFO] [stdout] 26 + } [INFO] [stdout] 27 + [INFO] [stdout] 28 + // recurse [INFO] [stdout] 29 + syn::GenericArgument::Type(ty) => staticize_lifetimes(ty), [INFO] [stdout] 30 + syn::GenericArgument::Binding(binding) => { [INFO] [stdout] 31 + staticize_lifetimes(&mut binding.ty) [INFO] [stdout] 32 + } [INFO] [stdout] 33 + syn::GenericArgument::Constraint(constraint) => { [INFO] [stdout] 34 + for bound in constraint.bounds.iter_mut() { [INFO] [stdout] 35 + match bound { [INFO] [stdout] 36 + syn::TypeParamBound::Lifetime(lifetime) => { [INFO] [stdout] 37 + lifetime.ident = [INFO] [stdout] 38 + syn::Ident::new("static", lifetime.ident.span()) [INFO] [stdout] 39 + } [INFO] [stdout] 40 + _ => {} [INFO] [stdout] 41 + } [INFO] [stdout] 42 + } [INFO] [stdout] 43 + } [INFO] [stdout] 44 + [INFO] [stdout] 45 + // nothing to do otherwise [INFO] [stdout] 46 + _ => {} [INFO] [stdout] 47 + } [INFO] [stdout] 48 + } [INFO] [stdout] 49 + } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you seem to be trying to use `match` for destructuring a single pattern. Consider using `if let` [INFO] [stdout] --> src/lifetimes.rs:36:41 [INFO] [stdout] | [INFO] [stdout] 36 | / ... match bound { [INFO] [stdout] 37 | | ... syn::TypeParamBound::Lifetime(lifetime) => { [INFO] [stdout] 38 | | ... lifetime.ident = [INFO] [stdout] 39 | | ... syn::Ident::new("static", lifetime.ident.span()) [INFO] [stdout] 40 | | ... } [INFO] [stdout] 41 | | ... _ => {} [INFO] [stdout] 42 | | ... } [INFO] [stdout] | |_______________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 36 ~ if let syn::TypeParamBound::Lifetime(lifetime) = bound { [INFO] [stdout] 37 + lifetime.ident = [INFO] [stdout] 38 + syn::Ident::new("static", lifetime.ident.span()) [INFO] [stdout] 39 + } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: accessing first element with `parts.get(0)` [INFO] [stdout] --> src/control_file.rs:62:27 [INFO] [stdout] | [INFO] [stdout] 62 | let (k, v) = (parts.get(0).unwrap().trim(), parts.get(1).unwrap().trim()); [INFO] [stdout] | ^^^^^^^^^^^^ help: try: `parts.first()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_first [INFO] [stdout] = note: `#[warn(clippy::get_first)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you seem to be trying to use `match` for an equality check. Consider using `if` [INFO] [stdout] --> src/lifetimes.rs:72:17 [INFO] [stdout] | [INFO] [stdout] 72 | / match archetype.ident.to_string().as_str() { [INFO] [stdout] 73 | | "name" => { [INFO] [stdout] 74 | | if let Ok(out) = mac.parse_body::() { [INFO] [stdout] ... | [INFO] [stdout] 88 | | _ => {} [INFO] [stdout] 89 | | } [INFO] [stdout] | |_________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 72 ~ if archetype.ident.to_string().as_str() == "name" { [INFO] [stdout] 73 + if let Ok(out) = mac.parse_body::() { [INFO] [stdout] 74 + // We don't particularly care what the identifier is, so we parse a [INFO] [stdout] 75 + // raw TokenStream. Specifically, it's okay for the identifier String, [INFO] [stdout] 76 + // which we end up using as a Postgres column name, to be nearly any [INFO] [stdout] 77 + // string, which can include Rust reserved words such as "type" or "match" [INFO] [stdout] 78 + if let Ok(ident) = syn::parse_str::(&out.ident) { [INFO] [stdout] 79 + let mut ty = out.used_ty.resolved_ty; [INFO] [stdout] 80 + [INFO] [stdout] 81 + // rewrite the name!() macro's type so that it has a static lifetime, if any [INFO] [stdout] 82 + staticize_lifetimes(&mut ty); [INFO] [stdout] 83 + type_macro.mac = syn::parse_quote! {::pgx::name!(#ident, #ty)}; [INFO] [stdout] 84 + } [INFO] [stdout] 85 + } [INFO] [stdout] 86 + } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you seem to be trying to use `match` for destructuring a single pattern. Consider using `if let` [INFO] [stdout] --> src/lifetimes.rs:111:17 [INFO] [stdout] | [INFO] [stdout] 111 | / match &mut segment.arguments { [INFO] [stdout] 112 | | syn::PathArguments::AngleBracketed(bracketed) => { [INFO] [stdout] 113 | | for arg in &mut bracketed.args { [INFO] [stdout] 114 | | match arg { [INFO] [stdout] ... | [INFO] [stdout] 142 | | _ => {} [INFO] [stdout] 143 | | } [INFO] [stdout] | |_________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 111 ~ if let syn::PathArguments::AngleBracketed(bracketed) = &mut segment.arguments { [INFO] [stdout] 112 + for arg in &mut bracketed.args { [INFO] [stdout] 113 + match arg { [INFO] [stdout] 114 + // rename lifetimes to the anonymous lifetime [INFO] [stdout] 115 + syn::GenericArgument::Lifetime(lifetime) => { [INFO] [stdout] 116 + lifetime.ident = syn::Ident::new("_", lifetime.ident.span()); [INFO] [stdout] 117 + } [INFO] [stdout] 118 + [INFO] [stdout] 119 + // recurse [INFO] [stdout] 120 + syn::GenericArgument::Type(ty) => anonymize_lifetimes(ty), [INFO] [stdout] 121 + syn::GenericArgument::Binding(binding) => { [INFO] [stdout] 122 + anonymize_lifetimes(&mut binding.ty) [INFO] [stdout] 123 + } [INFO] [stdout] 124 + syn::GenericArgument::Constraint(constraint) => { [INFO] [stdout] 125 + for bound in constraint.bounds.iter_mut() { [INFO] [stdout] 126 + match bound { [INFO] [stdout] 127 + syn::TypeParamBound::Lifetime(lifetime) => { [INFO] [stdout] 128 + lifetime.ident = [INFO] [stdout] 129 + syn::Ident::new("_", lifetime.ident.span()) [INFO] [stdout] 130 + } [INFO] [stdout] 131 + _ => {} [INFO] [stdout] 132 + } [INFO] [stdout] 133 + } [INFO] [stdout] 134 + } [INFO] [stdout] 135 + [INFO] [stdout] 136 + // nothing to do otherwise [INFO] [stdout] 137 + _ => {} [INFO] [stdout] 138 + } [INFO] [stdout] 139 + } [INFO] [stdout] 140 + } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/control_file.rs:127:19 [INFO] [stdout] | [INFO] [stdout] 127 | let sql = format!( [INFO] [stdout] | ___________________^ [INFO] [stdout] 128 | | "\ [INFO] [stdout] 129 | | /* \n\ [INFO] [stdout] 130 | | This file is auto generated by pgx.\n\ [INFO] [stdout] ... | [INFO] [stdout] 134 | | " [INFO] [stdout] 135 | | ); [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] help: consider using `.to_string()` [INFO] [stdout] | [INFO] [stdout] 127 ~ let sql = "\ [INFO] [stdout] 128 + /* \n\ [INFO] [stdout] 129 + This file is auto generated by pgx.\n\ [INFO] [stdout] 130 + \n\ [INFO] [stdout] 131 + The ordering of items is not stable, it is driven by a dependency graph.\n\ [INFO] [stdout] 132 + */\ [INFO] [stdout] 133 ~ ".to_string(); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you seem to be trying to use `match` for destructuring a single pattern. Consider using `if let` [INFO] [stdout] --> src/lifetimes.rs:127:41 [INFO] [stdout] | [INFO] [stdout] 127 | / ... match bound { [INFO] [stdout] 128 | | ... syn::TypeParamBound::Lifetime(lifetime) => { [INFO] [stdout] 129 | | ... lifetime.ident = [INFO] [stdout] 130 | | ... syn::Ident::new("_", lifetime.ident.span()) [INFO] [stdout] 131 | | ... } [INFO] [stdout] 132 | | ... _ => {} [INFO] [stdout] 133 | | ... } [INFO] [stdout] | |_______________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 127 ~ if let syn::TypeParamBound::Lifetime(lifetime) = bound { [INFO] [stdout] 128 + lifetime.ident = [INFO] [stdout] 129 + syn::Ident::new("_", lifetime.ident.span()) [INFO] [stdout] 130 + } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/control_file.rs:142:9 [INFO] [stdout] | [INFO] [stdout] 142 | format!("extension root") [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `"extension root".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/control_file.rs:145:9 [INFO] [stdout] | [INFO] [stdout] 145 | format!("root") [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `"root".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc quote line without `>` marker [INFO] [stdout] --> src/mapping.rs:14:1 [INFO] [stdout] | [INFO] [stdout] 14 | to the `pgx` framework and very subject to change between versions. While you may use this, please do it with caution. [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: if this not intended to be a quote at all, escape it with `\>` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation [INFO] [stdout] help: add markers to start of line [INFO] [stdout] | [INFO] [stdout] 14 | > to the `pgx` framework and very subject to change between versions. While you may use this, please do it with caution. [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc quote line without `>` marker [INFO] [stdout] --> src/extension_sql/mod.rs:14:1 [INFO] [stdout] | [INFO] [stdout] 14 | to the `pgx` framework and very subject to change between versions. While you may use this, please do it with caution. [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: if this not intended to be a quote at all, escape it with `\>` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation [INFO] [stdout] help: add markers to start of line [INFO] [stdout] | [INFO] [stdout] 14 | > to the `pgx` framework and very subject to change between versions. While you may use this, please do it with caution. [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc quote line without `>` marker [INFO] [stdout] --> src/extension_sql/entity.rs:14:1 [INFO] [stdout] | [INFO] [stdout] 14 | to the `pgx` framework and very subject to change between versions. While you may use this, please do it with caution. [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: if this not intended to be a quote at all, escape it with `\>` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation [INFO] [stdout] help: add markers to start of line [INFO] [stdout] | [INFO] [stdout] 14 | > to the `pgx` framework and very subject to change between versions. While you may use this, please do it with caution. [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc quote line without `>` marker [INFO] [stdout] --> src/metadata/mod.rs:6:1 [INFO] [stdout] | [INFO] [stdout] 6 | to the `pgx` framework and very subject to change between versions. While you may use this, please do it with caution. [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: if this not intended to be a quote at all, escape it with `\>` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation [INFO] [stdout] help: add markers to start of line [INFO] [stdout] | [INFO] [stdout] 6 | > to the `pgx` framework and very subject to change between versions. While you may use this, please do it with caution. [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc quote line without `>` marker [INFO] [stdout] --> src/metadata/entity.rs:6:1 [INFO] [stdout] | [INFO] [stdout] 6 | to the `pgx` framework and very subject to change between versions. While you may use this, please do it with caution. [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: if this not intended to be a quote at all, escape it with `\>` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation [INFO] [stdout] help: add markers to start of line [INFO] [stdout] | [INFO] [stdout] 6 | > to the `pgx` framework and very subject to change between versions. While you may use this, please do it with caution. [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc quote line without `>` marker [INFO] [stdout] --> src/metadata/function_metadata.rs:6:1 [INFO] [stdout] | [INFO] [stdout] 6 | to the `pgx` framework and very subject to change between versions. While you may use this, please do it with caution. [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: if this not intended to be a quote at all, escape it with `\>` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation [INFO] [stdout] help: add markers to start of line [INFO] [stdout] | [INFO] [stdout] 6 | > to the `pgx` framework and very subject to change between versions. While you may use this, please do it with caution. [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: taken reference of right operand [INFO] [stdout] --> src/extension_sql/entity.rs:208:21 [INFO] [stdout] | [INFO] [stdout] 208 | identifier_name == &data.name [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^---------- [INFO] [stdout] | | [INFO] [stdout] | help: use the right value directly: `data.name` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: taken reference of right operand [INFO] [stdout] --> src/extension_sql/entity.rs:209:28 [INFO] [stdout] | [INFO] [stdout] 209 | || identifier_name == &data.option [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^------------ [INFO] [stdout] | | [INFO] [stdout] | help: use the right value directly: `data.option` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: taken reference of right operand [INFO] [stdout] --> src/extension_sql/entity.rs:210:28 [INFO] [stdout] | [INFO] [stdout] 210 | || identifier_name == &data.vec [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^--------- [INFO] [stdout] | | [INFO] [stdout] | help: use the right value directly: `data.vec` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: taken reference of right operand [INFO] [stdout] --> src/extension_sql/entity.rs:211:28 [INFO] [stdout] | [INFO] [stdout] 211 | || identifier_name == &data.vec_option [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^---------------- [INFO] [stdout] | | [INFO] [stdout] | help: use the right value directly: `data.vec_option` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: taken reference of right operand [INFO] [stdout] --> src/extension_sql/entity.rs:212:28 [INFO] [stdout] | [INFO] [stdout] 212 | || identifier_name == &data.option_vec [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^---------------- [INFO] [stdout] | | [INFO] [stdout] | help: use the right value directly: `data.option_vec` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: taken reference of right operand [INFO] [stdout] --> src/extension_sql/entity.rs:213:28 [INFO] [stdout] | [INFO] [stdout] 213 | || identifier_name == &data.option_vec_option [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^----------------------- [INFO] [stdout] | | [INFO] [stdout] | help: use the right value directly: `data.option_vec_option` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: taken reference of right operand [INFO] [stdout] --> src/extension_sql/entity.rs:214:28 [INFO] [stdout] | [INFO] [stdout] 214 | || identifier_name == &data.array [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^----------- [INFO] [stdout] | | [INFO] [stdout] | help: use the right value directly: `data.array` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: taken reference of right operand [INFO] [stdout] --> src/extension_sql/entity.rs:215:28 [INFO] [stdout] | [INFO] [stdout] 215 | || identifier_name == &data.option_array [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^------------------ [INFO] [stdout] | | [INFO] [stdout] | help: use the right value directly: `data.option_array` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: taken reference of right operand [INFO] [stdout] --> src/extension_sql/entity.rs:216:28 [INFO] [stdout] | [INFO] [stdout] 216 | || identifier_name == &data.varlena [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^------------- [INFO] [stdout] | | [INFO] [stdout] | help: use the right value directly: `data.varlena` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: deref on an immutable reference [INFO] [stdout] --> src/extension_sql/entity.rs:218:28 [INFO] [stdout] | [INFO] [stdout] 218 | if matches(&*identifier_name) || data.pg_box.contains(&identifier_name) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#borrow_deref_ref [INFO] [stdout] = note: `#[warn(clippy::borrow_deref_ref)]` on by default [INFO] [stdout] help: if you would like to reborrow, try removing `&*` [INFO] [stdout] | [INFO] [stdout] 218 - if matches(&*identifier_name) || data.pg_box.contains(&identifier_name) { [INFO] [stdout] 218 + if matches(identifier_name) || data.pg_box.contains(&identifier_name) { [INFO] [stdout] | [INFO] [stdout] help: if you would like to deref, try using `&**` [INFO] [stdout] | [INFO] [stdout] 218 | if matches(&**identifier_name) || data.pg_box.contains(&identifier_name) { [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/extension_sql/entity.rs:218:71 [INFO] [stdout] | [INFO] [stdout] 218 | if matches(&*identifier_name) || data.pg_box.contains(&identifier_name) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: change this to: `identifier_name` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you seem to be trying to use `match` for destructuring a single pattern. Consider using `if let` [INFO] [stdout] --> src/extension_sql/mod.rs:228:13 [INFO] [stdout] | [INFO] [stdout] 228 | / match attr { [INFO] [stdout] 229 | | ExtensionSqlAttribute::Name(found_name) => { [INFO] [stdout] 230 | | name = Some(found_name.clone()); [INFO] [stdout] ... | [INFO] [stdout] 233 | | } [INFO] [stdout] | |_____________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 228 ~ if let ExtensionSqlAttribute::Name(found_name) = attr { [INFO] [stdout] 229 + name = Some(found_name.clone()); [INFO] [stdout] 230 + } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> src/extension_sql/mod.rs:281:21 [INFO] [stdout] | [INFO] [stdout] 281 | &format!("Unknown extension_sql attribute: {}", other), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `format!("Unknown extension_sql attribute: {}", other)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args [INFO] [stdout] = note: `#[warn(clippy::needless_borrows_for_generic_args)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you seem to be trying to use `match` for destructuring a single pattern. Consider using `if let` [INFO] [stdout] --> src/lifetimes.rs:19:17 [INFO] [stdout] | [INFO] [stdout] 19 | / match &mut segment.arguments { [INFO] [stdout] 20 | | syn::PathArguments::AngleBracketed(bracketed) => { [INFO] [stdout] 21 | | for arg in &mut bracketed.args { [INFO] [stdout] 22 | | match arg { [INFO] [stdout] ... | [INFO] [stdout] 51 | | _ => {} [INFO] [stdout] 52 | | } [INFO] [stdout] | |_________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 19 ~ if let syn::PathArguments::AngleBracketed(bracketed) = &mut segment.arguments { [INFO] [stdout] 20 + for arg in &mut bracketed.args { [INFO] [stdout] 21 + match arg { [INFO] [stdout] 22 + // rename lifetimes to the static lifetime so the TypeIds match. [INFO] [stdout] 23 + syn::GenericArgument::Lifetime(lifetime) => { [INFO] [stdout] 24 + lifetime.ident = [INFO] [stdout] 25 + syn::Ident::new("static", lifetime.ident.span()); [INFO] [stdout] 26 + } [INFO] [stdout] 27 + [INFO] [stdout] 28 + // recurse [INFO] [stdout] 29 + syn::GenericArgument::Type(ty) => staticize_lifetimes(ty), [INFO] [stdout] 30 + syn::GenericArgument::Binding(binding) => { [INFO] [stdout] 31 + staticize_lifetimes(&mut binding.ty) [INFO] [stdout] 32 + } [INFO] [stdout] 33 + syn::GenericArgument::Constraint(constraint) => { [INFO] [stdout] 34 + for bound in constraint.bounds.iter_mut() { [INFO] [stdout] 35 + match bound { [INFO] [stdout] 36 + syn::TypeParamBound::Lifetime(lifetime) => { [INFO] [stdout] 37 + lifetime.ident = [INFO] [stdout] 38 + syn::Ident::new("static", lifetime.ident.span()) [INFO] [stdout] 39 + } [INFO] [stdout] 40 + _ => {} [INFO] [stdout] 41 + } [INFO] [stdout] 42 + } [INFO] [stdout] 43 + } [INFO] [stdout] 44 + [INFO] [stdout] 45 + // nothing to do otherwise [INFO] [stdout] 46 + _ => {} [INFO] [stdout] 47 + } [INFO] [stdout] 48 + } [INFO] [stdout] 49 + } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you seem to be trying to use `match` for destructuring a single pattern. Consider using `if let` [INFO] [stdout] --> src/lifetimes.rs:36:41 [INFO] [stdout] | [INFO] [stdout] 36 | / ... match bound { [INFO] [stdout] 37 | | ... syn::TypeParamBound::Lifetime(lifetime) => { [INFO] [stdout] 38 | | ... lifetime.ident = [INFO] [stdout] 39 | | ... syn::Ident::new("static", lifetime.ident.span()) [INFO] [stdout] 40 | | ... } [INFO] [stdout] 41 | | ... _ => {} [INFO] [stdout] 42 | | ... } [INFO] [stdout] | |_______________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 36 ~ if let syn::TypeParamBound::Lifetime(lifetime) = bound { [INFO] [stdout] 37 + lifetime.ident = [INFO] [stdout] 38 + syn::Ident::new("static", lifetime.ident.span()) [INFO] [stdout] 39 + } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you seem to be trying to use `match` for an equality check. Consider using `if` [INFO] [stdout] --> src/lifetimes.rs:72:17 [INFO] [stdout] | [INFO] [stdout] 72 | / match archetype.ident.to_string().as_str() { [INFO] [stdout] 73 | | "name" => { [INFO] [stdout] 74 | | if let Ok(out) = mac.parse_body::() { [INFO] [stdout] ... | [INFO] [stdout] 88 | | _ => {} [INFO] [stdout] 89 | | } [INFO] [stdout] | |_________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 72 ~ if archetype.ident.to_string().as_str() == "name" { [INFO] [stdout] 73 + if let Ok(out) = mac.parse_body::() { [INFO] [stdout] 74 + // We don't particularly care what the identifier is, so we parse a [INFO] [stdout] 75 + // raw TokenStream. Specifically, it's okay for the identifier String, [INFO] [stdout] 76 + // which we end up using as a Postgres column name, to be nearly any [INFO] [stdout] 77 + // string, which can include Rust reserved words such as "type" or "match" [INFO] [stdout] 78 + if let Ok(ident) = syn::parse_str::(&out.ident) { [INFO] [stdout] 79 + let mut ty = out.used_ty.resolved_ty; [INFO] [stdout] 80 + [INFO] [stdout] 81 + // rewrite the name!() macro's type so that it has a static lifetime, if any [INFO] [stdout] 82 + staticize_lifetimes(&mut ty); [INFO] [stdout] 83 + type_macro.mac = syn::parse_quote! {::pgx::name!(#ident, #ty)}; [INFO] [stdout] 84 + } [INFO] [stdout] 85 + } [INFO] [stdout] 86 + } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you seem to be trying to use `match` for destructuring a single pattern. Consider using `if let` [INFO] [stdout] --> src/lifetimes.rs:111:17 [INFO] [stdout] | [INFO] [stdout] 111 | / match &mut segment.arguments { [INFO] [stdout] 112 | | syn::PathArguments::AngleBracketed(bracketed) => { [INFO] [stdout] 113 | | for arg in &mut bracketed.args { [INFO] [stdout] 114 | | match arg { [INFO] [stdout] ... | [INFO] [stdout] 142 | | _ => {} [INFO] [stdout] 143 | | } [INFO] [stdout] | |_________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 111 ~ if let syn::PathArguments::AngleBracketed(bracketed) = &mut segment.arguments { [INFO] [stdout] 112 + for arg in &mut bracketed.args { [INFO] [stdout] 113 + match arg { [INFO] [stdout] 114 + // rename lifetimes to the anonymous lifetime [INFO] [stdout] 115 + syn::GenericArgument::Lifetime(lifetime) => { [INFO] [stdout] 116 + lifetime.ident = syn::Ident::new("_", lifetime.ident.span()); [INFO] [stdout] 117 + } [INFO] [stdout] 118 + [INFO] [stdout] 119 + // recurse [INFO] [stdout] 120 + syn::GenericArgument::Type(ty) => anonymize_lifetimes(ty), [INFO] [stdout] 121 + syn::GenericArgument::Binding(binding) => { [INFO] [stdout] 122 + anonymize_lifetimes(&mut binding.ty) [INFO] [stdout] 123 + } [INFO] [stdout] 124 + syn::GenericArgument::Constraint(constraint) => { [INFO] [stdout] 125 + for bound in constraint.bounds.iter_mut() { [INFO] [stdout] 126 + match bound { [INFO] [stdout] 127 + syn::TypeParamBound::Lifetime(lifetime) => { [INFO] [stdout] 128 + lifetime.ident = [INFO] [stdout] 129 + syn::Ident::new("_", lifetime.ident.span()) [INFO] [stdout] 130 + } [INFO] [stdout] 131 + _ => {} [INFO] [stdout] 132 + } [INFO] [stdout] 133 + } [INFO] [stdout] 134 + } [INFO] [stdout] 135 + [INFO] [stdout] 136 + // nothing to do otherwise [INFO] [stdout] 137 + _ => {} [INFO] [stdout] 138 + } [INFO] [stdout] 139 + } [INFO] [stdout] 140 + } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you seem to be trying to use `match` for destructuring a single pattern. Consider using `if let` [INFO] [stdout] --> src/lifetimes.rs:127:41 [INFO] [stdout] | [INFO] [stdout] 127 | / ... match bound { [INFO] [stdout] 128 | | ... syn::TypeParamBound::Lifetime(lifetime) => { [INFO] [stdout] 129 | | ... lifetime.ident = [INFO] [stdout] 130 | | ... syn::Ident::new("_", lifetime.ident.span()) [INFO] [stdout] 131 | | ... } [INFO] [stdout] 132 | | ... _ => {} [INFO] [stdout] 133 | | ... } [INFO] [stdout] | |_______________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 127 ~ if let syn::TypeParamBound::Lifetime(lifetime) = bound { [INFO] [stdout] 128 + lifetime.ident = [INFO] [stdout] 129 + syn::Ident::new("_", lifetime.ident.span()) [INFO] [stdout] 130 + } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc quote line without `>` marker [INFO] [stdout] --> src/mapping.rs:14:1 [INFO] [stdout] | [INFO] [stdout] 14 | to the `pgx` framework and very subject to change between versions. While you may use this, please do it with caution. [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: if this not intended to be a quote at all, escape it with `\>` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation [INFO] [stdout] help: add markers to start of line [INFO] [stdout] | [INFO] [stdout] 14 | > to the `pgx` framework and very subject to change between versions. While you may use this, please do it with caution. [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc quote line without `>` marker [INFO] [stdout] --> src/metadata/mod.rs:6:1 [INFO] [stdout] | [INFO] [stdout] 6 | to the `pgx` framework and very subject to change between versions. While you may use this, please do it with caution. [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: if this not intended to be a quote at all, escape it with `\>` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation [INFO] [stdout] help: add markers to start of line [INFO] [stdout] | [INFO] [stdout] 6 | > to the `pgx` framework and very subject to change between versions. While you may use this, please do it with caution. [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc quote line without `>` marker [INFO] [stdout] --> src/metadata/phantomdata_ext.rs:6:1 [INFO] [stdout] | [INFO] [stdout] 6 | to the `pgx` framework and very subject to change between versions. While you may use this, please do it with caution. [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: if this not intended to be a quote at all, escape it with `\>` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation [INFO] [stdout] help: add markers to start of line [INFO] [stdout] | [INFO] [stdout] 6 | > to the `pgx` framework and very subject to change between versions. While you may use this, please do it with caution. [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc quote line without `>` marker [INFO] [stdout] --> src/metadata/entity.rs:6:1 [INFO] [stdout] | [INFO] [stdout] 6 | to the `pgx` framework and very subject to change between versions. While you may use this, please do it with caution. [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: if this not intended to be a quote at all, escape it with `\>` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation [INFO] [stdout] help: add markers to start of line [INFO] [stdout] | [INFO] [stdout] 6 | > to the `pgx` framework and very subject to change between versions. While you may use this, please do it with caution. [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc quote line without `>` marker [INFO] [stdout] --> src/metadata/return_variant.rs:6:1 [INFO] [stdout] | [INFO] [stdout] 6 | to the `pgx` framework and very subject to change between versions. While you may use this, please do it with caution. [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: if this not intended to be a quote at all, escape it with `\>` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation [INFO] [stdout] help: add markers to start of line [INFO] [stdout] | [INFO] [stdout] 6 | > to the `pgx` framework and very subject to change between versions. While you may use this, please do it with caution. [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc quote line without `>` marker [INFO] [stdout] --> src/metadata/function_metadata.rs:6:1 [INFO] [stdout] | [INFO] [stdout] 6 | to the `pgx` framework and very subject to change between versions. While you may use this, please do it with caution. [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: if this not intended to be a quote at all, escape it with `\>` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation [INFO] [stdout] help: add markers to start of line [INFO] [stdout] | [INFO] [stdout] 6 | > to the `pgx` framework and very subject to change between versions. While you may use this, please do it with caution. [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc quote line without `>` marker [INFO] [stdout] --> src/metadata/sql_translatable.rs:6:1 [INFO] [stdout] | [INFO] [stdout] 6 | to the `pgx` framework and very subject to change between versions. While you may use this, please do it with caution. [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: if this not intended to be a quote at all, escape it with `\>` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation [INFO] [stdout] help: add markers to start of line [INFO] [stdout] | [INFO] [stdout] 6 | > to the `pgx` framework and very subject to change between versions. While you may use this, please do it with caution. [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/metadata/sql_translatable.rs:176:62 [INFO] [stdout] | [INFO] [stdout] 176 | id if id == u8::type_name() => Ok(SqlMapping::As(format!("bytea"))), [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `"bytea".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/metadata/sql_translatable.rs:193:75 [INFO] [stdout] | [INFO] [stdout] 193 | id if id == u8::type_name() => Ok(Returns::One(SqlMapping::As(format!("bytea")))), [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `"bytea".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the following explicit lifetimes could be elided: 'a [INFO] [stdout] --> src/metadata/sql_translatable.rs:264:13 [INFO] [stdout] | [INFO] [stdout] 264 | unsafe impl<'a> SqlTranslatable for &'a str { [INFO] [stdout] | ^^ ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stdout] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 264 - unsafe impl<'a> SqlTranslatable for &'a str { [INFO] [stdout] 264 + unsafe impl SqlTranslatable for &str { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the following explicit lifetimes could be elided: 'a [INFO] [stdout] --> src/metadata/sql_translatable.rs:273:13 [INFO] [stdout] | [INFO] [stdout] 273 | unsafe impl<'a> SqlTranslatable for &'a [u8] { [INFO] [stdout] | ^^ ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stdout] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 273 - unsafe impl<'a> SqlTranslatable for &'a [u8] { [INFO] [stdout] 273 + unsafe impl SqlTranslatable for &[u8] { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc quote line without `>` marker [INFO] [stdout] --> src/pg_extern/mod.rs:15:1 [INFO] [stdout] | [INFO] [stdout] 15 | to the `pgx` framework and very subject to change between versions. While you may use this, please do it with caution. [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: if this not intended to be a quote at all, escape it with `\>` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation [INFO] [stdout] help: add markers to start of line [INFO] [stdout] | [INFO] [stdout] 15 | > to the `pgx` framework and very subject to change between versions. While you may use this, please do it with caution. [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc quote line without `>` marker [INFO] [stdout] --> src/pg_extern/argument.rs:14:1 [INFO] [stdout] | [INFO] [stdout] 14 | to the `pgx` framework and very subject to change between versions. While you may use this, please do it with caution. [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: if this not intended to be a quote at all, escape it with `\>` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation [INFO] [stdout] help: add markers to start of line [INFO] [stdout] | [INFO] [stdout] 14 | > to the `pgx` framework and very subject to change between versions. While you may use this, please do it with caution. [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc quote line without `>` marker [INFO] [stdout] --> src/pg_extern/attribute.rs:14:1 [INFO] [stdout] | [INFO] [stdout] 14 | to the `pgx` framework and very subject to change between versions. While you may use this, please do it with caution. [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: if this not intended to be a quote at all, escape it with `\>` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation [INFO] [stdout] help: add markers to start of line [INFO] [stdout] | [INFO] [stdout] 14 | > to the `pgx` framework and very subject to change between versions. While you may use this, please do it with caution. [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: large size difference between variants [INFO] [stdout] --> src/pg_extern/attribute.rs:26:1 [INFO] [stdout] | [INFO] [stdout] 26 | / pub enum Attribute { [INFO] [stdout] 27 | | Immutable, [INFO] [stdout] 28 | | Strict, [INFO] [stdout] 29 | | Stable, [INFO] [stdout] ... | [INFO] [stdout] 40 | | Cost(syn::Expr), [INFO] [stdout] | | --------------- the largest variant contains at least 320 bytes [INFO] [stdout] 41 | | Requires(Punctuated), [INFO] [stdout] 42 | | Sql(ToSqlConfig), [INFO] [stdout] | | ---------------- the second-largest variant contains at least 72 bytes [INFO] [stdout] 43 | | } [INFO] [stdout] | |_^ the entire enum is at least 320 bytes [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#large_enum_variant [INFO] [stdout] = note: `#[warn(clippy::large_enum_variant)]` on by default [INFO] [stdout] help: consider boxing the large fields or introducing indirection in some other way to reduce the total size of the enum [INFO] [stdout] | [INFO] [stdout] 40 - Cost(syn::Expr), [INFO] [stdout] 40 + Cost(Box), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `to_string` applied to a type that implements `Display` in `format!` args [INFO] [stdout] --> src/pg_extern/attribute.rs:201:30 [INFO] [stdout] | [INFO] [stdout] 201 | ident.to_string(), [INFO] [stdout] | ^^^^^^^^^^^^ help: remove this [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#to_string_in_format_args [INFO] [stdout] = note: `#[warn(clippy::to_string_in_format_args)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `to_string` applied to a type that implements `Display` in `format!` args [INFO] [stdout] --> src/pg_extern/attribute.rs:202:30 [INFO] [stdout] | [INFO] [stdout] 202 | input.to_string() [INFO] [stdout] | ^^^^^^^^^^^^ help: remove this [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#to_string_in_format_args [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc quote line without `>` marker [INFO] [stdout] --> src/pg_extern/entity/mod.rs:14:1 [INFO] [stdout] | [INFO] [stdout] 14 | to the `pgx` framework and very subject to change between versions. While you may use this, please do it with caution. [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: if this not intended to be a quote at all, escape it with `\>` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation [INFO] [stdout] help: add markers to start of line [INFO] [stdout] | [INFO] [stdout] 14 | > to the `pgx` framework and very subject to change between versions. While you may use this, please do it with caution. [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc quote line without `>` marker [INFO] [stdout] --> src/pg_extern/entity/argument.rs:14:1 [INFO] [stdout] | [INFO] [stdout] 14 | to the `pgx` framework and very subject to change between versions. While you may use this, please do it with caution. [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: if this not intended to be a quote at all, escape it with `\>` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation [INFO] [stdout] help: add markers to start of line [INFO] [stdout] | [INFO] [stdout] 14 | > to the `pgx` framework and very subject to change between versions. While you may use this, please do it with caution. [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc quote line without `>` marker [INFO] [stdout] --> src/pg_extern/entity/operator.rs:14:1 [INFO] [stdout] | [INFO] [stdout] 14 | to the `pgx` framework and very subject to change between versions. While you may use this, please do it with caution. [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: if this not intended to be a quote at all, escape it with `\>` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation [INFO] [stdout] help: add markers to start of line [INFO] [stdout] | [INFO] [stdout] 14 | > to the `pgx` framework and very subject to change between versions. While you may use this, please do it with caution. [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc quote line without `>` marker [INFO] [stdout] --> src/pg_extern/entity/returning.rs:14:1 [INFO] [stdout] | [INFO] [stdout] 14 | to the `pgx` framework and very subject to change between versions. While you may use this, please do it with caution. [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: if this not intended to be a quote at all, escape it with `\>` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation [INFO] [stdout] help: add markers to start of line [INFO] [stdout] | [INFO] [stdout] 14 | > to the `pgx` framework and very subject to change between versions. While you may use this, please do it with caution. [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/pg_extern/entity/mod.rs:165:45 [INFO] [stdout] | [INFO] [stdout] 165 | ... format!("{v}") [INFO] [stdout] | ^^^^^^^^^^^^^^ help: consider using `.to_string()`: `v.to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/pg_extern/entity/mod.rs:195:45 [INFO] [stdout] | [INFO] [stdout] 195 | ... format!("{v}") [INFO] [stdout] | ^^^^^^^^^^^^^^ help: consider using `.to_string()`: `v.to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: needlessly taken reference of left operand [INFO] [stdout] --> src/pg_extern/entity/mod.rs:253:69 [INFO] [stdout] | [INFO] [stdout] 253 | ... SqlGraphEntity::BuiltinType(defined) => &*defined == ty.full_path, [INFO] [stdout] | ---------^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: use the left value directly: `*defined` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: deref on an immutable reference [INFO] [stdout] --> src/pg_extern/entity/mod.rs:253:69 [INFO] [stdout] | [INFO] [stdout] 253 | ... SqlGraphEntity::BuiltinType(defined) => &*defined == ty.full_path, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#borrow_deref_ref [INFO] [stdout] help: if you would like to reborrow, try removing `&*` [INFO] [stdout] | [INFO] [stdout] 253 - SqlGraphEntity::BuiltinType(defined) => &*defined == ty.full_path, [INFO] [stdout] 253 + SqlGraphEntity::BuiltinType(defined) => defined == ty.full_path, [INFO] [stdout] | [INFO] [stdout] help: if you would like to deref, try using `&**` [INFO] [stdout] | [INFO] [stdout] 253 | SqlGraphEntity::BuiltinType(defined) => &**defined == ty.full_path, [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: accessing first element with `self.metadata.arguments.get(0)` [INFO] [stdout] --> src/pg_extern/entity/mod.rs:470:17 [INFO] [stdout] | [INFO] [stdout] 470 | self.metadata.arguments.get(0).ok_or_else(|| { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `self.metadata.arguments.first()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_first [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: accessing first element with `self [INFO] [stdout] .fn_args.get(0)` [INFO] [stdout] --> src/pg_extern/entity/mod.rs:473:31 [INFO] [stdout] | [INFO] [stdout] 473 | let left_fn_arg = self [INFO] [stdout] | _______________________________^ [INFO] [stdout] 474 | | .fn_args [INFO] [stdout] 475 | | .get(0) [INFO] [stdout] | |_______________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_first [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 473 ~ let left_fn_arg = self [INFO] [stdout] 474 + .fn_args.first() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: taken reference of right operand [INFO] [stdout] --> src/pg_extern/entity/mod.rs:483:61 [INFO] [stdout] | [INFO] [stdout] 483 | SqlGraphEntity::BuiltinType(defined) => defined == &left_arg.type_name, [INFO] [stdout] | ^^^^^^^^^^^------------------- [INFO] [stdout] | | [INFO] [stdout] | help: use the right value directly: `left_arg.type_name` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc quote line without `>` marker [INFO] [stdout] --> src/metadata/phantomdata_ext.rs:6:1 [INFO] [stdout] | [INFO] [stdout] 6 | to the `pgx` framework and very subject to change between versions. While you may use this, please do it with caution. [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: if this not intended to be a quote at all, escape it with `\>` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation [INFO] [stdout] help: add markers to start of line [INFO] [stdout] | [INFO] [stdout] 6 | > to the `pgx` framework and very subject to change between versions. While you may use this, please do it with caution. [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc quote line without `>` marker [INFO] [stdout] --> src/metadata/return_variant.rs:6:1 [INFO] [stdout] | [INFO] [stdout] 6 | to the `pgx` framework and very subject to change between versions. While you may use this, please do it with caution. [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: if this not intended to be a quote at all, escape it with `\>` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation [INFO] [stdout] help: add markers to start of line [INFO] [stdout] | [INFO] [stdout] 6 | > to the `pgx` framework and very subject to change between versions. While you may use this, please do it with caution. [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: taken reference of right operand [INFO] [stdout] --> src/pg_extern/entity/mod.rs:536:61 [INFO] [stdout] | [INFO] [stdout] 536 | SqlGraphEntity::BuiltinType(defined) => defined == &right_arg.type_name, [INFO] [stdout] | ^^^^^^^^^^^-------------------- [INFO] [stdout] | | [INFO] [stdout] | help: use the right value directly: `right_arg.type_name` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc quote line without `>` marker [INFO] [stdout] --> src/metadata/sql_translatable.rs:6:1 [INFO] [stdout] | [INFO] [stdout] 6 | to the `pgx` framework and very subject to change between versions. While you may use this, please do it with caution. [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: if this not intended to be a quote at all, escape it with `\>` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation [INFO] [stdout] help: add markers to start of line [INFO] [stdout] | [INFO] [stdout] 6 | > to the `pgx` framework and very subject to change between versions. While you may use this, please do it with caution. [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: length comparison to one [INFO] [stdout] --> src/pg_extern/entity/mod.rs:596:70 [INFO] [stdout] | [INFO] [stdout] 596 | ... maybe_comma = if optionals.len() >= 1 { "," } else { "" }, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: using `!is_empty` is clearer and more explicit: `!optionals.is_empty()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc quote line without `>` marker [INFO] [stdout] --> src/pg_extern/operator.rs:14:1 [INFO] [stdout] | [INFO] [stdout] 14 | to the `pgx` framework and very subject to change between versions. While you may use this, please do it with caution. [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: if this not intended to be a quote at all, escape it with `\>` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation [INFO] [stdout] help: add markers to start of line [INFO] [stdout] | [INFO] [stdout] 14 | > to the `pgx` framework and very subject to change between versions. While you may use this, please do it with caution. [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/metadata/sql_translatable.rs:176:62 [INFO] [stdout] | [INFO] [stdout] 176 | id if id == u8::type_name() => Ok(SqlMapping::As(format!("bytea"))), [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `"bytea".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/metadata/sql_translatable.rs:193:75 [INFO] [stdout] | [INFO] [stdout] 193 | id if id == u8::type_name() => Ok(Returns::One(SqlMapping::As(format!("bytea")))), [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `"bytea".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the following explicit lifetimes could be elided: 'a [INFO] [stdout] --> src/metadata/sql_translatable.rs:264:13 [INFO] [stdout] | [INFO] [stdout] 264 | unsafe impl<'a> SqlTranslatable for &'a str { [INFO] [stdout] | ^^ ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stdout] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 264 - unsafe impl<'a> SqlTranslatable for &'a str { [INFO] [stdout] 264 + unsafe impl SqlTranslatable for &str { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the following explicit lifetimes could be elided: 'a [INFO] [stdout] --> src/metadata/sql_translatable.rs:273:13 [INFO] [stdout] | [INFO] [stdout] 273 | unsafe impl<'a> SqlTranslatable for &'a [u8] { [INFO] [stdout] | ^^ ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stdout] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 273 - unsafe impl<'a> SqlTranslatable for &'a [u8] { [INFO] [stdout] 273 + unsafe impl SqlTranslatable for &[u8] { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc quote line without `>` marker [INFO] [stdout] --> src/pg_extern/mod.rs:15:1 [INFO] [stdout] | [INFO] [stdout] 15 | to the `pgx` framework and very subject to change between versions. While you may use this, please do it with caution. [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: if this not intended to be a quote at all, escape it with `\>` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation [INFO] [stdout] help: add markers to start of line [INFO] [stdout] | [INFO] [stdout] 15 | > to the `pgx` framework and very subject to change between versions. While you may use this, please do it with caution. [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc quote line without `>` marker [INFO] [stdout] --> src/pg_extern/argument.rs:14:1 [INFO] [stdout] | [INFO] [stdout] 14 | to the `pgx` framework and very subject to change between versions. While you may use this, please do it with caution. [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: if this not intended to be a quote at all, escape it with `\>` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation [INFO] [stdout] help: add markers to start of line [INFO] [stdout] | [INFO] [stdout] 14 | > to the `pgx` framework and very subject to change between versions. While you may use this, please do it with caution. [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc quote line without `>` marker [INFO] [stdout] --> src/pg_extern/returning.rs:14:1 [INFO] [stdout] | [INFO] [stdout] 14 | to the `pgx` framework and very subject to change between versions. While you may use this, please do it with caution. [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: if this not intended to be a quote at all, escape it with `\>` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation [INFO] [stdout] help: add markers to start of line [INFO] [stdout] | [INFO] [stdout] 14 | > to the `pgx` framework and very subject to change between versions. While you may use this, please do it with caution. [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc quote line without `>` marker [INFO] [stdout] --> src/pg_extern/attribute.rs:14:1 [INFO] [stdout] | [INFO] [stdout] 14 | to the `pgx` framework and very subject to change between versions. While you may use this, please do it with caution. [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: if this not intended to be a quote at all, escape it with `\>` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation [INFO] [stdout] help: add markers to start of line [INFO] [stdout] | [INFO] [stdout] 14 | > to the `pgx` framework and very subject to change between versions. While you may use this, please do it with caution. [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/pg_extern/returning.rs:345:29 [INFO] [stdout] | [INFO] [stdout] 345 | / ... return Err(syn::Error::new( [INFO] [stdout] 346 | | ... other.span(), [INFO] [stdout] 347 | | ... &format!("Got unknown return type: {type_paren:?}"), [INFO] [stdout] 348 | | ... )) [INFO] [stdout] | |________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 345 ~ Err(syn::Error::new( [INFO] [stdout] 346 + other.span(), [INFO] [stdout] 347 + &format!("Got unknown return type: {type_paren:?}"), [INFO] [stdout] 348 + )) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/pg_extern/returning.rs:352:25 [INFO] [stdout] | [INFO] [stdout] 352 | / return Err(syn::Error::new( [INFO] [stdout] 353 | | other.span(), [INFO] [stdout] 354 | | &format!("Got unknown return type: {other:?}"), [INFO] [stdout] 355 | | )) [INFO] [stdout] | |__________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 352 ~ Err(syn::Error::new( [INFO] [stdout] 353 + other.span(), [INFO] [stdout] 354 + &format!("Got unknown return type: {other:?}"), [INFO] [stdout] 355 + )) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: large size difference between variants [INFO] [stdout] --> src/pg_extern/attribute.rs:26:1 [INFO] [stdout] | [INFO] [stdout] 26 | / pub enum Attribute { [INFO] [stdout] 27 | | Immutable, [INFO] [stdout] 28 | | Strict, [INFO] [stdout] 29 | | Stable, [INFO] [stdout] ... | [INFO] [stdout] 40 | | Cost(syn::Expr), [INFO] [stdout] | | --------------- the largest variant contains at least 320 bytes [INFO] [stdout] 41 | | Requires(Punctuated), [INFO] [stdout] 42 | | Sql(ToSqlConfig), [INFO] [stdout] | | ---------------- the second-largest variant contains at least 72 bytes [INFO] [stdout] 43 | | } [INFO] [stdout] | |_^ the entire enum is at least 320 bytes [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#large_enum_variant [INFO] [stdout] = note: `#[warn(clippy::large_enum_variant)]` on by default [INFO] [stdout] help: consider boxing the large fields or introducing indirection in some other way to reduce the total size of the enum [INFO] [stdout] | [INFO] [stdout] 40 - Cost(syn::Expr), [INFO] [stdout] 40 + Cost(Box), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> src/pg_extern/returning.rs:102:53 [INFO] [stdout] | [INFO] [stdout] 102 | / ... &format!( [INFO] [stdout] 103 | | ... "Got unexpected generic argument for Option inner: {other:?}" [INFO] [stdout] 104 | | ... ), [INFO] [stdout] | |_______________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 102 ~ format!( [INFO] [stdout] 103 + "Got unexpected generic argument for Option inner: {other:?}" [INFO] [stdout] 104 ~ ), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> src/pg_extern/returning.rs:112:45 [INFO] [stdout] | [INFO] [stdout] 112 | / ... &format!( [INFO] [stdout] 113 | | ... "Got unexpected path argument for Option inner: {other:?}" [INFO] [stdout] 114 | | ... ), [INFO] [stdout] | |_______________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 112 ~ format!( [INFO] [stdout] 113 + "Got unexpected path argument for Option inner: {other:?}" [INFO] [stdout] 114 ~ ), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `match` can be collapsed into the outer `match` [INFO] [stdout] --> src/pg_extern/returning.rs:130:82 [INFO] [stdout] | [INFO] [stdout] 130 | ... GenericArgument::Type(ty) => match ty { [INFO] [stdout] | ____________________________________________________^ [INFO] [stdout] 131 | | ... Type::Path(this_path) => { [INFO] [stdout] 132 | | ... segments = [INFO] [stdout] 133 | | ... this_path.path.segments.clone(); [INFO] [stdout] ... | [INFO] [stdout] 137 | | ... _ => continue, [INFO] [stdout] 138 | | ... }, [INFO] [stdout] | |_______________________^ [INFO] [stdout] | [INFO] [stdout] help: the outer pattern can be modified to include the inner pattern [INFO] [stdout] --> src/pg_extern/returning.rs:130:75 [INFO] [stdout] | [INFO] [stdout] 130 | ... GenericArgument::Type(ty) => match ty { [INFO] [stdout] | ^^ replace this binding [INFO] [stdout] 131 | ... Type::Path(this_path) => { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ with this pattern [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_match [INFO] [stdout] = note: `#[warn(clippy::collapsible_match)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> src/pg_extern/returning.rs:177:53 [INFO] [stdout] | [INFO] [stdout] 177 | / ... &format!( [INFO] [stdout] 178 | | ... "Got unexpected generic argument for SetOfIterator: {other:?}" [INFO] [stdout] 179 | | ... ), [INFO] [stdout] | |_______________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 177 ~ format!( [INFO] [stdout] 178 + "Got unexpected generic argument for SetOfIterator: {other:?}" [INFO] [stdout] 179 ~ ), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> src/pg_extern/returning.rs:187:45 [INFO] [stdout] | [INFO] [stdout] 187 | / ... &format!( [INFO] [stdout] 188 | | ... "Got unexpected path argument for SetOfIterator: {other:?}" [INFO] [stdout] 189 | | ... ), [INFO] [stdout] | |_______________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 187 ~ format!( [INFO] [stdout] 188 + "Got unexpected path argument for SetOfIterator: {other:?}" [INFO] [stdout] 189 ~ ), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> src/pg_extern/returning.rs:208:61 [INFO] [stdout] | [INFO] [stdout] 208 | / ... &format!( [INFO] [stdout] 209 | | ... "Got unexpected generic argument for Option/Result inner: {other:?}" [INFO] [stdout] 210 | | ... ), [INFO] [stdout] | |_______________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 208 ~ format!( [INFO] [stdout] 209 + "Got unexpected generic argument for Option/Result inner: {other:?}" [INFO] [stdout] 210 ~ ), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> src/pg_extern/returning.rs:218:53 [INFO] [stdout] | [INFO] [stdout] 218 | / ... &format!( [INFO] [stdout] 219 | | ... "Got unexpected path argument for Option/Result inner: {other:?}" [INFO] [stdout] 220 | | ... ), [INFO] [stdout] | |_______________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 218 ~ format!( [INFO] [stdout] 219 + "Got unexpected path argument for Option/Result inner: {other:?}" [INFO] [stdout] 220 ~ ), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> src/pg_extern/returning.rs:309:53 [INFO] [stdout] | [INFO] [stdout] 309 | / ... &format!( [INFO] [stdout] 310 | | ... "Got unexpected generic argument: {other:?}" [INFO] [stdout] 311 | | ... ), [INFO] [stdout] | |_______________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 309 ~ format!( [INFO] [stdout] 310 + "Got unexpected generic argument: {other:?}" [INFO] [stdout] 311 ~ ), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> src/pg_extern/returning.rs:319:45 [INFO] [stdout] | [INFO] [stdout] 319 | ... &format!("Got unexpected path argument: {other:?}"), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `format!("Got unexpected path argument: {other:?}")` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> src/pg_extern/returning.rs:347:33 [INFO] [stdout] | [INFO] [stdout] 347 | ... &format!("Got unknown return type: {type_paren:?}"), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `format!("Got unknown return type: {type_paren:?}")` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> src/pg_extern/returning.rs:354:29 [INFO] [stdout] | [INFO] [stdout] 354 | ... &format!("Got unknown return type: {other:?}"), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `format!("Got unknown return type: {other:?}")` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `to_string` applied to a type that implements `Display` in `format!` args [INFO] [stdout] --> src/pg_extern/attribute.rs:201:30 [INFO] [stdout] | [INFO] [stdout] 201 | ident.to_string(), [INFO] [stdout] | ^^^^^^^^^^^^ help: remove this [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#to_string_in_format_args [INFO] [stdout] = note: `#[warn(clippy::to_string_in_format_args)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `to_string` applied to a type that implements `Display` in `format!` args [INFO] [stdout] --> src/pg_extern/attribute.rs:202:30 [INFO] [stdout] | [INFO] [stdout] 202 | input.to_string() [INFO] [stdout] | ^^^^^^^^^^^^ help: remove this [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#to_string_in_format_args [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc quote line without `>` marker [INFO] [stdout] --> src/pg_extern/entity/mod.rs:14:1 [INFO] [stdout] | [INFO] [stdout] 14 | to the `pgx` framework and very subject to change between versions. While you may use this, please do it with caution. [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: if this not intended to be a quote at all, escape it with `\>` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation [INFO] [stdout] help: add markers to start of line [INFO] [stdout] | [INFO] [stdout] 14 | > to the `pgx` framework and very subject to change between versions. While you may use this, please do it with caution. [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc quote line without `>` marker [INFO] [stdout] --> src/pg_extern/entity/argument.rs:14:1 [INFO] [stdout] | [INFO] [stdout] 14 | to the `pgx` framework and very subject to change between versions. While you may use this, please do it with caution. [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: if this not intended to be a quote at all, escape it with `\>` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation [INFO] [stdout] help: add markers to start of line [INFO] [stdout] | [INFO] [stdout] 14 | > to the `pgx` framework and very subject to change between versions. While you may use this, please do it with caution. [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc quote line without `>` marker [INFO] [stdout] --> src/pg_extern/search_path.rs:14:1 [INFO] [stdout] | [INFO] [stdout] 14 | to the `pgx` framework and very subject to change between versions. While you may use this, please do it with caution. [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: if this not intended to be a quote at all, escape it with `\>` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation [INFO] [stdout] help: add markers to start of line [INFO] [stdout] | [INFO] [stdout] 14 | > to the `pgx` framework and very subject to change between versions. While you may use this, please do it with caution. [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc quote line without `>` marker [INFO] [stdout] --> src/pg_extern/entity/operator.rs:14:1 [INFO] [stdout] | [INFO] [stdout] 14 | to the `pgx` framework and very subject to change between versions. While you may use this, please do it with caution. [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: if this not intended to be a quote at all, escape it with `\>` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation [INFO] [stdout] help: add markers to start of line [INFO] [stdout] | [INFO] [stdout] 14 | > to the `pgx` framework and very subject to change between versions. While you may use this, please do it with caution. [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function call inside of `expect` [INFO] [stdout] --> src/pg_extern/search_path.rs:65:63 [INFO] [stdout] | [INFO] [stdout] 65 | fields: input.parse_terminated(SearchPath::parse).expect(&format!("Got {}", input)), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `unwrap_or_else(|_| panic!("Got {}", input))` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#expect_fun_call [INFO] [stdout] = note: `#[warn(clippy::expect_fun_call)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc quote line without `>` marker [INFO] [stdout] --> src/pg_extern/entity/returning.rs:14:1 [INFO] [stdout] | [INFO] [stdout] 14 | to the `pgx` framework and very subject to change between versions. While you may use this, please do it with caution. [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: if this not intended to be a quote at all, escape it with `\>` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation [INFO] [stdout] help: add markers to start of line [INFO] [stdout] | [INFO] [stdout] 14 | > to the `pgx` framework and very subject to change between versions. While you may use this, please do it with caution. [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: deref which would be done by auto-deref [INFO] [stdout] --> src/pg_extern/mod.rs:108:45 [INFO] [stdout] | [INFO] [stdout] 108 | .replace("@FUNCTION_NAME@", &*(func.sig.ident.to_string() + "_wrapper")) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `&(func.sig.ident.to_string() + "_wrapper")` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#explicit_auto_deref [INFO] [stdout] = note: `#[warn(clippy::explicit_auto_deref)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: deref which would be done by auto-deref [INFO] [stdout] --> src/pg_extern/mod.rs:197:33 [INFO] [stdout] | [INFO] [stdout] 197 | ... &*(self.func.sig.ident.to_string() + "_wrapper"), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `&(self.func.sig.ident.to_string() + "_wrapper")` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#explicit_auto_deref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: deref which would be done by auto-deref [INFO] [stdout] --> src/pg_extern/mod.rs:199:42 [INFO] [stdout] | [INFO] [stdout] 199 | ... sql.push_str(&*line); [INFO] [stdout] | ^^^^^^ help: try: `&line` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#explicit_auto_deref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/pg_extern/entity/mod.rs:165:45 [INFO] [stdout] | [INFO] [stdout] 165 | ... format!("{v}") [INFO] [stdout] | ^^^^^^^^^^^^^^ help: consider using `.to_string()`: `v.to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/pg_extern/entity/mod.rs:195:45 [INFO] [stdout] | [INFO] [stdout] 195 | ... format!("{v}") [INFO] [stdout] | ^^^^^^^^^^^^^^ help: consider using `.to_string()`: `v.to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: needlessly taken reference of left operand [INFO] [stdout] --> src/pg_extern/entity/mod.rs:253:69 [INFO] [stdout] | [INFO] [stdout] 253 | ... SqlGraphEntity::BuiltinType(defined) => &*defined == ty.full_path, [INFO] [stdout] | ---------^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: use the left value directly: `*defined` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: deref on an immutable reference [INFO] [stdout] --> src/pg_extern/entity/mod.rs:253:69 [INFO] [stdout] | [INFO] [stdout] 253 | ... SqlGraphEntity::BuiltinType(defined) => &*defined == ty.full_path, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#borrow_deref_ref [INFO] [stdout] help: if you would like to reborrow, try removing `&*` [INFO] [stdout] | [INFO] [stdout] 253 - SqlGraphEntity::BuiltinType(defined) => &*defined == ty.full_path, [INFO] [stdout] 253 + SqlGraphEntity::BuiltinType(defined) => defined == ty.full_path, [INFO] [stdout] | [INFO] [stdout] help: if you would like to deref, try using `&**` [INFO] [stdout] | [INFO] [stdout] 253 | SqlGraphEntity::BuiltinType(defined) => &**defined == ty.full_path, [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: accessing first element with `self.metadata.arguments.get(0)` [INFO] [stdout] --> src/pg_extern/entity/mod.rs:470:17 [INFO] [stdout] | [INFO] [stdout] 470 | self.metadata.arguments.get(0).ok_or_else(|| { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `self.metadata.arguments.first()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_first [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: accessing first element with `self [INFO] [stdout] .fn_args.get(0)` [INFO] [stdout] --> src/pg_extern/entity/mod.rs:473:31 [INFO] [stdout] | [INFO] [stdout] 473 | let left_fn_arg = self [INFO] [stdout] | _______________________________^ [INFO] [stdout] 474 | | .fn_args [INFO] [stdout] 475 | | .get(0) [INFO] [stdout] | |_______________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_first [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 473 ~ let left_fn_arg = self [INFO] [stdout] 474 + .fn_args.first() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: taken reference of right operand [INFO] [stdout] --> src/pg_extern/entity/mod.rs:483:61 [INFO] [stdout] | [INFO] [stdout] 483 | SqlGraphEntity::BuiltinType(defined) => defined == &left_arg.type_name, [INFO] [stdout] | ^^^^^^^^^^^------------------- [INFO] [stdout] | | [INFO] [stdout] | help: use the right value directly: `left_arg.type_name` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: taken reference of right operand [INFO] [stdout] --> src/pg_extern/entity/mod.rs:536:61 [INFO] [stdout] | [INFO] [stdout] 536 | SqlGraphEntity::BuiltinType(defined) => defined == &right_arg.type_name, [INFO] [stdout] | ^^^^^^^^^^^-------------------- [INFO] [stdout] | | [INFO] [stdout] | help: use the right value directly: `right_arg.type_name` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: length comparison to one [INFO] [stdout] --> src/pg_extern/entity/mod.rs:596:70 [INFO] [stdout] | [INFO] [stdout] 596 | ... maybe_comma = if optionals.len() >= 1 { "," } else { "" }, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: using `!is_empty` is clearer and more explicit: `!optionals.is_empty()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc quote line without `>` marker [INFO] [stdout] --> src/pg_extern/operator.rs:14:1 [INFO] [stdout] | [INFO] [stdout] 14 | to the `pgx` framework and very subject to change between versions. While you may use this, please do it with caution. [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: if this not intended to be a quote at all, escape it with `\>` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation [INFO] [stdout] help: add markers to start of line [INFO] [stdout] | [INFO] [stdout] 14 | > to the `pgx` framework and very subject to change between versions. While you may use this, please do it with caution. [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc quote line without `>` marker [INFO] [stdout] --> src/pg_extern/returning.rs:14:1 [INFO] [stdout] | [INFO] [stdout] 14 | to the `pgx` framework and very subject to change between versions. While you may use this, please do it with caution. [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: if this not intended to be a quote at all, escape it with `\>` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation [INFO] [stdout] help: add markers to start of line [INFO] [stdout] | [INFO] [stdout] 14 | > to the `pgx` framework and very subject to change between versions. While you may use this, please do it with caution. [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/pg_extern/returning.rs:345:29 [INFO] [stdout] | [INFO] [stdout] 345 | / ... return Err(syn::Error::new( [INFO] [stdout] 346 | | ... other.span(), [INFO] [stdout] 347 | | ... &format!("Got unknown return type: {type_paren:?}"), [INFO] [stdout] 348 | | ... )) [INFO] [stdout] | |________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 345 ~ Err(syn::Error::new( [INFO] [stdout] 346 + other.span(), [INFO] [stdout] 347 + &format!("Got unknown return type: {type_paren:?}"), [INFO] [stdout] 348 + )) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/pg_extern/returning.rs:352:25 [INFO] [stdout] | [INFO] [stdout] 352 | / return Err(syn::Error::new( [INFO] [stdout] 353 | | other.span(), [INFO] [stdout] 354 | | &format!("Got unknown return type: {other:?}"), [INFO] [stdout] 355 | | )) [INFO] [stdout] | |__________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 352 ~ Err(syn::Error::new( [INFO] [stdout] 353 + other.span(), [INFO] [stdout] 354 + &format!("Got unknown return type: {other:?}"), [INFO] [stdout] 355 + )) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> src/pg_extern/returning.rs:102:53 [INFO] [stdout] | [INFO] [stdout] 102 | / ... &format!( [INFO] [stdout] 103 | | ... "Got unexpected generic argument for Option inner: {other:?}" [INFO] [stdout] 104 | | ... ), [INFO] [stdout] | |_______________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 102 ~ format!( [INFO] [stdout] 103 + "Got unexpected generic argument for Option inner: {other:?}" [INFO] [stdout] 104 ~ ), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> src/pg_extern/returning.rs:112:45 [INFO] [stdout] | [INFO] [stdout] 112 | / ... &format!( [INFO] [stdout] 113 | | ... "Got unexpected path argument for Option inner: {other:?}" [INFO] [stdout] 114 | | ... ), [INFO] [stdout] | |_______________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 112 ~ format!( [INFO] [stdout] 113 + "Got unexpected path argument for Option inner: {other:?}" [INFO] [stdout] 114 ~ ), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `match` can be collapsed into the outer `match` [INFO] [stdout] --> src/pg_extern/returning.rs:130:82 [INFO] [stdout] | [INFO] [stdout] 130 | ... GenericArgument::Type(ty) => match ty { [INFO] [stdout] | ____________________________________________________^ [INFO] [stdout] 131 | | ... Type::Path(this_path) => { [INFO] [stdout] 132 | | ... segments = [INFO] [stdout] 133 | | ... this_path.path.segments.clone(); [INFO] [stdout] ... | [INFO] [stdout] 137 | | ... _ => continue, [INFO] [stdout] 138 | | ... }, [INFO] [stdout] | |_______________________^ [INFO] [stdout] | [INFO] [stdout] help: the outer pattern can be modified to include the inner pattern [INFO] [stdout] --> src/pg_extern/returning.rs:130:75 [INFO] [stdout] | [INFO] [stdout] 130 | ... GenericArgument::Type(ty) => match ty { [INFO] [stdout] | ^^ replace this binding [INFO] [stdout] 131 | ... Type::Path(this_path) => { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ with this pattern [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_match [INFO] [stdout] = note: `#[warn(clippy::collapsible_match)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> src/pg_extern/returning.rs:177:53 [INFO] [stdout] | [INFO] [stdout] 177 | / ... &format!( [INFO] [stdout] 178 | | ... "Got unexpected generic argument for SetOfIterator: {other:?}" [INFO] [stdout] 179 | | ... ), [INFO] [stdout] | |_______________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 177 ~ format!( [INFO] [stdout] 178 + "Got unexpected generic argument for SetOfIterator: {other:?}" [INFO] [stdout] 179 ~ ), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> src/pg_extern/returning.rs:187:45 [INFO] [stdout] | [INFO] [stdout] 187 | / ... &format!( [INFO] [stdout] 188 | | ... "Got unexpected path argument for SetOfIterator: {other:?}" [INFO] [stdout] 189 | | ... ), [INFO] [stdout] | |_______________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 187 ~ format!( [INFO] [stdout] 188 + "Got unexpected path argument for SetOfIterator: {other:?}" [INFO] [stdout] 189 ~ ), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> src/pg_extern/returning.rs:208:61 [INFO] [stdout] | [INFO] [stdout] 208 | / ... &format!( [INFO] [stdout] 209 | | ... "Got unexpected generic argument for Option/Result inner: {other:?}" [INFO] [stdout] 210 | | ... ), [INFO] [stdout] | |_______________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 208 ~ format!( [INFO] [stdout] 209 + "Got unexpected generic argument for Option/Result inner: {other:?}" [INFO] [stdout] 210 ~ ), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> src/pg_extern/returning.rs:218:53 [INFO] [stdout] | [INFO] [stdout] 218 | / ... &format!( [INFO] [stdout] 219 | | ... "Got unexpected path argument for Option/Result inner: {other:?}" [INFO] [stdout] 220 | | ... ), [INFO] [stdout] | |_______________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 218 ~ format!( [INFO] [stdout] 219 + "Got unexpected path argument for Option/Result inner: {other:?}" [INFO] [stdout] 220 ~ ), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> src/pg_extern/returning.rs:309:53 [INFO] [stdout] | [INFO] [stdout] 309 | / ... &format!( [INFO] [stdout] 310 | | ... "Got unexpected generic argument: {other:?}" [INFO] [stdout] 311 | | ... ), [INFO] [stdout] | |_______________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 309 ~ format!( [INFO] [stdout] 310 + "Got unexpected generic argument: {other:?}" [INFO] [stdout] 311 ~ ), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> src/pg_extern/returning.rs:319:45 [INFO] [stdout] | [INFO] [stdout] 319 | ... &format!("Got unexpected path argument: {other:?}"), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `format!("Got unexpected path argument: {other:?}")` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> src/pg_extern/returning.rs:347:33 [INFO] [stdout] | [INFO] [stdout] 347 | ... &format!("Got unknown return type: {type_paren:?}"), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `format!("Got unknown return type: {type_paren:?}")` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> src/pg_extern/returning.rs:354:29 [INFO] [stdout] | [INFO] [stdout] 354 | ... &format!("Got unknown return type: {other:?}"), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `format!("Got unknown return type: {other:?}")` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc quote line without `>` marker [INFO] [stdout] --> src/pg_extern/search_path.rs:14:1 [INFO] [stdout] | [INFO] [stdout] 14 | to the `pgx` framework and very subject to change between versions. While you may use this, please do it with caution. [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: if this not intended to be a quote at all, escape it with `\>` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation [INFO] [stdout] help: add markers to start of line [INFO] [stdout] | [INFO] [stdout] 14 | > to the `pgx` framework and very subject to change between versions. While you may use this, please do it with caution. [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function call inside of `expect` [INFO] [stdout] --> src/pg_extern/search_path.rs:65:63 [INFO] [stdout] | [INFO] [stdout] 65 | fields: input.parse_terminated(SearchPath::parse).expect(&format!("Got {}", input)), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `unwrap_or_else(|_| panic!("Got {}", input))` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#expect_fun_call [INFO] [stdout] = note: `#[warn(clippy::expect_fun_call)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc quote line without `>` marker [INFO] [stdout] --> src/pg_trigger/mod.rs:6:1 [INFO] [stdout] | [INFO] [stdout] 6 | to the `pgx` framework and very subject to change between versions. While you may use this, please do it with caution. [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: if this not intended to be a quote at all, escape it with `\>` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation [INFO] [stdout] help: add markers to start of line [INFO] [stdout] | [INFO] [stdout] 6 | > to the `pgx` framework and very subject to change between versions. While you may use this, please do it with caution. [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc quote line without `>` marker [INFO] [stdout] --> src/pg_trigger/attribute.rs:6:1 [INFO] [stdout] | [INFO] [stdout] 6 | to the `pgx` framework and very subject to change between versions. While you may use this, please do it with caution. [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: if this not intended to be a quote at all, escape it with `\>` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation [INFO] [stdout] help: add markers to start of line [INFO] [stdout] | [INFO] [stdout] 6 | > to the `pgx` framework and very subject to change between versions. While you may use this, please do it with caution. [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `to_string` applied to a type that implements `Display` in `format!` args [INFO] [stdout] --> src/pg_trigger/attribute.rs:46:30 [INFO] [stdout] | [INFO] [stdout] 46 | ident.to_string(), [INFO] [stdout] | ^^^^^^^^^^^^ help: remove this [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#to_string_in_format_args [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `to_string` applied to a type that implements `Display` in `format!` args [INFO] [stdout] --> src/pg_trigger/attribute.rs:47:30 [INFO] [stdout] | [INFO] [stdout] 47 | input.to_string() [INFO] [stdout] | ^^^^^^^^^^^^ help: remove this [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#to_string_in_format_args [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc quote line without `>` marker [INFO] [stdout] --> src/pg_trigger/entity.rs:6:1 [INFO] [stdout] | [INFO] [stdout] 6 | to the `pgx` framework and very subject to change between versions. While you may use this, please do it with caution. [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: if this not intended to be a quote at all, escape it with `\>` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation [INFO] [stdout] help: add markers to start of line [INFO] [stdout] | [INFO] [stdout] 6 | > to the `pgx` framework and very subject to change between versions. While you may use this, please do it with caution. [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: deref which would be done by auto-deref [INFO] [stdout] --> src/pg_extern/mod.rs:108:45 [INFO] [stdout] | [INFO] [stdout] 108 | .replace("@FUNCTION_NAME@", &*(func.sig.ident.to_string() + "_wrapper")) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `&(func.sig.ident.to_string() + "_wrapper")` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#explicit_auto_deref [INFO] [stdout] = note: `#[warn(clippy::explicit_auto_deref)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: deref which would be done by auto-deref [INFO] [stdout] --> src/pg_extern/mod.rs:197:33 [INFO] [stdout] | [INFO] [stdout] 197 | ... &*(self.func.sig.ident.to_string() + "_wrapper"), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `&(self.func.sig.ident.to_string() + "_wrapper")` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#explicit_auto_deref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: deref which would be done by auto-deref [INFO] [stdout] --> src/pg_extern/mod.rs:199:42 [INFO] [stdout] | [INFO] [stdout] 199 | ... sql.push_str(&*line); [INFO] [stdout] | ^^^^^^ help: try: `&line` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#explicit_auto_deref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: deref which would be done by auto-deref [INFO] [stdout] --> src/pg_trigger/mod.rs:43:53 [INFO] [stdout] | [INFO] [stdout] 43 | .replace("@FUNCTION_NAME@", &*(func.sig.ident.to_string() + "_wrapper")) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `&(func.sig.ident.to_string() + "_wrapper")` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#explicit_auto_deref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `to_string` applied to a type that implements `Display` in `format!` args [INFO] [stdout] --> src/pg_trigger/mod.rs:61:55 [INFO] [stdout] | [INFO] [stdout] 61 | &format!("{}_wrapper", self.func.sig.ident.to_string()), [INFO] [stdout] | ^^^^^^^^^^^^ help: remove this [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#to_string_in_format_args [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `to_string` applied to a type that implements `Display` in `format!` args [INFO] [stdout] --> src/pg_trigger/mod.rs:116:71 [INFO] [stdout] | [INFO] [stdout] 116 | &format!("__pgx_internals_trigger_{}", self.func.sig.ident.to_string()), [INFO] [stdout] | ^^^^^^^^^^^^ help: remove this [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#to_string_in_format_args [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc quote line without `>` marker [INFO] [stdout] --> src/pgx_attribute.rs:14:1 [INFO] [stdout] | [INFO] [stdout] 14 | to the `pgx` framework and very subject to change between versions. While you may use this, please do it with caution. [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: if this not intended to be a quote at all, escape it with `\>` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation [INFO] [stdout] help: add markers to start of line [INFO] [stdout] | [INFO] [stdout] 14 | > to the `pgx` framework and very subject to change between versions. While you may use this, please do it with caution. [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc quote line without `>` marker [INFO] [stdout] --> src/pgx_sql.rs:14:1 [INFO] [stdout] | [INFO] [stdout] 14 | to the `pgx` framework and very subject to change between versions. While you may use this, please do it with caution. [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: if this not intended to be a quote at all, escape it with `\>` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation [INFO] [stdout] help: add markers to start of line [INFO] [stdout] | [INFO] [stdout] 14 | > to the `pgx` framework and very subject to change between versions. While you may use this, please do it with caution. [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: all variants have the same prefix: `RequiredBy` [INFO] [stdout] --> src/pgx_sql.rs:45:1 [INFO] [stdout] | [INFO] [stdout] 45 | / pub enum SqlGraphRelationship { [INFO] [stdout] 46 | | RequiredBy, [INFO] [stdout] 47 | | RequiredByArg, [INFO] [stdout] 48 | | RequiredByReturn, [INFO] [stdout] 49 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = help: remove the prefixes and use full paths to the variants instead of glob imports [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#enum_variant_names [INFO] [stdout] = note: `#[warn(clippy::enum_variant_names)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/pgx_sql.rs:328:53 [INFO] [stdout] | [INFO] [stdout] 328 | SqlGraphRelationship::RequiredBy => format!(r#"color = "gray""#), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `r#"color = "gray""#.to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/pgx_sql.rs:329:56 [INFO] [stdout] | [INFO] [stdout] 329 | SqlGraphRelationship::RequiredByArg => format!(r#"color = "black""#), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `r#"color = "black""#.to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/pgx_sql.rs:331:21 [INFO] [stdout] | [INFO] [stdout] 331 | format!(r#"dir = "back", color = "black""#) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `r#"dir = "back", color = "black""#.to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of `unwrap_or_else` to construct default value [INFO] [stdout] --> src/pgx_sql.rs:415:14 [INFO] [stdout] | [INFO] [stdout] 415 | .unwrap_or_else(|| "".to_string()) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `unwrap_or_default()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unwrap_or_default [INFO] [stdout] = note: `#[warn(clippy::unwrap_or_default)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `.find_map(..)` can be written more simply using `.find(..)` [INFO] [stdout] --> src/pgx_sql.rs:437:46 [INFO] [stdout] | [INFO] [stdout] 437 | let retval = item.creates.iter().find_map(|create_entity| { [INFO] [stdout] | ______________________________________________^ [INFO] [stdout] 438 | | if create_entity.has_sql_declared_entity(identifier) { [INFO] [stdout] 439 | | Some(create_entity) [INFO] [stdout] 440 | | } else { [INFO] [stdout] ... | [INFO] [stdout] 443 | | }); [INFO] [stdout] | |______________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_find_map [INFO] [stdout] = note: `#[warn(clippy::unnecessary_find_map)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/pgx_sql.rs:455:9 [INFO] [stdout] | [INFO] [stdout] 455 | / return if self.versioned_so { [INFO] [stdout] 456 | | let extname = &self.extension_name; [INFO] [stdout] 457 | | let extver = &self.control.default_version; [INFO] [stdout] ... | [INFO] [stdout] 461 | | String::from("MODULE_PATHNAME") [INFO] [stdout] 462 | | }; [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 455 ~ if self.versioned_so { [INFO] [stdout] 456 + let extname = &self.extension_name; [INFO] [stdout] 457 + let extver = &self.control.default_version; [INFO] [stdout] 458 + // Note: versioned so-name format must agree with cargo pgx [INFO] [stdout] 459 + format!("$libdir/{}-{}", extname, extver) [INFO] [stdout] 460 + } else { [INFO] [stdout] 461 + String::from("MODULE_PATHNAME") [INFO] [stdout] 462 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the following explicit lifetimes could be elided: 'a [INFO] [stdout] --> src/pgx_sql.rs:482:30 [INFO] [stdout] | [INFO] [stdout] 482 | fn initialize_extension_sqls<'a>( [INFO] [stdout] | ^^ [INFO] [stdout] 483 | graph: &'a mut StableGraph, [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stdout] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 482 ~ fn initialize_extension_sqls( [INFO] [stdout] 483 ~ graph: &mut StableGraph, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> src/pgx_sql.rs:486:6 [INFO] [stdout] | [INFO] [stdout] 486 | ) -> eyre::Result<(HashMap, Option, Option)> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stdout] = note: `#[warn(clippy::type_complexity)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/pgx_sql.rs:554:33 [INFO] [stdout] | [INFO] [stdout] 554 | return Some(&other_index); [INFO] [stdout] | ^^^^^^^^^^^^ help: change this to: `other_index` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/pgx_sql.rs:559:33 [INFO] [stdout] | [INFO] [stdout] 559 | return Some(&other_index); [INFO] [stdout] | ^^^^^^^^^^^^ help: change this to: `other_index` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/pgx_sql.rs:566:33 [INFO] [stdout] | [INFO] [stdout] 566 | return Some(&other_index); [INFO] [stdout] | ^^^^^^^^^^^^ help: change this to: `other_index` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/pgx_sql.rs:571:33 [INFO] [stdout] | [INFO] [stdout] 571 | return Some(&other_index); [INFO] [stdout] | ^^^^^^^^^^^^ help: change this to: `other_index` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/pgx_sql.rs:578:33 [INFO] [stdout] | [INFO] [stdout] 578 | return Some(&other_index); [INFO] [stdout] | ^^^^^^^^^^^^ help: change this to: `other_index` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/pgx_sql.rs:585:33 [INFO] [stdout] | [INFO] [stdout] 585 | return Some(&other_index); [INFO] [stdout] | ^^^^^^^^^^^^ help: change this to: `other_index` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you seem to want to iterate on a map's values [INFO] [stdout] --> src/pgx_sql.rs:669:28 [INFO] [stdout] | [INFO] [stdout] 669 | for (_item, &index) in schemas { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#for_kv_map [INFO] [stdout] = note: `#[warn(clippy::for_kv_map)]` on by default [INFO] [stdout] help: use the corresponding method [INFO] [stdout] | [INFO] [stdout] 669 - for (_item, &index) in schemas { [INFO] [stdout] 669 + for &index in schemas.values() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this function has too many arguments (9/7) [INFO] [stdout] --> src/pgx_sql.rs:839:1 [INFO] [stdout] | [INFO] [stdout] 839 | / fn connect_externs( [INFO] [stdout] 840 | | graph: &mut StableGraph, [INFO] [stdout] 841 | | externs: &HashMap, [INFO] [stdout] 842 | | hashes: &HashMap, [INFO] [stdout] ... | [INFO] [stdout] 848 | | triggers: &HashMap, [INFO] [stdout] 849 | | ) -> eyre::Result<()> { [INFO] [stdout] | |_____________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stdout] = note: `#[warn(clippy::too_many_arguments)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function call inside of `expect` [INFO] [stdout] --> src/pgx_sql.rs:928:22 [INFO] [stdout] | [INFO] [stdout] 928 | .expect(&format!("Could not fetch Builtin Type {}.", arg.used_ty.full_path)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `unwrap_or_else(|| panic!("Could not fetch Builtin Type {}.", arg.used_ty.full_path))` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#expect_fun_call [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant pattern matching, consider using `is_some()` [INFO] [stdout] --> src/pgx_sql.rs:933:28 [INFO] [stdout] | [INFO] [stdout] 933 | if let Some(_) = ext_item.has_sql_declared_entity(&SqlDeclared::Type( [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern_matching [INFO] [stdout] = note: `#[warn(clippy::redundant_pattern_matching)]` on by default [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 933 ~ if ext_item.has_sql_declared_entity(&SqlDeclared::Type( [INFO] [stdout] 934 + arg.used_ty.full_path.to_string(), [INFO] [stdout] 935 ~ )).is_some() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant pattern matching, consider using `is_some()` [INFO] [stdout] --> src/pgx_sql.rs:937:35 [INFO] [stdout] | [INFO] [stdout] 937 | } else if let Some(_) = ext_item.has_sql_declared_entity(&SqlDeclared::Enum( [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern_matching [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 937 ~ } else if ext_item.has_sql_declared_entity(&SqlDeclared::Enum( [INFO] [stdout] 938 + arg.used_ty.full_path.to_string(), [INFO] [stdout] 939 ~ )).is_some() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function call inside of `expect` [INFO] [stdout] --> src/pgx_sql.rs:968:26 [INFO] [stdout] | [INFO] [stdout] 968 | .expect(&format!("Could not fetch Builtin Type {}.", ty.full_path)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `unwrap_or_else(|| panic!("Could not fetch Builtin Type {}.", ty.full_path))` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#expect_fun_call [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant pattern matching, consider using `is_some()` [INFO] [stdout] --> src/pgx_sql.rs:973:32 [INFO] [stdout] | [INFO] [stdout] 973 | if let Some(_) = ext_item [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern_matching [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 973 ~ if ext_item [INFO] [stdout] 974 + .has_sql_declared_entity(&SqlDeclared::Type(ty.full_path.to_string())).is_some() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant pattern matching, consider using `is_some()` [INFO] [stdout] --> src/pgx_sql.rs:977:39 [INFO] [stdout] | [INFO] [stdout] 977 | } else if let Some(_) = ext_item [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern_matching [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 977 ~ } else if ext_item [INFO] [stdout] 978 + .has_sql_declared_entity(&SqlDeclared::Enum(ty.full_path.to_string())).is_some() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function call inside of `expect` [INFO] [stdout] --> src/pgx_sql.rs:1010:83 [INFO] [stdout] | [INFO] [stdout] 1010 | ... builtin_types.get(&type_entity.ty_source.to_string()).expect(&format!( [INFO] [stdout] | _____________________________________________________________________________^ [INFO] [stdout] 1011 | | ... "Could not fetch Builtin Type {}.", [INFO] [stdout] 1012 | | ... type_entity.ty_source, [INFO] [stdout] 1013 | | ... )); [INFO] [stdout] | |________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#expect_fun_call [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 1010 ~ builtin_types.get(&type_entity.ty_source.to_string()).unwrap_or_else(|| panic!("Could not fetch Builtin Type {}.", [INFO] [stdout] 1011 ~ type_entity.ty_source)); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant pattern matching, consider using `is_some()` [INFO] [stdout] --> src/pgx_sql.rs:1022:36 [INFO] [stdout] | [INFO] [stdout] 1022 | ... if let Some(_) = ext_item.has_sql_declared_entity(&SqlDeclared::Type( [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern_matching [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 1022 ~ if ext_item.has_sql_declared_entity(&SqlDeclared::Type( [INFO] [stdout] 1023 + type_entity.ty_source.to_string(), [INFO] [stdout] 1024 ~ )).is_some() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant pattern matching, consider using `is_some()` [INFO] [stdout] --> src/pgx_sql.rs:1030:43 [INFO] [stdout] | [INFO] [stdout] 1030 | ... } else if let Some(_) = ext_item.has_sql_declared_entity( [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern_matching [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 1030 ~ } else if ext_item.has_sql_declared_entity( [INFO] [stdout] 1031 + &SqlDeclared::Enum(type_entity.ty_source.to_string()), [INFO] [stdout] 1032 ~ ).is_some() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this function has too many arguments (8/7) [INFO] [stdout] --> src/pgx_sql.rs:1180:1 [INFO] [stdout] | [INFO] [stdout] 1180 | / fn initialize_aggregates( [INFO] [stdout] 1181 | | graph: &mut StableGraph, [INFO] [stdout] 1182 | | root: NodeIndex, [INFO] [stdout] 1183 | | bootstrap: Option, [INFO] [stdout] ... | [INFO] [stdout] 1188 | | mapped_types: &HashMap, [INFO] [stdout] 1189 | | ) -> eyre::Result> { [INFO] [stdout] | |________________________________________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this function has too many arguments (8/7) [INFO] [stdout] --> src/pgx_sql.rs:1226:1 [INFO] [stdout] | [INFO] [stdout] 1226 | / fn connect_aggregate( [INFO] [stdout] 1227 | | graph: &mut StableGraph, [INFO] [stdout] 1228 | | item: &PgAggregateEntity, [INFO] [stdout] 1229 | | index: NodeIndex, [INFO] [stdout] ... | [INFO] [stdout] 1234 | | externs: &HashMap, [INFO] [stdout] 1235 | | ) -> eyre::Result<()> { [INFO] [stdout] | |_____________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function call inside of `expect` [INFO] [stdout] --> src/pgx_sql.rs:1268:18 [INFO] [stdout] | [INFO] [stdout] 1268 | .expect(&format!("Could not fetch Builtin Type {}.", arg.used_ty.full_path)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `unwrap_or_else(|| panic!("Could not fetch Builtin Type {}.", arg.used_ty.full_path))` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#expect_fun_call [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function call inside of `expect` [INFO] [stdout] --> src/pgx_sql.rs:1286:18 [INFO] [stdout] | [INFO] [stdout] 1286 | .expect(&format!("Could not fetch Builtin Type {}.", arg.used_ty.full_path)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `unwrap_or_else(|| panic!("Could not fetch Builtin Type {}.", arg.used_ty.full_path))` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#expect_fun_call [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function call inside of `expect` [INFO] [stdout] --> src/pgx_sql.rs:1304:18 [INFO] [stdout] | [INFO] [stdout] 1304 | .expect(&format!("Could not fetch Builtin Type {}.", arg.full_path)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `unwrap_or_else(|| panic!("Could not fetch Builtin Type {}.", arg.full_path))` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#expect_fun_call [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: iterating on a map's keys [INFO] [stdout] --> src/pgx_sql.rs:1489:29 [INFO] [stdout] | [INFO] [stdout] 1489 | let mut paths = externs.iter().map(|(v, _)| v.full_path).collect::>(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `externs.keys().map(|v| v.full_path)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#iter_kv_map [INFO] [stdout] = note: `#[warn(clippy::iter_kv_map)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc quote line without `>` marker [INFO] [stdout] --> src/pg_trigger/mod.rs:6:1 [INFO] [stdout] | [INFO] [stdout] 6 | to the `pgx` framework and very subject to change between versions. While you may use this, please do it with caution. [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: if this not intended to be a quote at all, escape it with `\>` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation [INFO] [stdout] help: add markers to start of line [INFO] [stdout] | [INFO] [stdout] 6 | > to the `pgx` framework and very subject to change between versions. While you may use this, please do it with caution. [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc quote line without `>` marker [INFO] [stdout] --> src/pg_trigger/attribute.rs:6:1 [INFO] [stdout] | [INFO] [stdout] 6 | to the `pgx` framework and very subject to change between versions. While you may use this, please do it with caution. [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: if this not intended to be a quote at all, escape it with `\>` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation [INFO] [stdout] help: add markers to start of line [INFO] [stdout] | [INFO] [stdout] 6 | > to the `pgx` framework and very subject to change between versions. While you may use this, please do it with caution. [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc quote line without `>` marker [INFO] [stdout] --> src/positioning_ref.rs:14:1 [INFO] [stdout] | [INFO] [stdout] 14 | to the `pgx` framework and very subject to change between versions. While you may use this, please do it with caution. [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: if this not intended to be a quote at all, escape it with `\>` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation [INFO] [stdout] help: add markers to start of line [INFO] [stdout] | [INFO] [stdout] 14 | > to the `pgx` framework and very subject to change between versions. While you may use this, please do it with caution. [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `to_string` applied to a type that implements `Display` in `format!` args [INFO] [stdout] --> src/pg_trigger/attribute.rs:46:30 [INFO] [stdout] | [INFO] [stdout] 46 | ident.to_string(), [INFO] [stdout] | ^^^^^^^^^^^^ help: remove this [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#to_string_in_format_args [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `to_string` applied to a type that implements `Display` in `format!` args [INFO] [stdout] --> src/pg_trigger/attribute.rs:47:30 [INFO] [stdout] | [INFO] [stdout] 47 | input.to_string() [INFO] [stdout] | ^^^^^^^^^^^^ help: remove this [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#to_string_in_format_args [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc quote line without `>` marker [INFO] [stdout] --> src/pg_trigger/entity.rs:6:1 [INFO] [stdout] | [INFO] [stdout] 6 | to the `pgx` framework and very subject to change between versions. While you may use this, please do it with caution. [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: if this not intended to be a quote at all, escape it with `\>` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation [INFO] [stdout] help: add markers to start of line [INFO] [stdout] | [INFO] [stdout] 6 | > to the `pgx` framework and very subject to change between versions. While you may use this, please do it with caution. [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc quote line without `>` marker [INFO] [stdout] --> src/postgres_enum/mod.rs:14:1 [INFO] [stdout] | [INFO] [stdout] 14 | to the `pgx` framework and very subject to change between versions. While you may use this, please do it with caution. [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: if this not intended to be a quote at all, escape it with `\>` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation [INFO] [stdout] help: add markers to start of line [INFO] [stdout] | [INFO] [stdout] 14 | > to the `pgx` framework and very subject to change between versions. While you may use this, please do it with caution. [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc quote line without `>` marker [INFO] [stdout] --> src/postgres_enum/entity.rs:14:1 [INFO] [stdout] | [INFO] [stdout] 14 | to the `pgx` framework and very subject to change between versions. While you may use this, please do it with caution. [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: if this not intended to be a quote at all, escape it with `\>` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation [INFO] [stdout] help: add markers to start of line [INFO] [stdout] | [INFO] [stdout] 14 | > to the `pgx` framework and very subject to change between versions. While you may use this, please do it with caution. [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: deref which would be done by auto-deref [INFO] [stdout] --> src/pg_trigger/mod.rs:43:53 [INFO] [stdout] | [INFO] [stdout] 43 | .replace("@FUNCTION_NAME@", &*(func.sig.ident.to_string() + "_wrapper")) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `&(func.sig.ident.to_string() + "_wrapper")` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#explicit_auto_deref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `to_string` applied to a type that implements `Display` in `format!` args [INFO] [stdout] --> src/pg_trigger/mod.rs:61:55 [INFO] [stdout] | [INFO] [stdout] 61 | &format!("{}_wrapper", self.func.sig.ident.to_string()), [INFO] [stdout] | ^^^^^^^^^^^^ help: remove this [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#to_string_in_format_args [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `to_string` applied to a type that implements `Display` in `format!` args [INFO] [stdout] --> src/pg_trigger/mod.rs:116:71 [INFO] [stdout] | [INFO] [stdout] 116 | &format!("__pgx_internals_trigger_{}", self.func.sig.ident.to_string()), [INFO] [stdout] | ^^^^^^^^^^^^ help: remove this [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#to_string_in_format_args [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc quote line without `>` marker [INFO] [stdout] --> src/pgx_attribute.rs:14:1 [INFO] [stdout] | [INFO] [stdout] 14 | to the `pgx` framework and very subject to change between versions. While you may use this, please do it with caution. [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: if this not intended to be a quote at all, escape it with `\>` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation [INFO] [stdout] help: add markers to start of line [INFO] [stdout] | [INFO] [stdout] 14 | > to the `pgx` framework and very subject to change between versions. While you may use this, please do it with caution. [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc quote line without `>` marker [INFO] [stdout] --> src/pgx_sql.rs:14:1 [INFO] [stdout] | [INFO] [stdout] 14 | to the `pgx` framework and very subject to change between versions. While you may use this, please do it with caution. [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: if this not intended to be a quote at all, escape it with `\>` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation [INFO] [stdout] help: add markers to start of line [INFO] [stdout] | [INFO] [stdout] 14 | > to the `pgx` framework and very subject to change between versions. While you may use this, please do it with caution. [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: all variants have the same prefix: `RequiredBy` [INFO] [stdout] --> src/pgx_sql.rs:45:1 [INFO] [stdout] | [INFO] [stdout] 45 | / pub enum SqlGraphRelationship { [INFO] [stdout] 46 | | RequiredBy, [INFO] [stdout] 47 | | RequiredByArg, [INFO] [stdout] 48 | | RequiredByReturn, [INFO] [stdout] 49 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = help: remove the prefixes and use full paths to the variants instead of glob imports [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#enum_variant_names [INFO] [stdout] = note: `#[warn(clippy::enum_variant_names)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc quote line without `>` marker [INFO] [stdout] --> src/postgres_hash/mod.rs:14:1 [INFO] [stdout] | [INFO] [stdout] 14 | to the `pgx` framework and very subject to change between versions. While you may use this, please do it with caution. [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: if this not intended to be a quote at all, escape it with `\>` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation [INFO] [stdout] help: add markers to start of line [INFO] [stdout] | [INFO] [stdout] 14 | > to the `pgx` framework and very subject to change between versions. While you may use this, please do it with caution. [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc quote line without `>` marker [INFO] [stdout] --> src/postgres_hash/entity.rs:14:1 [INFO] [stdout] | [INFO] [stdout] 14 | to the `pgx` framework and very subject to change between versions. While you may use this, please do it with caution. [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: if this not intended to be a quote at all, escape it with `\>` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation [INFO] [stdout] help: add markers to start of line [INFO] [stdout] | [INFO] [stdout] 14 | > to the `pgx` framework and very subject to change between versions. While you may use this, please do it with caution. [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/pgx_sql.rs:328:53 [INFO] [stdout] | [INFO] [stdout] 328 | SqlGraphRelationship::RequiredBy => format!(r#"color = "gray""#), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `r#"color = "gray""#.to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/pgx_sql.rs:329:56 [INFO] [stdout] | [INFO] [stdout] 329 | SqlGraphRelationship::RequiredByArg => format!(r#"color = "black""#), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `r#"color = "black""#.to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/pgx_sql.rs:331:21 [INFO] [stdout] | [INFO] [stdout] 331 | format!(r#"dir = "back", color = "black""#) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `r#"dir = "back", color = "black""#.to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of `unwrap_or_else` to construct default value [INFO] [stdout] --> src/pgx_sql.rs:415:14 [INFO] [stdout] | [INFO] [stdout] 415 | .unwrap_or_else(|| "".to_string()) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `unwrap_or_default()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unwrap_or_default [INFO] [stdout] = note: `#[warn(clippy::unwrap_or_default)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc quote line without `>` marker [INFO] [stdout] --> src/postgres_ord/mod.rs:14:1 [INFO] [stdout] | [INFO] [stdout] 14 | to the `pgx` framework and very subject to change between versions. While you may use this, please do it with caution. [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: if this not intended to be a quote at all, escape it with `\>` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation [INFO] [stdout] help: add markers to start of line [INFO] [stdout] | [INFO] [stdout] 14 | > to the `pgx` framework and very subject to change between versions. While you may use this, please do it with caution. [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc quote line without `>` marker [INFO] [stdout] --> src/postgres_ord/entity.rs:14:1 [INFO] [stdout] | [INFO] [stdout] 14 | to the `pgx` framework and very subject to change between versions. While you may use this, please do it with caution. [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: if this not intended to be a quote at all, escape it with `\>` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation [INFO] [stdout] help: add markers to start of line [INFO] [stdout] | [INFO] [stdout] 14 | > to the `pgx` framework and very subject to change between versions. While you may use this, please do it with caution. [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `.find_map(..)` can be written more simply using `.find(..)` [INFO] [stdout] --> src/pgx_sql.rs:437:46 [INFO] [stdout] | [INFO] [stdout] 437 | let retval = item.creates.iter().find_map(|create_entity| { [INFO] [stdout] | ______________________________________________^ [INFO] [stdout] 438 | | if create_entity.has_sql_declared_entity(identifier) { [INFO] [stdout] 439 | | Some(create_entity) [INFO] [stdout] 440 | | } else { [INFO] [stdout] ... | [INFO] [stdout] 443 | | }); [INFO] [stdout] | |______________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_find_map [INFO] [stdout] = note: `#[warn(clippy::unnecessary_find_map)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/pgx_sql.rs:455:9 [INFO] [stdout] | [INFO] [stdout] 455 | / return if self.versioned_so { [INFO] [stdout] 456 | | let extname = &self.extension_name; [INFO] [stdout] 457 | | let extver = &self.control.default_version; [INFO] [stdout] ... | [INFO] [stdout] 461 | | String::from("MODULE_PATHNAME") [INFO] [stdout] 462 | | }; [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 455 ~ if self.versioned_so { [INFO] [stdout] 456 + let extname = &self.extension_name; [INFO] [stdout] 457 + let extver = &self.control.default_version; [INFO] [stdout] 458 + // Note: versioned so-name format must agree with cargo pgx [INFO] [stdout] 459 + format!("$libdir/{}-{}", extname, extver) [INFO] [stdout] 460 + } else { [INFO] [stdout] 461 + String::from("MODULE_PATHNAME") [INFO] [stdout] 462 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the following explicit lifetimes could be elided: 'a [INFO] [stdout] --> src/pgx_sql.rs:482:30 [INFO] [stdout] | [INFO] [stdout] 482 | fn initialize_extension_sqls<'a>( [INFO] [stdout] | ^^ [INFO] [stdout] 483 | graph: &'a mut StableGraph, [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stdout] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 482 ~ fn initialize_extension_sqls( [INFO] [stdout] 483 ~ graph: &mut StableGraph, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> src/pgx_sql.rs:486:6 [INFO] [stdout] | [INFO] [stdout] 486 | ) -> eyre::Result<(HashMap, Option, Option)> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stdout] = note: `#[warn(clippy::type_complexity)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/pgx_sql.rs:554:33 [INFO] [stdout] | [INFO] [stdout] 554 | return Some(&other_index); [INFO] [stdout] | ^^^^^^^^^^^^ help: change this to: `other_index` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/pgx_sql.rs:559:33 [INFO] [stdout] | [INFO] [stdout] 559 | return Some(&other_index); [INFO] [stdout] | ^^^^^^^^^^^^ help: change this to: `other_index` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/pgx_sql.rs:566:33 [INFO] [stdout] | [INFO] [stdout] 566 | return Some(&other_index); [INFO] [stdout] | ^^^^^^^^^^^^ help: change this to: `other_index` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/pgx_sql.rs:571:33 [INFO] [stdout] | [INFO] [stdout] 571 | return Some(&other_index); [INFO] [stdout] | ^^^^^^^^^^^^ help: change this to: `other_index` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/pgx_sql.rs:578:33 [INFO] [stdout] | [INFO] [stdout] 578 | return Some(&other_index); [INFO] [stdout] | ^^^^^^^^^^^^ help: change this to: `other_index` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/pgx_sql.rs:585:33 [INFO] [stdout] | [INFO] [stdout] 585 | return Some(&other_index); [INFO] [stdout] | ^^^^^^^^^^^^ help: change this to: `other_index` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you seem to want to iterate on a map's values [INFO] [stdout] --> src/pgx_sql.rs:669:28 [INFO] [stdout] | [INFO] [stdout] 669 | for (_item, &index) in schemas { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#for_kv_map [INFO] [stdout] = note: `#[warn(clippy::for_kv_map)]` on by default [INFO] [stdout] help: use the corresponding method [INFO] [stdout] | [INFO] [stdout] 669 - for (_item, &index) in schemas { [INFO] [stdout] 669 + for &index in schemas.values() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc quote line without `>` marker [INFO] [stdout] --> src/postgres_type/mod.rs:14:1 [INFO] [stdout] | [INFO] [stdout] 14 | to the `pgx` framework and very subject to change between versions. While you may use this, please do it with caution. [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: if this not intended to be a quote at all, escape it with `\>` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation [INFO] [stdout] help: add markers to start of line [INFO] [stdout] | [INFO] [stdout] 14 | > to the `pgx` framework and very subject to change between versions. While you may use this, please do it with caution. [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc quote line without `>` marker [INFO] [stdout] --> src/postgres_type/entity.rs:14:1 [INFO] [stdout] | [INFO] [stdout] 14 | to the `pgx` framework and very subject to change between versions. While you may use this, please do it with caution. [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: if this not intended to be a quote at all, escape it with `\>` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation [INFO] [stdout] help: add markers to start of line [INFO] [stdout] | [INFO] [stdout] 14 | > to the `pgx` framework and very subject to change between versions. While you may use this, please do it with caution. [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this function has too many arguments (9/7) [INFO] [stdout] --> src/pgx_sql.rs:839:1 [INFO] [stdout] | [INFO] [stdout] 839 | / fn connect_externs( [INFO] [stdout] 840 | | graph: &mut StableGraph, [INFO] [stdout] 841 | | externs: &HashMap, [INFO] [stdout] 842 | | hashes: &HashMap, [INFO] [stdout] ... | [INFO] [stdout] 848 | | triggers: &HashMap, [INFO] [stdout] 849 | | ) -> eyre::Result<()> { [INFO] [stdout] | |_____________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stdout] = note: `#[warn(clippy::too_many_arguments)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: deref which would be done by auto-deref [INFO] [stdout] --> src/postgres_type/entity.rs:99:29 [INFO] [stdout] | [INFO] [stdout] 99 | .find(|(k, _v)| (**k).full_path == in_fn_path.as_str()) [INFO] [stdout] | ^^^^^ help: try: `k` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#explicit_auto_deref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function call inside of `expect` [INFO] [stdout] --> src/pgx_sql.rs:928:22 [INFO] [stdout] | [INFO] [stdout] 928 | .expect(&format!("Could not fetch Builtin Type {}.", arg.used_ty.full_path)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `unwrap_or_else(|| panic!("Could not fetch Builtin Type {}.", arg.used_ty.full_path))` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#expect_fun_call [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant pattern matching, consider using `is_some()` [INFO] [stdout] --> src/pgx_sql.rs:933:28 [INFO] [stdout] | [INFO] [stdout] 933 | if let Some(_) = ext_item.has_sql_declared_entity(&SqlDeclared::Type( [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern_matching [INFO] [stdout] = note: `#[warn(clippy::redundant_pattern_matching)]` on by default [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 933 ~ if ext_item.has_sql_declared_entity(&SqlDeclared::Type( [INFO] [stdout] 934 + arg.used_ty.full_path.to_string(), [INFO] [stdout] 935 ~ )).is_some() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant pattern matching, consider using `is_some()` [INFO] [stdout] --> src/pgx_sql.rs:937:35 [INFO] [stdout] | [INFO] [stdout] 937 | } else if let Some(_) = ext_item.has_sql_declared_entity(&SqlDeclared::Enum( [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern_matching [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 937 ~ } else if ext_item.has_sql_declared_entity(&SqlDeclared::Enum( [INFO] [stdout] 938 + arg.used_ty.full_path.to_string(), [INFO] [stdout] 939 ~ )).is_some() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function call inside of `expect` [INFO] [stdout] --> src/pgx_sql.rs:968:26 [INFO] [stdout] | [INFO] [stdout] 968 | .expect(&format!("Could not fetch Builtin Type {}.", ty.full_path)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `unwrap_or_else(|| panic!("Could not fetch Builtin Type {}.", ty.full_path))` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#expect_fun_call [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: deref which would be done by auto-deref [INFO] [stdout] --> src/postgres_type/entity.rs:127:29 [INFO] [stdout] | [INFO] [stdout] 127 | .find(|(k, _v)| (**k).full_path == out_fn_path.as_str()) [INFO] [stdout] | ^^^^^ help: try: `k` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#explicit_auto_deref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant pattern matching, consider using `is_some()` [INFO] [stdout] --> src/pgx_sql.rs:973:32 [INFO] [stdout] | [INFO] [stdout] 973 | if let Some(_) = ext_item [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern_matching [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 973 ~ if ext_item [INFO] [stdout] 974 + .has_sql_declared_entity(&SqlDeclared::Type(ty.full_path.to_string())).is_some() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant pattern matching, consider using `is_some()` [INFO] [stdout] --> src/pgx_sql.rs:977:39 [INFO] [stdout] | [INFO] [stdout] 977 | } else if let Some(_) = ext_item [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern_matching [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 977 ~ } else if ext_item [INFO] [stdout] 978 + .has_sql_declared_entity(&SqlDeclared::Enum(ty.full_path.to_string())).is_some() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function call inside of `expect` [INFO] [stdout] --> src/pgx_sql.rs:1010:83 [INFO] [stdout] | [INFO] [stdout] 1010 | ... builtin_types.get(&type_entity.ty_source.to_string()).expect(&format!( [INFO] [stdout] | _____________________________________________________________________________^ [INFO] [stdout] 1011 | | ... "Could not fetch Builtin Type {}.", [INFO] [stdout] 1012 | | ... type_entity.ty_source, [INFO] [stdout] 1013 | | ... )); [INFO] [stdout] | |________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#expect_fun_call [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 1010 ~ builtin_types.get(&type_entity.ty_source.to_string()).unwrap_or_else(|| panic!("Could not fetch Builtin Type {}.", [INFO] [stdout] 1011 ~ type_entity.ty_source)); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant pattern matching, consider using `is_some()` [INFO] [stdout] --> src/pgx_sql.rs:1022:36 [INFO] [stdout] | [INFO] [stdout] 1022 | ... if let Some(_) = ext_item.has_sql_declared_entity(&SqlDeclared::Type( [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern_matching [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 1022 ~ if ext_item.has_sql_declared_entity(&SqlDeclared::Type( [INFO] [stdout] 1023 + type_entity.ty_source.to_string(), [INFO] [stdout] 1024 ~ )).is_some() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant pattern matching, consider using `is_some()` [INFO] [stdout] --> src/pgx_sql.rs:1030:43 [INFO] [stdout] | [INFO] [stdout] 1030 | ... } else if let Some(_) = ext_item.has_sql_declared_entity( [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern_matching [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 1030 ~ } else if ext_item.has_sql_declared_entity( [INFO] [stdout] 1031 + &SqlDeclared::Enum(type_entity.ty_source.to_string()), [INFO] [stdout] 1032 ~ ).is_some() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this function has too many arguments (8/7) [INFO] [stdout] --> src/pgx_sql.rs:1180:1 [INFO] [stdout] | [INFO] [stdout] 1180 | / fn initialize_aggregates( [INFO] [stdout] 1181 | | graph: &mut StableGraph, [INFO] [stdout] 1182 | | root: NodeIndex, [INFO] [stdout] 1183 | | bootstrap: Option, [INFO] [stdout] ... | [INFO] [stdout] 1188 | | mapped_types: &HashMap, [INFO] [stdout] 1189 | | ) -> eyre::Result> { [INFO] [stdout] | |________________________________________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this function has too many arguments (8/7) [INFO] [stdout] --> src/pgx_sql.rs:1226:1 [INFO] [stdout] | [INFO] [stdout] 1226 | / fn connect_aggregate( [INFO] [stdout] 1227 | | graph: &mut StableGraph, [INFO] [stdout] 1228 | | item: &PgAggregateEntity, [INFO] [stdout] 1229 | | index: NodeIndex, [INFO] [stdout] ... | [INFO] [stdout] 1234 | | externs: &HashMap, [INFO] [stdout] 1235 | | ) -> eyre::Result<()> { [INFO] [stdout] | |_____________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function call inside of `expect` [INFO] [stdout] --> src/pgx_sql.rs:1268:18 [INFO] [stdout] | [INFO] [stdout] 1268 | .expect(&format!("Could not fetch Builtin Type {}.", arg.used_ty.full_path)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `unwrap_or_else(|| panic!("Could not fetch Builtin Type {}.", arg.used_ty.full_path))` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#expect_fun_call [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function call inside of `expect` [INFO] [stdout] --> src/pgx_sql.rs:1286:18 [INFO] [stdout] | [INFO] [stdout] 1286 | .expect(&format!("Could not fetch Builtin Type {}.", arg.used_ty.full_path)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `unwrap_or_else(|| panic!("Could not fetch Builtin Type {}.", arg.used_ty.full_path))` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#expect_fun_call [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function call inside of `expect` [INFO] [stdout] --> src/pgx_sql.rs:1304:18 [INFO] [stdout] | [INFO] [stdout] 1304 | .expect(&format!("Could not fetch Builtin Type {}.", arg.full_path)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `unwrap_or_else(|| panic!("Could not fetch Builtin Type {}.", arg.full_path))` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#expect_fun_call [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: iterating on a map's keys [INFO] [stdout] --> src/pgx_sql.rs:1489:29 [INFO] [stdout] | [INFO] [stdout] 1489 | let mut paths = externs.iter().map(|(v, _)| v.full_path).collect::>(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `externs.keys().map(|v| v.full_path)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#iter_kv_map [INFO] [stdout] = note: `#[warn(clippy::iter_kv_map)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc quote line without `>` marker [INFO] [stdout] --> src/positioning_ref.rs:14:1 [INFO] [stdout] | [INFO] [stdout] 14 | to the `pgx` framework and very subject to change between versions. While you may use this, please do it with caution. [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: if this not intended to be a quote at all, escape it with `\>` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation [INFO] [stdout] help: add markers to start of line [INFO] [stdout] | [INFO] [stdout] 14 | > to the `pgx` framework and very subject to change between versions. While you may use this, please do it with caution. [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc quote line without `>` marker [INFO] [stdout] --> src/postgres_enum/mod.rs:14:1 [INFO] [stdout] | [INFO] [stdout] 14 | to the `pgx` framework and very subject to change between versions. While you may use this, please do it with caution. [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: if this not intended to be a quote at all, escape it with `\>` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation [INFO] [stdout] help: add markers to start of line [INFO] [stdout] | [INFO] [stdout] 14 | > to the `pgx` framework and very subject to change between versions. While you may use this, please do it with caution. [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc quote line without `>` marker [INFO] [stdout] --> src/postgres_enum/entity.rs:14:1 [INFO] [stdout] | [INFO] [stdout] 14 | to the `pgx` framework and very subject to change between versions. While you may use this, please do it with caution. [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: if this not intended to be a quote at all, escape it with `\>` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation [INFO] [stdout] help: add markers to start of line [INFO] [stdout] | [INFO] [stdout] 14 | > to the `pgx` framework and very subject to change between versions. While you may use this, please do it with caution. [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc quote line without `>` marker [INFO] [stdout] --> src/schema/mod.rs:14:1 [INFO] [stdout] | [INFO] [stdout] 14 | to the `pgx` framework and very subject to change between versions. While you may use this, please do it with caution. [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: if this not intended to be a quote at all, escape it with `\>` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation [INFO] [stdout] help: add markers to start of line [INFO] [stdout] | [INFO] [stdout] 14 | > to the `pgx` framework and very subject to change between versions. While you may use this, please do it with caution. [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc quote line without `>` marker [INFO] [stdout] --> src/schema/entity.rs:14:1 [INFO] [stdout] | [INFO] [stdout] 14 | to the `pgx` framework and very subject to change between versions. While you may use this, please do it with caution. [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: if this not intended to be a quote at all, escape it with `\>` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation [INFO] [stdout] help: add markers to start of line [INFO] [stdout] | [INFO] [stdout] 14 | > to the `pgx` framework and very subject to change between versions. While you may use this, please do it with caution. [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc quote line without `>` marker [INFO] [stdout] --> src/to_sql/mod.rs:14:1 [INFO] [stdout] | [INFO] [stdout] 14 | to the `pgx` framework and very subject to change between versions. While you may use this, please do it with caution. [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: if this not intended to be a quote at all, escape it with `\>` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation [INFO] [stdout] help: add markers to start of line [INFO] [stdout] | [INFO] [stdout] 14 | > to the `pgx` framework and very subject to change between versions. While you may use this, please do it with caution. [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc quote line without `>` marker [INFO] [stdout] --> src/to_sql/entity.rs:14:1 [INFO] [stdout] | [INFO] [stdout] 14 | to the `pgx` framework and very subject to change between versions. While you may use this, please do it with caution. [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: if this not intended to be a quote at all, escape it with `\>` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation [INFO] [stdout] help: add markers to start of line [INFO] [stdout] | [INFO] [stdout] 14 | > to the `pgx` framework and very subject to change between versions. While you may use this, please do it with caution. [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/to_sql/entity.rs:96:72 [INFO] [stdout] | [INFO] [stdout] 96 | let content = content.replace("@MODULE_PATHNAME@", &module_pathname); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: change this to: `module_pathname` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/to_sql/entity.rs:117:23 [INFO] [stdout] | [INFO] [stdout] 117 | Some(self.cmp(&other)) [INFO] [stdout] | ^^^^^^ help: change this to: `other` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: equality checks against false can be replaced by a negation [INFO] [stdout] --> src/to_sql/mod.rs:139:9 [INFO] [stdout] | [INFO] [stdout] 139 | self.enabled == false || self.callback.is_some() || self.content.is_some() [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: try: `!self.enabled` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_comparison [INFO] [stdout] = note: `#[warn(clippy::bool_comparison)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc quote line without `>` marker [INFO] [stdout] --> src/postgres_hash/mod.rs:14:1 [INFO] [stdout] | [INFO] [stdout] 14 | to the `pgx` framework and very subject to change between versions. While you may use this, please do it with caution. [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: if this not intended to be a quote at all, escape it with `\>` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation [INFO] [stdout] help: add markers to start of line [INFO] [stdout] | [INFO] [stdout] 14 | > to the `pgx` framework and very subject to change between versions. While you may use this, please do it with caution. [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc quote line without `>` marker [INFO] [stdout] --> src/postgres_hash/entity.rs:14:1 [INFO] [stdout] | [INFO] [stdout] 14 | to the `pgx` framework and very subject to change between versions. While you may use this, please do it with caution. [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: if this not intended to be a quote at all, escape it with `\>` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation [INFO] [stdout] help: add markers to start of line [INFO] [stdout] | [INFO] [stdout] 14 | > to the `pgx` framework and very subject to change between versions. While you may use this, please do it with caution. [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc quote line without `>` marker [INFO] [stdout] --> src/used_type.rs:6:1 [INFO] [stdout] | [INFO] [stdout] 6 | to the `pgx` framework and very subject to change between versions. While you may use this, please do it with caution. [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: if this not intended to be a quote at all, escape it with `\>` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation [INFO] [stdout] help: add markers to start of line [INFO] [stdout] | [INFO] [stdout] 6 | > to the `pgx` framework and very subject to change between versions. While you may use this, please do it with caution. [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/used_type.rs:98:79 [INFO] [stdout] | [INFO] [stdout] 98 | let composite_type = Some(handle_composite_type_macro(&mac)?); [INFO] [stdout] | ^^^^ help: change this to: `mac` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `Span` which implements the `Copy` trait [INFO] [stdout] --> src/used_type.rs:196:45 [INFO] [stdout] | [INFO] [stdout] 196 | ... type_path.span().clone(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `type_path.span()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] = note: `#[warn(clippy::clone_on_copy)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `Span` which implements the `Copy` trait [INFO] [stdout] --> src/used_type.rs:203:33 [INFO] [stdout] | [INFO] [stdout] 203 | ... type_path.span().clone(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `type_path.span()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `Span` which implements the `Copy` trait [INFO] [stdout] --> src/used_type.rs:255:45 [INFO] [stdout] | [INFO] [stdout] 255 | ... type_path.span().clone(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `type_path.span()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `Span` which implements the `Copy` trait [INFO] [stdout] --> src/used_type.rs:263:33 [INFO] [stdout] | [INFO] [stdout] 263 | ... type_path.span().clone(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `type_path.span()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc quote line without `>` marker [INFO] [stdout] --> src/postgres_ord/mod.rs:14:1 [INFO] [stdout] | [INFO] [stdout] 14 | to the `pgx` framework and very subject to change between versions. While you may use this, please do it with caution. [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: if this not intended to be a quote at all, escape it with `\>` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation [INFO] [stdout] help: add markers to start of line [INFO] [stdout] | [INFO] [stdout] 14 | > to the `pgx` framework and very subject to change between versions. While you may use this, please do it with caution. [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc quote line without `>` marker [INFO] [stdout] --> src/postgres_ord/entity.rs:14:1 [INFO] [stdout] | [INFO] [stdout] 14 | to the `pgx` framework and very subject to change between versions. While you may use this, please do it with caution. [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: if this not intended to be a quote at all, escape it with `\>` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation [INFO] [stdout] help: add markers to start of line [INFO] [stdout] | [INFO] [stdout] 14 | > to the `pgx` framework and very subject to change between versions. While you may use this, please do it with caution. [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression borrows a value the compiler would automatically borrow [INFO] [stdout] --> src/used_type.rs:288:23 [INFO] [stdout] | [INFO] [stdout] 288 | let default = (&self.default).iter(); [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: change this to: `self.default` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/used_type.rs:347:29 [INFO] [stdout] | [INFO] [stdout] 347 | ... return Err(syn::Error::new(mac.span(), "`Vec` not supported, choose `default!(Vec, ident)` instead"))?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 347 - return Err(syn::Error::new(mac.span(), "`Vec` not supported, choose `default!(Vec, ident)` instead"))?; [INFO] [stdout] 347 + Err(syn::Error::new(mac.span(), "`Vec` not supported, choose `default!(Vec, ident)` instead"))? [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc quote line without `>` marker [INFO] [stdout] --> src/postgres_type/mod.rs:14:1 [INFO] [stdout] | [INFO] [stdout] 14 | to the `pgx` framework and very subject to change between versions. While you may use this, please do it with caution. [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: if this not intended to be a quote at all, escape it with `\>` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation [INFO] [stdout] help: add markers to start of line [INFO] [stdout] | [INFO] [stdout] 14 | > to the `pgx` framework and very subject to change between versions. While you may use this, please do it with caution. [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc quote line without `>` marker [INFO] [stdout] --> src/postgres_type/entity.rs:14:1 [INFO] [stdout] | [INFO] [stdout] 14 | to the `pgx` framework and very subject to change between versions. While you may use this, please do it with caution. [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: if this not intended to be a quote at all, escape it with `\>` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation [INFO] [stdout] help: add markers to start of line [INFO] [stdout] | [INFO] [stdout] 14 | > to the `pgx` framework and very subject to change between versions. While you may use this, please do it with caution. [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/used_type.rs:409:33 [INFO] [stdout] | [INFO] [stdout] 409 | ... return Err(syn::Error::new(mac.span(), "`VariadicArray` not supported, choose `default!(VariadicArray, ident)` instead"))?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 409 - return Err(syn::Error::new(mac.span(), "`VariadicArray` not supported, choose `default!(VariadicArray, ident)` instead"))?; [INFO] [stdout] 409 + Err(syn::Error::new(mac.span(), "`VariadicArray` not supported, choose `default!(VariadicArray, ident)` instead"))? [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `Span` which implements the `Copy` trait [INFO] [stdout] --> src/used_type.rs:386:25 [INFO] [stdout] | [INFO] [stdout] 386 | let original_span = original.span().clone(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `original.span()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: deref which would be done by auto-deref [INFO] [stdout] --> src/postgres_type/entity.rs:99:29 [INFO] [stdout] | [INFO] [stdout] 99 | .find(|(k, _v)| (**k).full_path == in_fn_path.as_str()) [INFO] [stdout] | ^^^^^ help: try: `k` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#explicit_auto_deref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/used_type.rs:471:33 [INFO] [stdout] | [INFO] [stdout] 471 | ... return Err(syn::Error::new(mac.span(), "`VariadicArray` not supported, choose `default!(VariadicArray, ident)` instead"))?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 471 - return Err(syn::Error::new(mac.span(), "`VariadicArray` not supported, choose `default!(VariadicArray, ident)` instead"))?; [INFO] [stdout] 471 + Err(syn::Error::new(mac.span(), "`VariadicArray` not supported, choose `default!(VariadicArray, ident)` instead"))? [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `Span` which implements the `Copy` trait [INFO] [stdout] --> src/used_type.rs:449:25 [INFO] [stdout] | [INFO] [stdout] 449 | let original_span = original.span().clone(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `original.span()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: deref which would be done by auto-deref [INFO] [stdout] --> src/postgres_type/entity.rs:127:29 [INFO] [stdout] | [INFO] [stdout] 127 | .find(|(k, _v)| (**k).full_path == out_fn_path.as_str()) [INFO] [stdout] | ^^^^^ help: try: `k` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#explicit_auto_deref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/used_type.rs:534:42 [INFO] [stdout] | [INFO] [stdout] 534 | ...=> return Err(syn::Error::new(mac.span(), "`Option` not supported, choose `Option` for a default of `NULL`, or `default!(T, default)` for a non-NULL default"))?, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 534 - "default" => return Err(syn::Error::new(mac.span(), "`Option` not supported, choose `Option` for a default of `NULL`, or `default!(T, default)` for a non-NULL default"))?, [INFO] [stdout] 534 + "default" => Err(syn::Error::new(mac.span(), "`Option` not supported, choose `Option` for a default of `NULL`, or `default!(T, default)` for a non-NULL default"))?, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/used_type.rs:615:17 [INFO] [stdout] | [INFO] [stdout] 615 | / return Err(syn::Error::new( [INFO] [stdout] 616 | | Span::call_site(), [INFO] [stdout] 617 | | format!("Unrecognized UnaryExpr in `default!()` macro, got: {:?}", out.expr), [INFO] [stdout] 618 | | )) [INFO] [stdout] | |__________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 615 ~ Err(syn::Error::new( [INFO] [stdout] 616 + Span::call_site(), [INFO] [stdout] 617 + format!("Unrecognized UnaryExpr in `default!()` macro, got: {:?}", out.expr), [INFO] [stdout] 618 + )) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/used_type.rs:628:21 [INFO] [stdout] | [INFO] [stdout] 628 | / return Err(syn::Error::new( [INFO] [stdout] 629 | | Span::call_site(), [INFO] [stdout] 630 | | format!( [INFO] [stdout] 631 | | "Unable to parse default value of `default!()` macro, got: {:?}", [INFO] [stdout] 632 | | out.expr [INFO] [stdout] 633 | | ), [INFO] [stdout] 634 | | )); [INFO] [stdout] | |______________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 628 ~ Err(syn::Error::new( [INFO] [stdout] 629 + Span::call_site(), [INFO] [stdout] 630 + format!( [INFO] [stdout] 631 + "Unable to parse default value of `default!()` macro, got: {:?}", [INFO] [stdout] 632 + out.expr [INFO] [stdout] 633 + ), [INFO] [stdout] 634 ~ )) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/used_type.rs:638:17 [INFO] [stdout] | [INFO] [stdout] 638 | / return Err(syn::Error::new( [INFO] [stdout] 639 | | Span::call_site(), [INFO] [stdout] 640 | | format!( [INFO] [stdout] 641 | | "Unable to parse default value of `default!()` macro, got: {:?}", [INFO] [stdout] 642 | | out.expr [INFO] [stdout] 643 | | ), [INFO] [stdout] 644 | | )) [INFO] [stdout] | |__________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 638 ~ Err(syn::Error::new( [INFO] [stdout] 639 + Span::call_site(), [INFO] [stdout] 640 + format!( [INFO] [stdout] 641 + "Unable to parse default value of `default!()` macro, got: {:?}", [INFO] [stdout] 642 + out.expr [INFO] [stdout] 643 + ), [INFO] [stdout] 644 + )) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/used_type.rs:653:17 [INFO] [stdout] | [INFO] [stdout] 653 | / return Err(syn::Error::new( [INFO] [stdout] 654 | | Span::call_site(), [INFO] [stdout] 655 | | format!( [INFO] [stdout] 656 | | "Unable to parse default value of `default!()` macro, got: {:?}", [INFO] [stdout] 657 | | out.expr [INFO] [stdout] 658 | | ), [INFO] [stdout] 659 | | )); [INFO] [stdout] | |__________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 653 ~ Err(syn::Error::new( [INFO] [stdout] 654 + Span::call_site(), [INFO] [stdout] 655 + format!( [INFO] [stdout] 656 + "Unable to parse default value of `default!()` macro, got: {:?}", [INFO] [stdout] 657 + out.expr [INFO] [stdout] 658 + ), [INFO] [stdout] 659 ~ )) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/used_type.rs:663:13 [INFO] [stdout] | [INFO] [stdout] 663 | / return Err(syn::Error::new( [INFO] [stdout] 664 | | Span::call_site(), [INFO] [stdout] 665 | | format!("Unable to parse default value of `default!()` macro, got: {:?}", out.expr), [INFO] [stdout] 666 | | )) [INFO] [stdout] | |______________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 663 ~ Err(syn::Error::new( [INFO] [stdout] 664 + Span::call_site(), [INFO] [stdout] 665 + format!("Unable to parse default value of `default!()` macro, got: {:?}", out.expr), [INFO] [stdout] 666 + )) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `NodeIndex` which implements the `Copy` trait [INFO] [stdout] --> src/lib.rs:209:43 [INFO] [stdout] | [INFO] [stdout] 209 | .neighbors_undirected(context.externs.get(item).unwrap().clone()) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try dereferencing it: `*context.externs.get(item).unwrap()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> src/lib.rs:278:13 [INFO] [stdout] | [INFO] [stdout] 278 | / &format!( [INFO] [stdout] 279 | | "Identifier `{}` was {} characters long, PostgreSQL will truncate identifiers with less than \ [INFO] [stdout] 280 | | {POSTGRES_IDENTIFIER_MAX_LEN} characters, opt for an identifier which Postgres won't truncate", [INFO] [stdout] 281 | | ident, [INFO] [stdout] 282 | | ident_string.len(), [INFO] [stdout] 283 | | ) [INFO] [stdout] | |_____________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 278 ~ format!( [INFO] [stdout] 279 + "Identifier `{}` was {} characters long, PostgreSQL will truncate identifiers with less than \ [INFO] [stdout] 280 + {POSTGRES_IDENTIFIER_MAX_LEN} characters, opt for an identifier which Postgres won't truncate", [INFO] [stdout] 281 + ident, [INFO] [stdout] 282 + ident_string.len(), [INFO] [stdout] 283 + ) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc quote line without `>` marker [INFO] [stdout] --> src/schema/mod.rs:14:1 [INFO] [stdout] | [INFO] [stdout] 14 | to the `pgx` framework and very subject to change between versions. While you may use this, please do it with caution. [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: if this not intended to be a quote at all, escape it with `\>` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation [INFO] [stdout] help: add markers to start of line [INFO] [stdout] | [INFO] [stdout] 14 | > to the `pgx` framework and very subject to change between versions. While you may use this, please do it with caution. [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc quote line without `>` marker [INFO] [stdout] --> src/schema/entity.rs:14:1 [INFO] [stdout] | [INFO] [stdout] 14 | to the `pgx` framework and very subject to change between versions. While you may use this, please do it with caution. [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: if this not intended to be a quote at all, escape it with `\>` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation [INFO] [stdout] help: add markers to start of line [INFO] [stdout] | [INFO] [stdout] 14 | > to the `pgx` framework and very subject to change between versions. While you may use this, please do it with caution. [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc quote line without `>` marker [INFO] [stdout] --> src/to_sql/mod.rs:14:1 [INFO] [stdout] | [INFO] [stdout] 14 | to the `pgx` framework and very subject to change between versions. While you may use this, please do it with caution. [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: if this not intended to be a quote at all, escape it with `\>` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation [INFO] [stdout] help: add markers to start of line [INFO] [stdout] | [INFO] [stdout] 14 | > to the `pgx` framework and very subject to change between versions. While you may use this, please do it with caution. [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc quote line without `>` marker [INFO] [stdout] --> src/to_sql/entity.rs:14:1 [INFO] [stdout] | [INFO] [stdout] 14 | to the `pgx` framework and very subject to change between versions. While you may use this, please do it with caution. [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: if this not intended to be a quote at all, escape it with `\>` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation [INFO] [stdout] help: add markers to start of line [INFO] [stdout] | [INFO] [stdout] 14 | > to the `pgx` framework and very subject to change between versions. While you may use this, please do it with caution. [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/to_sql/entity.rs:96:72 [INFO] [stdout] | [INFO] [stdout] 96 | let content = content.replace("@MODULE_PATHNAME@", &module_pathname); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: change this to: `module_pathname` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/to_sql/entity.rs:117:23 [INFO] [stdout] | [INFO] [stdout] 117 | Some(self.cmp(&other)) [INFO] [stdout] | ^^^^^^ help: change this to: `other` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: equality checks against false can be replaced by a negation [INFO] [stdout] --> src/to_sql/mod.rs:139:9 [INFO] [stdout] | [INFO] [stdout] 139 | self.enabled == false || self.callback.is_some() || self.content.is_some() [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: try: `!self.enabled` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_comparison [INFO] [stdout] = note: `#[warn(clippy::bool_comparison)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc quote line without `>` marker [INFO] [stdout] --> src/used_type.rs:6:1 [INFO] [stdout] | [INFO] [stdout] 6 | to the `pgx` framework and very subject to change between versions. While you may use this, please do it with caution. [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: if this not intended to be a quote at all, escape it with `\>` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation [INFO] [stdout] help: add markers to start of line [INFO] [stdout] | [INFO] [stdout] 6 | > to the `pgx` framework and very subject to change between versions. While you may use this, please do it with caution. [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/used_type.rs:98:79 [INFO] [stdout] | [INFO] [stdout] 98 | let composite_type = Some(handle_composite_type_macro(&mac)?); [INFO] [stdout] | ^^^^ help: change this to: `mac` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `Span` which implements the `Copy` trait [INFO] [stdout] --> src/used_type.rs:196:45 [INFO] [stdout] | [INFO] [stdout] 196 | ... type_path.span().clone(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `type_path.span()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] = note: `#[warn(clippy::clone_on_copy)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `Span` which implements the `Copy` trait [INFO] [stdout] --> src/used_type.rs:203:33 [INFO] [stdout] | [INFO] [stdout] 203 | ... type_path.span().clone(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `type_path.span()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `Span` which implements the `Copy` trait [INFO] [stdout] --> src/used_type.rs:255:45 [INFO] [stdout] | [INFO] [stdout] 255 | ... type_path.span().clone(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `type_path.span()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `Span` which implements the `Copy` trait [INFO] [stdout] --> src/used_type.rs:263:33 [INFO] [stdout] | [INFO] [stdout] 263 | ... type_path.span().clone(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `type_path.span()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression borrows a value the compiler would automatically borrow [INFO] [stdout] --> src/used_type.rs:288:23 [INFO] [stdout] | [INFO] [stdout] 288 | let default = (&self.default).iter(); [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: change this to: `self.default` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/used_type.rs:347:29 [INFO] [stdout] | [INFO] [stdout] 347 | ... return Err(syn::Error::new(mac.span(), "`Vec` not supported, choose `default!(Vec, ident)` instead"))?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 347 - return Err(syn::Error::new(mac.span(), "`Vec` not supported, choose `default!(Vec, ident)` instead"))?; [INFO] [stdout] 347 + Err(syn::Error::new(mac.span(), "`Vec` not supported, choose `default!(Vec, ident)` instead"))? [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/used_type.rs:409:33 [INFO] [stdout] | [INFO] [stdout] 409 | ... return Err(syn::Error::new(mac.span(), "`VariadicArray` not supported, choose `default!(VariadicArray, ident)` instead"))?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 409 - return Err(syn::Error::new(mac.span(), "`VariadicArray` not supported, choose `default!(VariadicArray, ident)` instead"))?; [INFO] [stdout] 409 + Err(syn::Error::new(mac.span(), "`VariadicArray` not supported, choose `default!(VariadicArray, ident)` instead"))? [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `Span` which implements the `Copy` trait [INFO] [stdout] --> src/used_type.rs:386:25 [INFO] [stdout] | [INFO] [stdout] 386 | let original_span = original.span().clone(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `original.span()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/used_type.rs:471:33 [INFO] [stdout] | [INFO] [stdout] 471 | ... return Err(syn::Error::new(mac.span(), "`VariadicArray` not supported, choose `default!(VariadicArray, ident)` instead"))?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 471 - return Err(syn::Error::new(mac.span(), "`VariadicArray` not supported, choose `default!(VariadicArray, ident)` instead"))?; [INFO] [stdout] 471 + Err(syn::Error::new(mac.span(), "`VariadicArray` not supported, choose `default!(VariadicArray, ident)` instead"))? [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `Span` which implements the `Copy` trait [INFO] [stdout] --> src/used_type.rs:449:25 [INFO] [stdout] | [INFO] [stdout] 449 | let original_span = original.span().clone(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `original.span()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/used_type.rs:534:42 [INFO] [stdout] | [INFO] [stdout] 534 | ...=> return Err(syn::Error::new(mac.span(), "`Option` not supported, choose `Option` for a default of `NULL`, or `default!(T, default)` for a non-NULL default"))?, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 534 - "default" => return Err(syn::Error::new(mac.span(), "`Option` not supported, choose `Option` for a default of `NULL`, or `default!(T, default)` for a non-NULL default"))?, [INFO] [stdout] 534 + "default" => Err(syn::Error::new(mac.span(), "`Option` not supported, choose `Option` for a default of `NULL`, or `default!(T, default)` for a non-NULL default"))?, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/used_type.rs:615:17 [INFO] [stdout] | [INFO] [stdout] 615 | / return Err(syn::Error::new( [INFO] [stdout] 616 | | Span::call_site(), [INFO] [stdout] 617 | | format!("Unrecognized UnaryExpr in `default!()` macro, got: {:?}", out.expr), [INFO] [stdout] 618 | | )) [INFO] [stdout] | |__________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 615 ~ Err(syn::Error::new( [INFO] [stdout] 616 + Span::call_site(), [INFO] [stdout] 617 + format!("Unrecognized UnaryExpr in `default!()` macro, got: {:?}", out.expr), [INFO] [stdout] 618 + )) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/used_type.rs:628:21 [INFO] [stdout] | [INFO] [stdout] 628 | / return Err(syn::Error::new( [INFO] [stdout] 629 | | Span::call_site(), [INFO] [stdout] 630 | | format!( [INFO] [stdout] 631 | | "Unable to parse default value of `default!()` macro, got: {:?}", [INFO] [stdout] 632 | | out.expr [INFO] [stdout] 633 | | ), [INFO] [stdout] 634 | | )); [INFO] [stdout] | |______________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 628 ~ Err(syn::Error::new( [INFO] [stdout] 629 + Span::call_site(), [INFO] [stdout] 630 + format!( [INFO] [stdout] 631 + "Unable to parse default value of `default!()` macro, got: {:?}", [INFO] [stdout] 632 + out.expr [INFO] [stdout] 633 + ), [INFO] [stdout] 634 ~ )) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/used_type.rs:638:17 [INFO] [stdout] | [INFO] [stdout] 638 | / return Err(syn::Error::new( [INFO] [stdout] 639 | | Span::call_site(), [INFO] [stdout] 640 | | format!( [INFO] [stdout] 641 | | "Unable to parse default value of `default!()` macro, got: {:?}", [INFO] [stdout] 642 | | out.expr [INFO] [stdout] 643 | | ), [INFO] [stdout] 644 | | )) [INFO] [stdout] | |__________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 638 ~ Err(syn::Error::new( [INFO] [stdout] 639 + Span::call_site(), [INFO] [stdout] 640 + format!( [INFO] [stdout] 641 + "Unable to parse default value of `default!()` macro, got: {:?}", [INFO] [stdout] 642 + out.expr [INFO] [stdout] 643 + ), [INFO] [stdout] 644 + )) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/used_type.rs:653:17 [INFO] [stdout] | [INFO] [stdout] 653 | / return Err(syn::Error::new( [INFO] [stdout] 654 | | Span::call_site(), [INFO] [stdout] 655 | | format!( [INFO] [stdout] 656 | | "Unable to parse default value of `default!()` macro, got: {:?}", [INFO] [stdout] 657 | | out.expr [INFO] [stdout] 658 | | ), [INFO] [stdout] 659 | | )); [INFO] [stdout] | |__________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 653 ~ Err(syn::Error::new( [INFO] [stdout] 654 + Span::call_site(), [INFO] [stdout] 655 + format!( [INFO] [stdout] 656 + "Unable to parse default value of `default!()` macro, got: {:?}", [INFO] [stdout] 657 + out.expr [INFO] [stdout] 658 + ), [INFO] [stdout] 659 ~ )) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/used_type.rs:663:13 [INFO] [stdout] | [INFO] [stdout] 663 | / return Err(syn::Error::new( [INFO] [stdout] 664 | | Span::call_site(), [INFO] [stdout] 665 | | format!("Unable to parse default value of `default!()` macro, got: {:?}", out.expr), [INFO] [stdout] 666 | | )) [INFO] [stdout] | |______________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 663 ~ Err(syn::Error::new( [INFO] [stdout] 664 + Span::call_site(), [INFO] [stdout] 665 + format!("Unable to parse default value of `default!()` macro, got: {:?}", out.expr), [INFO] [stdout] 666 + )) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `NodeIndex` which implements the `Copy` trait [INFO] [stdout] --> src/lib.rs:209:43 [INFO] [stdout] | [INFO] [stdout] 209 | .neighbors_undirected(context.externs.get(item).unwrap().clone()) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try dereferencing it: `*context.externs.get(item).unwrap()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> src/lib.rs:278:13 [INFO] [stdout] | [INFO] [stdout] 278 | / &format!( [INFO] [stdout] 279 | | "Identifier `{}` was {} characters long, PostgreSQL will truncate identifiers with less than \ [INFO] [stdout] 280 | | {POSTGRES_IDENTIFIER_MAX_LEN} characters, opt for an identifier which Postgres won't truncate", [INFO] [stdout] 281 | | ident, [INFO] [stdout] 282 | | ident_string.len(), [INFO] [stdout] 283 | | ) [INFO] [stdout] | |_____________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 278 ~ format!( [INFO] [stdout] 279 + "Identifier `{}` was {} characters long, PostgreSQL will truncate identifiers with less than \ [INFO] [stdout] 280 + {POSTGRES_IDENTIFIER_MAX_LEN} characters, opt for an identifier which Postgres won't truncate", [INFO] [stdout] 281 + ident, [INFO] [stdout] 282 + ident_string.len(), [INFO] [stdout] 283 + ) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 9.47s [INFO] running `Command { std: "docker" "inspect" "7b07d1bc29c71193233dde17b96baadd7008078346f38109bd94c68cf77fd7d4", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "7b07d1bc29c71193233dde17b96baadd7008078346f38109bd94c68cf77fd7d4", kill_on_drop: false }` [INFO] [stdout] 7b07d1bc29c71193233dde17b96baadd7008078346f38109bd94c68cf77fd7d4