[INFO] cloning repository https://github.com/armandoasd/rust_diesel_scaffolding [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/armandoasd/rust_diesel_scaffolding" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Farmandoasd%2Frust_diesel_scaffolding", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Farmandoasd%2Frust_diesel_scaffolding'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] decfc6be444f5f2bd15e3a62f8ff8f2d69157645 [INFO] checking armandoasd/rust_diesel_scaffolding against master#bca37a20bd376ce3fd138e7cdee7fe704e0f8814 for pr-139493-3 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Farmandoasd%2Frust_diesel_scaffolding" "/workspace/builds/worker-6-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-6-tc1/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/armandoasd/rust_diesel_scaffolding [INFO] finished tweaking git repo https://github.com/armandoasd/rust_diesel_scaffolding [INFO] tweaked toml for git repo https://github.com/armandoasd/rust_diesel_scaffolding written to /workspace/builds/worker-6-tc1/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/armandoasd/rust_diesel_scaffolding on toolchain bca37a20bd376ce3fd138e7cdee7fe704e0f8814 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+bca37a20bd376ce3fd138e7cdee7fe704e0f8814" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/armandoasd/rust_diesel_scaffolding already has a lockfile, it will not be regenerated [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+bca37a20bd376ce3fd138e7cdee7fe704e0f8814" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded pest_meta v2.7.6 [INFO] [stderr] Downloaded pluralizer v0.4.0 [INFO] [stderr] Downloaded pest_derive v2.7.6 [INFO] [stderr] Downloaded pest_generator v2.7.6 [INFO] [stderr] Downloaded handlebars v5.1.1 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-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:aa71247004a7fa38d13ec170f48f06cdedf5bc50b2a8645e56ed7e992e6fa513" "/opt/rustwide/cargo-home/bin/cargo" "+bca37a20bd376ce3fd138e7cdee7fe704e0f8814" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 73b401eee191099709c4ff94f9c2b4126b1027fad5fb637a72dcb7f7525aa4d7 [INFO] running `Command { std: "docker" "start" "-a" "73b401eee191099709c4ff94f9c2b4126b1027fad5fb637a72dcb7f7525aa4d7", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "73b401eee191099709c4ff94f9c2b4126b1027fad5fb637a72dcb7f7525aa4d7", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "73b401eee191099709c4ff94f9c2b4126b1027fad5fb637a72dcb7f7525aa4d7", kill_on_drop: false }` [INFO] [stdout] 73b401eee191099709c4ff94f9c2b4126b1027fad5fb637a72dcb7f7525aa4d7 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-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:aa71247004a7fa38d13ec170f48f06cdedf5bc50b2a8645e56ed7e992e6fa513" "/opt/rustwide/cargo-home/bin/cargo" "+bca37a20bd376ce3fd138e7cdee7fe704e0f8814" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 74176da6baf1061a630dcdc125484efa69325892e07384110c5f2110a6d1f896 [INFO] running `Command { std: "docker" "start" "-a" "74176da6baf1061a630dcdc125484efa69325892e07384110c5f2110a6d1f896", kill_on_drop: false }` [INFO] [stderr] Compiling thiserror v1.0.56 [INFO] [stderr] Compiling serde v1.0.196 [INFO] [stderr] Compiling memchr v2.7.1 [INFO] [stderr] Checking unicode-segmentation v1.10.1 [INFO] [stderr] Compiling proc-macro2 v1.0.78 [INFO] [stderr] Checking aho-corasick v1.1.2 [INFO] [stderr] Compiling quote v1.0.35 [INFO] [stderr] Checking convert_case v0.6.0 [INFO] [stderr] Checking regex-automata v0.4.5 [INFO] [stderr] Compiling syn v2.0.48 [INFO] [stderr] Compiling thiserror-impl v1.0.56 [INFO] [stderr] Compiling serde_derive v1.0.196 [INFO] [stderr] Checking regex v1.10.3 [INFO] [stderr] Checking pluralizer v0.4.0 [INFO] [stderr] Checking pest v2.7.6 [INFO] [stderr] Compiling pest_meta v2.7.6 [INFO] [stderr] Compiling pest_generator v2.7.6 [INFO] [stderr] Compiling pest_derive v2.7.6 [INFO] [stderr] Checking serde_json v1.0.111 [INFO] [stderr] Checking toml v0.5.6 [INFO] [stderr] Checking handlebars v5.1.1 [INFO] [stderr] Checking diesel_cli_ext v0.3.13 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused imports: `Case` and `Casing` [INFO] [stdout] --> src/parse.rs:1:20 [INFO] [stdout] | [INFO] [stdout] 1 | use convert_case::{Case, Casing}; [INFO] [stdout] | ^^^^ ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Value` [INFO] [stdout] --> src/parse.rs:3:24 [INFO] [stdout] | [INFO] [stdout] 3 | use serde_json::{json, Value}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `BTreeMap` [INFO] [stdout] --> src/parse.rs:4:24 [INFO] [stdout] | [INFO] [stdout] 4 | use std::collections::{BTreeMap, HashMap}; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::fmt::format` [INFO] [stdout] --> src/parse.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use std::fmt::format; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Case` and `Casing` [INFO] [stdout] --> src/parse.rs:1:20 [INFO] [stdout] | [INFO] [stdout] 1 | use convert_case::{Case, Casing}; [INFO] [stdout] | ^^^^ ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Value` [INFO] [stdout] --> src/parse.rs:3:24 [INFO] [stdout] | [INFO] [stdout] 3 | use serde_json::{json, Value}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `BTreeMap` [INFO] [stdout] --> src/parse.rs:4:24 [INFO] [stdout] | [INFO] [stdout] 4 | use std::collections::{BTreeMap, HashMap}; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::fmt::format` [INFO] [stdout] --> src/parse.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use std::fmt::format; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/parse.rs:62:9 [INFO] [stdout] | [INFO] [stdout] 62 | mut type_new_insertable, [INFO] [stdout] | ----^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/parse.rs:63:9 [INFO] [stdout] | [INFO] [stdout] 63 | mut type_json_serializable, [INFO] [stdout] | ----^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/parse.rs:130:9 [INFO] [stdout] | [INFO] [stdout] 130 | let mut ts_interface_type_dict: HashMap<&str, &str> = [ [INFO] [stdout] | ----^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/parse.rs:544:17 [INFO] [stdout] | [INFO] [stdout] 544 | let mut field_name = vec[0].to_string(); [INFO] [stdout] | ----^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `rust_style_fields` [INFO] [stdout] --> src/parse.rs:40:5 [INFO] [stdout] | [INFO] [stdout] 40 | rust_style_fields: bool, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_rust_style_fields` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `has_one_to_many` [INFO] [stdout] --> src/parse.rs:79:9 [INFO] [stdout] | [INFO] [stdout] 79 | let has_one_to_many = false; [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_has_one_to_many` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `index` [INFO] [stdout] --> src/parse.rs:768:21 [INFO] [stdout] | [INFO] [stdout] 768 | if let Some(index) = line.find(&pattern_many_to_many) { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_index` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/parse.rs:62:9 [INFO] [stdout] | [INFO] [stdout] 62 | mut type_new_insertable, [INFO] [stdout] | ----^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/parse.rs:63:9 [INFO] [stdout] | [INFO] [stdout] 63 | mut type_json_serializable, [INFO] [stdout] | ----^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/parse.rs:130:9 [INFO] [stdout] | [INFO] [stdout] 130 | let mut ts_interface_type_dict: HashMap<&str, &str> = [ [INFO] [stdout] | ----^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/parse.rs:544:17 [INFO] [stdout] | [INFO] [stdout] 544 | let mut field_name = vec[0].to_string(); [INFO] [stdout] | ----^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `rust_style_fields` [INFO] [stdout] --> src/parse.rs:40:5 [INFO] [stdout] | [INFO] [stdout] 40 | rust_style_fields: bool, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_rust_style_fields` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `has_one_to_many` [INFO] [stdout] --> src/parse.rs:79:9 [INFO] [stdout] | [INFO] [stdout] 79 | let has_one_to_many = false; [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_has_one_to_many` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `MappedRelationships` is more private than the item `generate_action` [INFO] [stdout] --> src/parse.rs:708:1 [INFO] [stdout] | [INFO] [stdout] 708 | / pub fn generate_action( [INFO] [stdout] 709 | | table_name: String, [INFO] [stdout] 710 | | class_name: String, [INFO] [stdout] 711 | | pks_list: Vec, [INFO] [stdout] 712 | | multiple_pk: bool, [INFO] [stdout] 713 | | relationships:MappedRelationships, [INFO] [stdout] 714 | | ) -> std::string::String { [INFO] [stdout] | |________________________^ function `generate_action` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `MappedRelationships` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/parse.rs:748:1 [INFO] [stdout] | [INFO] [stdout] 748 | struct MappedRelationships { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: `#[warn(private_interfaces)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `MappedRelationships` is more private than the item `generate_crud_controllers` [INFO] [stdout] --> src/parse.rs:730:1 [INFO] [stdout] | [INFO] [stdout] 730 | / pub fn generate_crud_controllers( [INFO] [stdout] 731 | | table_name: String, [INFO] [stdout] 732 | | class_name: String, [INFO] [stdout] 733 | | pks_list: Vec, [INFO] [stdout] 734 | | multiple_pk: bool, [INFO] [stdout] 735 | | relationships:MappedRelationships, [INFO] [stdout] 736 | | ) -> std::string::String { [INFO] [stdout] | |________________________^ function `generate_crud_controllers` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `MappedRelationships` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/parse.rs:748:1 [INFO] [stdout] | [INFO] [stdout] 748 | struct MappedRelationships { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `MappedRelationships` is more private than the item `find_relationships` [INFO] [stdout] --> src/parse.rs:761:1 [INFO] [stdout] | [INFO] [stdout] 761 | pub fn find_relationships(lines: std::str::Split<'_, char>, table_name: String, is_many_t_m_e: bool) -> MappedRelationships { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ function `find_relationships` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `MappedRelationships` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/parse.rs:748:1 [INFO] [stdout] | [INFO] [stdout] 748 | struct MappedRelationships { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `RelationshipDesc` is more private than the item `find_many_to_many_relationships` [INFO] [stdout] --> src/parse.rs:819:1 [INFO] [stdout] | [INFO] [stdout] 819 | pub fn find_many_to_many_relationships(lines: std::str::Split<'_, char>, table_name: String) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ function `find_many_to_many_relationships` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `RelationshipDesc` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/parse.rs:754:1 [INFO] [stdout] | [INFO] [stdout] 754 | struct RelationshipDesc { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `index` [INFO] [stdout] --> src/parse.rs:768:21 [INFO] [stdout] | [INFO] [stdout] 768 | if let Some(index) = line.find(&pattern_many_to_many) { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_index` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `MappedRelationships` is more private than the item `generate_action` [INFO] [stdout] --> src/parse.rs:708:1 [INFO] [stdout] | [INFO] [stdout] 708 | / pub fn generate_action( [INFO] [stdout] 709 | | table_name: String, [INFO] [stdout] 710 | | class_name: String, [INFO] [stdout] 711 | | pks_list: Vec, [INFO] [stdout] 712 | | multiple_pk: bool, [INFO] [stdout] 713 | | relationships:MappedRelationships, [INFO] [stdout] 714 | | ) -> std::string::String { [INFO] [stdout] | |________________________^ function `generate_action` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `MappedRelationships` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/parse.rs:748:1 [INFO] [stdout] | [INFO] [stdout] 748 | struct MappedRelationships { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: `#[warn(private_interfaces)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `MappedRelationships` is more private than the item `generate_crud_controllers` [INFO] [stdout] --> src/parse.rs:730:1 [INFO] [stdout] | [INFO] [stdout] 730 | / pub fn generate_crud_controllers( [INFO] [stdout] 731 | | table_name: String, [INFO] [stdout] 732 | | class_name: String, [INFO] [stdout] 733 | | pks_list: Vec, [INFO] [stdout] 734 | | multiple_pk: bool, [INFO] [stdout] 735 | | relationships:MappedRelationships, [INFO] [stdout] 736 | | ) -> std::string::String { [INFO] [stdout] | |________________________^ function `generate_crud_controllers` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `MappedRelationships` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/parse.rs:748:1 [INFO] [stdout] | [INFO] [stdout] 748 | struct MappedRelationships { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `MappedRelationships` is more private than the item `find_relationships` [INFO] [stdout] --> src/parse.rs:761:1 [INFO] [stdout] | [INFO] [stdout] 761 | pub fn find_relationships(lines: std::str::Split<'_, char>, table_name: String, is_many_t_m_e: bool) -> MappedRelationships { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ function `find_relationships` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `MappedRelationships` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/parse.rs:748:1 [INFO] [stdout] | [INFO] [stdout] 748 | struct MappedRelationships { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `RelationshipDesc` is more private than the item `find_many_to_many_relationships` [INFO] [stdout] --> src/parse.rs:819:1 [INFO] [stdout] | [INFO] [stdout] 819 | pub fn find_many_to_many_relationships(lines: std::str::Split<'_, char>, table_name: String) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ function `find_many_to_many_relationships` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `RelationshipDesc` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/parse.rs:754:1 [INFO] [stdout] | [INFO] [stdout] 754 | struct RelationshipDesc { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 12.71s [INFO] running `Command { std: "docker" "inspect" "74176da6baf1061a630dcdc125484efa69325892e07384110c5f2110a6d1f896", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "74176da6baf1061a630dcdc125484efa69325892e07384110c5f2110a6d1f896", kill_on_drop: false }` [INFO] [stdout] 74176da6baf1061a630dcdc125484efa69325892e07384110c5f2110a6d1f896