[INFO] cloning repository https://github.com/theidiotmachine/WA1
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/theidiotmachine/WA1" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ftheidiotmachine%2FWA1", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ftheidiotmachine%2FWA1'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 8f93c8ff5268eaf13da4a53b04c9819ba563c692
[INFO] testing theidiotmachine/WA1 against 1.83.0 for beta-1.84.0-4-retry
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ftheidiotmachine%2FWA1" "/workspace/builds/worker-4-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc1/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/theidiotmachine/WA1 on toolchain 1.83.0
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.83.0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking git repo https://github.com/theidiotmachine/WA1
[INFO] finished tweaking git repo https://github.com/theidiotmachine/WA1
[INFO] tweaked toml for git repo https://github.com/theidiotmachine/WA1 written to /workspace/builds/worker-4-tc1/source/Cargo.toml
[INFO] crate git repo https://github.com/theidiotmachine/WA1 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" "+1.83.0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded wasmtime-environ v0.8.0
[INFO] [stderr]   Downloaded cranelift-native v0.50.0
[INFO] [stderr]   Downloaded wasmtime-runtime v0.8.0
[INFO] [stderr]   Downloaded cranelift-bforest v0.50.0
[INFO] [stderr]   Downloaded wasmtime-debug v0.8.0
[INFO] [stderr]   Downloaded cranelift-frontend v0.50.0
[INFO] [stderr]   Downloaded wasmparser v0.39.3
[INFO] [stderr]   Downloaded wasmtime v0.8.0
[INFO] [stderr]   Downloaded wasmtime-jit v0.8.0
[INFO] [stderr]   Downloaded goblin v0.1.2
[INFO] [stderr]   Downloaded cranelift-codegen-meta v0.50.0
[INFO] [stderr]   Downloaded cranelift-codegen-shared v0.50.0
[INFO] [stderr]   Downloaded cranelift-entity v0.50.0
[INFO] [stderr]   Downloaded cranelift-codegen v0.50.0
[INFO] [stderr]   Downloaded cranelift-wasm v0.50.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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:f3a9d4ad9d972b27faf3965f35b62e55ba32bbce8f20bc8fe909558a86702fde" "/opt/rustwide/cargo-home/bin/cargo" "+1.83.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 3c31619e4891db7901ecd507044bd06a112926ac081f543329293648ee9e9db9
[INFO] running `Command { std: "docker" "start" "-a" "3c31619e4891db7901ecd507044bd06a112926ac081f543329293648ee9e9db9", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "3c31619e4891db7901ecd507044bd06a112926ac081f543329293648ee9e9db9", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "3c31619e4891db7901ecd507044bd06a112926ac081f543329293648ee9e9db9", kill_on_drop: false }`
[INFO] [stdout] 3c31619e4891db7901ecd507044bd06a112926ac081f543329293648ee9e9db9
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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:f3a9d4ad9d972b27faf3965f35b62e55ba32bbce8f20bc8fe909558a86702fde" "/opt/rustwide/cargo-home/bin/cargo" "+1.83.0" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 66af68759fc826d2fb18c771832c23b98f5de618d16d0a026c513a69244b7d62
[INFO] running `Command { std: "docker" "start" "-a" "66af68759fc826d2fb18c771832c23b98f5de618d16d0a026c513a69244b7d62", kill_on_drop: false }`
[INFO] [stderr]    Compiling cfg-if v0.1.10
[INFO] [stderr]    Compiling libc v0.2.65
[INFO] [stderr]    Compiling proc-macro2 v1.0.6
[INFO] [stderr]    Compiling unicode-xid v0.2.0
[INFO] [stderr]    Compiling syn v1.0.11
[INFO] [stderr]    Compiling log v0.4.8
[INFO] [stderr]    Compiling serde v1.0.104
[INFO] [stderr]    Compiling autocfg v0.1.7
[INFO] [stderr]    Compiling lazy_static v1.4.0
[INFO] [stderr]    Compiling semver-parser v0.7.0
[INFO] [stderr]    Compiling byteorder v1.3.2
[INFO] [stderr]    Compiling target-lexicon v0.9.0
[INFO] [stderr]    Compiling cranelift-codegen-shared v0.50.0
[INFO] [stderr]    Compiling memchr v2.2.1
[INFO] [stderr]    Compiling typenum v1.11.2
[INFO] [stderr]    Compiling glob v0.3.0
[INFO] [stderr]    Compiling bitflags v1.2.1
[INFO] [stderr]    Compiling smallvec v1.0.0
[INFO] [stderr]    Compiling scopeguard v1.0.0
[INFO] [stderr]    Compiling thread_local v0.3.6
[INFO] [stderr]    Compiling semver v0.9.0
[INFO] [stderr]    Compiling byte-tools v0.3.1
[INFO] [stderr]    Compiling quick-error v1.2.2
[INFO] [stderr]    Compiling crossbeam-utils v0.7.0
[INFO] [stderr]    Compiling crossbeam-epoch v0.8.0
[INFO] [stderr]    Compiling indexmap v1.3.0
[INFO] [stderr]    Compiling rayon-core v1.6.1
[INFO] [stderr]    Compiling regex-syntax v0.6.12
[INFO] [stderr]    Compiling humantime v1.3.0
[INFO] [stderr]    Compiling block-padding v0.1.5
[INFO] [stderr]    Compiling rustc_version v0.2.3
[INFO] [stderr]    Compiling termcolor v1.0.5
[INFO] [stderr]    Compiling fake-simd v0.1.2
[INFO] [stderr]    Compiling arrayvec v0.4.12
[INFO] [stderr]    Compiling opaque-debug v0.2.3
[INFO] [stderr]    Compiling wasmtime-environ v0.8.0
[INFO] [stderr]    Compiling wasmparser v0.39.3
[INFO] [stderr]    Compiling either v1.5.3
[INFO] [stderr]    Compiling anyhow v1.0.25
[INFO] [stderr]    Compiling more-asserts v0.2.1
[INFO] [stderr]    Compiling memoffset v0.5.3
[INFO] [stderr]    Compiling num_cpus v1.11.1
[INFO] [stderr]    Compiling jobserver v0.1.17
[INFO] [stderr]    Compiling atty v0.2.13
[INFO] [stderr]    Compiling dirs-sys v0.3.4
[INFO] [stderr]    Compiling crossbeam-queue v0.2.0
[INFO] [stderr]    Compiling errno v0.2.4
[INFO] [stderr]    Compiling cc v1.0.47
[INFO] [stderr]    Compiling quote v1.0.2
[INFO] [stderr]    Compiling aho-corasick v0.7.6
[INFO] [stderr]    Compiling generic-array v0.12.3
[INFO] [stderr]    Compiling directories v2.0.2
[INFO] [stderr]    Compiling base64 v0.11.0
[INFO] [stderr]    Compiling plain v0.2.3
[INFO] [stderr]    Compiling spin v0.5.2
[INFO] [stderr]    Compiling nodrop v0.1.14
[INFO] [stderr]    Compiling fallible-iterator v0.2.0
[INFO] [stderr]    Compiling stable_deref_trait v1.1.1
[INFO] [stderr]    Compiling region v2.1.2
[INFO] [stderr]    Compiling unicode-width v0.1.7
[INFO] [stderr]    Compiling ryu v1.0.2
[INFO] [stderr]    Compiling rustc-demangle v0.1.16
[INFO] [stderr]    Compiling textwrap v0.11.0
[INFO] [stderr]    Compiling strsim v0.8.0
[INFO] [stderr]    Compiling crossbeam-deque v0.7.2
[INFO] [stderr]    Compiling block-buffer v0.7.3
[INFO] [stderr]    Compiling digest v0.8.1
[INFO] [stderr]    Compiling ansi_term v0.11.0
[INFO] [stderr]    Compiling vec_map v0.8.1
[INFO] [stderr]    Compiling parity-wasm v0.41.0
[INFO] [stderr]    Compiling itoa v0.4.4
[INFO] [stderr]    Compiling gimli v0.19.0
[INFO] [stderr]    Compiling sha2 v0.8.0
[INFO] [stderr]    Compiling clap v2.33.0
[INFO] [stderr]    Compiling zstd-sys v1.4.15+zstd.1.4.4
[INFO] [stderr]    Compiling backtrace-sys v0.1.32
[INFO] [stderr]    Compiling raw-cpuid v7.0.3
[INFO] [stderr]    Compiling wasmtime-runtime v0.8.0
[INFO] [stderr]    Compiling rayon v1.2.1
[INFO] [stderr]    Compiling backtrace v0.3.40
[INFO] [stderr]    Compiling regex v1.3.1
[INFO] [stderr]    Compiling env_logger v0.6.2
[INFO] [stderr]    Compiling file-per-thread-logger v0.1.2
[INFO] [stderr]    Compiling serde_derive v1.0.104
[INFO] [stderr]    Compiling thiserror-impl v1.0.9
[INFO] [stderr]    Compiling scroll_derive v0.10.1
[INFO] [stderr]    Compiling scroll v0.10.1
[INFO] [stderr]    Compiling thiserror v1.0.9
[INFO] [stderr]    Compiling goblin v0.1.2
[INFO] [stderr]    Compiling cranelift-entity v0.50.0
[INFO] [stderr]    Compiling wa1-types v0.1.0 (/opt/rustwide/workdir/wa1-types)
[INFO] [stderr]    Compiling toml v0.5.5
[INFO] [stderr]    Compiling bincode v1.2.1
[INFO] [stderr]    Compiling string-interner v0.7.1
[INFO] [stderr]    Compiling serde_json v1.0.44
[INFO] [stderr]    Compiling faerie v0.13.0
[INFO] [stderr]    Compiling cranelift-codegen-meta v0.50.0
[INFO] [stderr]    Compiling cranelift-bforest v0.50.0
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> wa1-types/src/lib.rs:90:35
[INFO] [stdout]    |
[INFO] [stdout] 90 | #[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
[INFO] [stdout]    |                                   ^--------
[INFO] [stdout]    |                                   |
[INFO] [stdout]    |                                   `Serialize` is not local
[INFO] [stdout]    |                                   move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_FuncType`
[INFO] [stdout] 91 | pub struct FuncType{
[INFO] [stdout]    |            -------- `FuncType` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: `#[warn(non_local_definitions)]` on by default
[INFO] [stdout]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> wa1-types/src/lib.rs:90:46
[INFO] [stdout]    |
[INFO] [stdout] 90 | #[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
[INFO] [stdout]    |                                              ^----------
[INFO] [stdout]    |                                              |
[INFO] [stdout]    |                                              `Deserialize` is not local
[INFO] [stdout]    |                                              move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_FuncType`
[INFO] [stdout] 91 | pub struct FuncType{
[INFO] [stdout]    |            -------- `FuncType` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> wa1-types/src/lib.rs:128:35
[INFO] [stdout]     |
[INFO] [stdout] 128 | #[derive(Debug, Clone, PartialEq, Serialize, Deserialize, Copy)]
[INFO] [stdout]     |                                   ^--------
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   `Serialize` is not local
[INFO] [stdout]     |                                   move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_Privacy`
[INFO] [stdout] 129 | pub enum Privacy{
[INFO] [stdout]     |          ------- `Privacy` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> wa1-types/src/lib.rs:128:46
[INFO] [stdout]     |
[INFO] [stdout] 128 | #[derive(Debug, Clone, PartialEq, Serialize, Deserialize, Copy)]
[INFO] [stdout]     |                                              ^----------
[INFO] [stdout]     |                                              |
[INFO] [stdout]     |                                              `Deserialize` is not local
[INFO] [stdout]     |                                              move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Privacy`
[INFO] [stdout] 129 | pub enum Privacy{
[INFO] [stdout]     |          ------- `Privacy` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> wa1-types/src/lib.rs:134:35
[INFO] [stdout]     |
[INFO] [stdout] 134 | #[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
[INFO] [stdout]     |                                   ^--------
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   `Serialize` is not local
[INFO] [stdout]     |                                   move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_Member`
[INFO] [stdout] 135 | pub struct Member{
[INFO] [stdout]     |            ------ `Member` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> wa1-types/src/lib.rs:134:46
[INFO] [stdout]     |
[INFO] [stdout] 134 | #[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
[INFO] [stdout]     |                                              ^----------
[INFO] [stdout]     |                                              |
[INFO] [stdout]     |                                              `Deserialize` is not local
[INFO] [stdout]     |                                              move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Member`
[INFO] [stdout] 135 | pub struct Member{
[INFO] [stdout]     |            ------ `Member` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> wa1-types/src/lib.rs:151:35
[INFO] [stdout]     |
[INFO] [stdout] 151 | #[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
[INFO] [stdout]     |                                   ^--------
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   `Serialize` is not local
[INFO] [stdout]     |                                   move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_Type`
[INFO] [stdout] 152 | pub enum Type {
[INFO] [stdout]     |          ---- `Type` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> wa1-types/src/lib.rs:151:46
[INFO] [stdout]     |
[INFO] [stdout] 151 | #[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
[INFO] [stdout]     |                                              ^----------
[INFO] [stdout]     |                                              |
[INFO] [stdout]     |                                              `Deserialize` is not local
[INFO] [stdout]     |                                              move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Type`
[INFO] [stdout] 152 | pub enum Type {
[INFO] [stdout]     |          ---- `Type` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> wa1-types/src/lib.rs:447:35
[INFO] [stdout]     |
[INFO] [stdout] 447 | #[derive(Debug, Clone, PartialEq, Serialize, Deserialize, Copy)]
[INFO] [stdout]     |                                   ^--------
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   `Serialize` is not local
[INFO] [stdout]     |                                   move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_PassStyle`
[INFO] [stdout] 448 | pub enum PassStyle{
[INFO] [stdout]     |          --------- `PassStyle` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> wa1-types/src/lib.rs:447:46
[INFO] [stdout]     |
[INFO] [stdout] 447 | #[derive(Debug, Clone, PartialEq, Serialize, Deserialize, Copy)]
[INFO] [stdout]     |                                              ^----------
[INFO] [stdout]     |                                              |
[INFO] [stdout]     |                                              `Deserialize` is not local
[INFO] [stdout]     |                                              move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_PassStyle`
[INFO] [stdout] 448 | pub enum PassStyle{
[INFO] [stdout]     |          --------- `PassStyle` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> wa1-types/src/lib.rs:462:35
[INFO] [stdout]     |
[INFO] [stdout] 462 | #[derive(Debug, Clone, PartialEq, Serialize, Deserialize, Copy)]
[INFO] [stdout]     |                                   ^--------
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   `Serialize` is not local
[INFO] [stdout]     |                                   move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_Mutability`
[INFO] [stdout] 463 | pub enum Mutability {
[INFO] [stdout]     |          ---------- `Mutability` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> wa1-types/src/lib.rs:462:46
[INFO] [stdout]     |
[INFO] [stdout] 462 | #[derive(Debug, Clone, PartialEq, Serialize, Deserialize, Copy)]
[INFO] [stdout]     |                                              ^----------
[INFO] [stdout]     |                                              |
[INFO] [stdout]     |                                              `Deserialize` is not local
[INFO] [stdout]     |                                              move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Mutability`
[INFO] [stdout] 463 | pub enum Mutability {
[INFO] [stdout]     |          ---------- `Mutability` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> wa1-types/src/lib.rs:480:35
[INFO] [stdout]     |
[INFO] [stdout] 480 | #[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
[INFO] [stdout]     |                                   ^--------
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   `Serialize` is not local
[INFO] [stdout]     |                                   move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_FullType`
[INFO] [stdout] 481 | pub struct FullType{
[INFO] [stdout]     |            -------- `FullType` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> wa1-types/src/lib.rs:480:46
[INFO] [stdout]     |
[INFO] [stdout] 480 | #[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
[INFO] [stdout]     |                                              ^----------
[INFO] [stdout]     |                                              |
[INFO] [stdout]     |                                              `Deserialize` is not local
[INFO] [stdout]     |                                              move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_FullType`
[INFO] [stdout] 481 | pub struct FullType{
[INFO] [stdout]     |            -------- `FullType` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> wa1-types/src/generics.rs:10:35
[INFO] [stdout]    |
[INFO] [stdout] 10 | #[derive(Clone, PartialEq, Debug, Deserialize, Serialize, Hash)]
[INFO] [stdout]    |                                   ^----------
[INFO] [stdout]    |                                   |
[INFO] [stdout]    |                                   `Deserialize` is not local
[INFO] [stdout]    |                                   move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_TypeConstraint`
[INFO] [stdout] 11 | pub enum TypeConstraint{
[INFO] [stdout]    |          -------------- `TypeConstraint` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> wa1-types/src/generics.rs:10:48
[INFO] [stdout]    |
[INFO] [stdout] 10 | #[derive(Clone, PartialEq, Debug, Deserialize, Serialize, Hash)]
[INFO] [stdout]    |                                                ^--------
[INFO] [stdout]    |                                                |
[INFO] [stdout]    |                                                `Serialize` is not local
[INFO] [stdout]    |                                                move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_TypeConstraint`
[INFO] [stdout] 11 | pub enum TypeConstraint{
[INFO] [stdout]    |          -------------- `TypeConstraint` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> wa1-types/src/generics.rs:82:35
[INFO] [stdout]    |
[INFO] [stdout] 82 | #[derive(Clone, PartialEq, Debug, Deserialize, Serialize, Hash)]
[INFO] [stdout]    |                                   ^----------
[INFO] [stdout]    |                                   |
[INFO] [stdout]    |                                   `Deserialize` is not local
[INFO] [stdout]    |                                   move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_TypeArg`
[INFO] [stdout] 83 | pub struct TypeArg{
[INFO] [stdout]    |            ------- `TypeArg` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> wa1-types/src/generics.rs:82:48
[INFO] [stdout]    |
[INFO] [stdout] 82 | #[derive(Clone, PartialEq, Debug, Deserialize, Serialize, Hash)]
[INFO] [stdout]    |                                                ^--------
[INFO] [stdout]    |                                                |
[INFO] [stdout]    |                                                `Serialize` is not local
[INFO] [stdout]    |                                                move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_TypeArg`
[INFO] [stdout] 83 | pub struct TypeArg{
[INFO] [stdout]    |            ------- `TypeArg` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling wa1-errs v0.0.1 (/opt/rustwide/workdir/wa1-errs)
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> wa1-errs/src/source_location.rs:8:41
[INFO] [stdout]    |
[INFO] [stdout] 8  | #[derive(Clone, Copy, Debug, PartialEq, Serialize, Deserialize)]
[INFO] [stdout]    |                                         ^--------
[INFO] [stdout]    |                                         |
[INFO] [stdout]    |                                         `Serialize` is not local
[INFO] [stdout]    |                                         move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_Position`
[INFO] [stdout] ...
[INFO] [stdout] 11 | pub struct Position {
[INFO] [stdout]    |            -------- `Position` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: `#[warn(non_local_definitions)]` on by default
[INFO] [stdout]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> wa1-errs/src/source_location.rs:8:52
[INFO] [stdout]    |
[INFO] [stdout] 8  | #[derive(Clone, Copy, Debug, PartialEq, Serialize, Deserialize)]
[INFO] [stdout]    |                                                    ^----------
[INFO] [stdout]    |                                                    |
[INFO] [stdout]    |                                                    `Deserialize` is not local
[INFO] [stdout]    |                                                    move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Position`
[INFO] [stdout] ...
[INFO] [stdout] 11 | pub struct Position {
[INFO] [stdout]    |            -------- `Position` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> wa1-errs/src/source_location.rs:29:41
[INFO] [stdout]    |
[INFO] [stdout] 29 | #[derive(Clone, Copy, Debug, PartialEq, Serialize, Deserialize)]
[INFO] [stdout]    |                                         ^--------
[INFO] [stdout]    |                                         |
[INFO] [stdout]    |                                         `Serialize` is not local
[INFO] [stdout]    |                                         move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_SourceLocation`
[INFO] [stdout] ...
[INFO] [stdout] 32 | pub struct SourceLocation {
[INFO] [stdout]    |            -------------- `SourceLocation` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> wa1-errs/src/source_location.rs:29:52
[INFO] [stdout]    |
[INFO] [stdout] 29 | #[derive(Clone, Copy, Debug, PartialEq, Serialize, Deserialize)]
[INFO] [stdout]    |                                                    ^----------
[INFO] [stdout]    |                                                    |
[INFO] [stdout]    |                                                    `Deserialize` is not local
[INFO] [stdout]    |                                                    move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_SourceLocation`
[INFO] [stdout] ...
[INFO] [stdout] 32 | pub struct SourceLocation {
[INFO] [stdout]    |            -------------- `SourceLocation` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling wa1-lexer v0.0.1 (/opt/rustwide/workdir/wa1-lexer)
[INFO] [stderr]    Compiling wa1-ast v0.4.0 (/opt/rustwide/workdir/wa1-ast)
[INFO] [stdout] warning: elided lifetime has a name
[INFO] [stdout]    --> wa1-lexer/src/tokenizer/buffer.rs:213:28
[INFO] [stdout]     |
[INFO] [stdout] 212 | impl<'a> From<&'a str> for JSBuffer<'a> {
[INFO] [stdout]     |      -- lifetime `'a` declared here
[INFO] [stdout] 213 |     fn from(s: &'a str) -> JSBuffer {
[INFO] [stdout]     |                            ^^^^^^^^ this elided lifetime gets resolved as `'a`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(elided_named_lifetimes)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `std::mem::replace` that must be used
[INFO] [stdout]    --> wa1-lexer/src/lib.rs:341:21
[INFO] [stdout]     |
[INFO] [stdout] 341 | /                     ::std::mem::replace(
[INFO] [stdout] 342 | |                         &mut self.before_last_open,
[INFO] [stdout] 343 | |                         ::std::mem::replace(&mut self.last_three, LookBehind::new()),
[INFO] [stdout] 344 | |                     );
[INFO] [stdout]     | |_____________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout]     = note: `#[warn(unused_must_use)]` on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 341 |                     let _ = ::std::mem::replace(
[INFO] [stdout]     |                     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> wa1-ast/src/lib.rs:26:35
[INFO] [stdout]    |
[INFO] [stdout] 26 | #[derive(Clone, PartialEq, Debug, Deserialize, Serialize)]
[INFO] [stdout]    |                                   ^----------
[INFO] [stdout]    |                                   |
[INFO] [stdout]    |                                   `Deserialize` is not local
[INFO] [stdout]    |                                   move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_GenericFunc`
[INFO] [stdout] 27 | pub struct GenericFunc{
[INFO] [stdout]    |            ----------- `GenericFunc` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: `#[warn(non_local_definitions)]` on by default
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> wa1-ast/src/lib.rs:26:48
[INFO] [stdout]    |
[INFO] [stdout] 26 | #[derive(Clone, PartialEq, Debug, Deserialize, Serialize)]
[INFO] [stdout]    |                                                ^--------
[INFO] [stdout]    |                                                |
[INFO] [stdout]    |                                                `Serialize` is not local
[INFO] [stdout]    |                                                move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_GenericFunc`
[INFO] [stdout] 27 | pub struct GenericFunc{
[INFO] [stdout]    |            ----------- `GenericFunc` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> wa1-ast/src/lib.rs:34:28
[INFO] [stdout]    |
[INFO] [stdout] 34 | #[derive(PartialEq, Debug, Deserialize, Serialize)]
[INFO] [stdout]    |                            ^----------
[INFO] [stdout]    |                            |
[INFO] [stdout]    |                            `Deserialize` is not local
[INFO] [stdout]    |                            move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_AST`
[INFO] [stdout] 35 | pub struct AST {
[INFO] [stdout]    |            --- `AST` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> wa1-ast/src/lib.rs:34:41
[INFO] [stdout]    |
[INFO] [stdout] 34 | #[derive(PartialEq, Debug, Deserialize, Serialize)]
[INFO] [stdout]    |                                         ^--------
[INFO] [stdout]    |                                         |
[INFO] [stdout]    |                                         `Serialize` is not local
[INFO] [stdout]    |                                         move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_AST`
[INFO] [stdout] 35 | pub struct AST {
[INFO] [stdout]    |            --- `AST` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> wa1-ast/src/lib.rs:57:17
[INFO] [stdout]    |
[INFO] [stdout] 57 | #[derive(Debug, Deserialize, Serialize)]
[INFO] [stdout]    |                 ^----------
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 `Deserialize` is not local
[INFO] [stdout]    |                 move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Exports`
[INFO] [stdout] 58 | pub struct Exports{
[INFO] [stdout]    |            ------- `Exports` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> wa1-ast/src/lib.rs:57:30
[INFO] [stdout]    |
[INFO] [stdout] 57 | #[derive(Debug, Deserialize, Serialize)]
[INFO] [stdout]    |                              ^--------
[INFO] [stdout]    |                              |
[INFO] [stdout]    |                              `Serialize` is not local
[INFO] [stdout]    |                              move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_Exports`
[INFO] [stdout] 58 | pub struct Exports{
[INFO] [stdout]    |            ------- `Exports` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> wa1-ast/src/lib.rs:67:17
[INFO] [stdout]    |
[INFO] [stdout] 67 | #[derive(Debug, Deserialize, Serialize)]
[INFO] [stdout]    |                 ^----------
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 `Deserialize` is not local
[INFO] [stdout]    |                 move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Imports`
[INFO] [stdout] 68 | pub struct Imports{
[INFO] [stdout]    |            ------- `Imports` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> wa1-ast/src/lib.rs:67:30
[INFO] [stdout]    |
[INFO] [stdout] 67 | #[derive(Debug, Deserialize, Serialize)]
[INFO] [stdout]    |                              ^--------
[INFO] [stdout]    |                              |
[INFO] [stdout]    |                              `Serialize` is not local
[INFO] [stdout]    |                              move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_Imports`
[INFO] [stdout] 68 | pub struct Imports{
[INFO] [stdout]    |            ------- `Imports` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> wa1-ast/src/expr.rs:25:35
[INFO] [stdout]    |
[INFO] [stdout] 25 | #[derive(Debug, Clone, PartialEq, Serialize, Deserialize, Copy)]
[INFO] [stdout]    |                                   ^--------
[INFO] [stdout]    |                                   |
[INFO] [stdout]    |                                   `Serialize` is not local
[INFO] [stdout]    |                                   move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_BinaryOperator`
[INFO] [stdout] 26 | pub enum BinaryOperator{
[INFO] [stdout]    |          -------------- `BinaryOperator` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> wa1-ast/src/expr.rs:25:46
[INFO] [stdout]    |
[INFO] [stdout] 25 | #[derive(Debug, Clone, PartialEq, Serialize, Deserialize, Copy)]
[INFO] [stdout]    |                                              ^----------
[INFO] [stdout]    |                                              |
[INFO] [stdout]    |                                              `Deserialize` is not local
[INFO] [stdout]    |                                              move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_BinaryOperator`
[INFO] [stdout] 26 | pub enum BinaryOperator{
[INFO] [stdout]    |          -------------- `BinaryOperator` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> wa1-ast/src/expr.rs:53:41
[INFO] [stdout]    |
[INFO] [stdout] 53 | #[derive(Debug, Clone, Copy, PartialEq, Serialize, Deserialize)]
[INFO] [stdout]    |                                         ^--------
[INFO] [stdout]    |                                         |
[INFO] [stdout]    |                                         `Serialize` is not local
[INFO] [stdout]    |                                         move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_UnaryOperator`
[INFO] [stdout] 54 | pub enum UnaryOperator{
[INFO] [stdout]    |          ------------- `UnaryOperator` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> wa1-ast/src/expr.rs:53:52
[INFO] [stdout]    |
[INFO] [stdout] 53 | #[derive(Debug, Clone, Copy, PartialEq, Serialize, Deserialize)]
[INFO] [stdout]    |                                                    ^----------
[INFO] [stdout]    |                                                    |
[INFO] [stdout]    |                                                    `Deserialize` is not local
[INFO] [stdout]    |                                                    move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_UnaryOperator`
[INFO] [stdout] 54 | pub enum UnaryOperator{
[INFO] [stdout]    |          ------------- `UnaryOperator` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> wa1-ast/src/expr.rs:66:41
[INFO] [stdout]    |
[INFO] [stdout] 66 | #[derive(Debug, Clone, Copy, PartialEq, Serialize, Deserialize)]
[INFO] [stdout]    |                                         ^--------
[INFO] [stdout]    |                                         |
[INFO] [stdout]    |                                         `Serialize` is not local
[INFO] [stdout]    |                                         move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_AssignmentOperator`
[INFO] [stdout] 67 | pub enum AssignmentOperator{
[INFO] [stdout]    |          ------------------ `AssignmentOperator` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> wa1-ast/src/expr.rs:66:52
[INFO] [stdout]    |
[INFO] [stdout] 66 | #[derive(Debug, Clone, Copy, PartialEq, Serialize, Deserialize)]
[INFO] [stdout]    |                                                    ^----------
[INFO] [stdout]    |                                                    |
[INFO] [stdout]    |                                                    `Deserialize` is not local
[INFO] [stdout]    |                                                    move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_AssignmentOperator`
[INFO] [stdout] 67 | pub enum AssignmentOperator{
[INFO] [stdout]    |          ------------------ `AssignmentOperator` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> wa1-ast/src/expr.rs:80:35
[INFO] [stdout]    |
[INFO] [stdout] 80 | #[derive(Debug, Clone, PartialEq, Serialize, Deserialize, Copy)]
[INFO] [stdout]    |                                   ^--------
[INFO] [stdout]    |                                   |
[INFO] [stdout]    |                                   `Serialize` is not local
[INFO] [stdout]    |                                   move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_VariableMutability`
[INFO] [stdout] 81 | pub enum VariableMutability{
[INFO] [stdout]    |          ------------------ `VariableMutability` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> wa1-ast/src/expr.rs:80:46
[INFO] [stdout]    |
[INFO] [stdout] 80 | #[derive(Debug, Clone, PartialEq, Serialize, Deserialize, Copy)]
[INFO] [stdout]    |                                              ^----------
[INFO] [stdout]    |                                              |
[INFO] [stdout]    |                                              `Deserialize` is not local
[INFO] [stdout]    |                                              move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_VariableMutability`
[INFO] [stdout] 81 | pub enum VariableMutability{
[INFO] [stdout]    |          ------------------ `VariableMutability` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> wa1-ast/src/expr.rs:87:35
[INFO] [stdout]    |
[INFO] [stdout] 87 | #[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
[INFO] [stdout]    |                                   ^--------
[INFO] [stdout]    |                                   |
[INFO] [stdout]    |                                   `Serialize` is not local
[INFO] [stdout]    |                                   move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_GlobalVariableDecl`
[INFO] [stdout] 88 | pub struct GlobalVariableDecl {
[INFO] [stdout]    |            ------------------ `GlobalVariableDecl` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> wa1-ast/src/expr.rs:87:46
[INFO] [stdout]    |
[INFO] [stdout] 87 | #[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
[INFO] [stdout]    |                                              ^----------
[INFO] [stdout]    |                                              |
[INFO] [stdout]    |                                              `Deserialize` is not local
[INFO] [stdout]    |                                              move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_GlobalVariableDecl`
[INFO] [stdout] 88 | pub struct GlobalVariableDecl {
[INFO] [stdout]    |            ------------------ `GlobalVariableDecl` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> wa1-ast/src/expr.rs:97:35
[INFO] [stdout]    |
[INFO] [stdout] 97 | #[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
[INFO] [stdout]    |                                   ^--------
[INFO] [stdout]    |                                   |
[INFO] [stdout]    |                                   `Serialize` is not local
[INFO] [stdout]    |                                   move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_GlobalVariableImport`
[INFO] [stdout] 98 | pub struct GlobalVariableImport {
[INFO] [stdout]    |            -------------------- `GlobalVariableImport` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> wa1-ast/src/expr.rs:97:46
[INFO] [stdout]    |
[INFO] [stdout] 97 | #[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
[INFO] [stdout]    |                                              ^----------
[INFO] [stdout]    |                                              |
[INFO] [stdout]    |                                              `Deserialize` is not local
[INFO] [stdout]    |                                              move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_GlobalVariableImport`
[INFO] [stdout] 98 | pub struct GlobalVariableImport {
[INFO] [stdout]    |            -------------------- `GlobalVariableImport` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> wa1-ast/src/expr.rs:104:35
[INFO] [stdout]     |
[INFO] [stdout] 104 | #[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
[INFO] [stdout]     |                                   ^--------
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   `Serialize` is not local
[INFO] [stdout]     |                                   move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_ClosureRef`
[INFO] [stdout] 105 | pub struct ClosureRef {
[INFO] [stdout]     |            ---------- `ClosureRef` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> wa1-ast/src/expr.rs:104:46
[INFO] [stdout]     |
[INFO] [stdout] 104 | #[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
[INFO] [stdout]     |                                              ^----------
[INFO] [stdout]     |                                              |
[INFO] [stdout]     |                                              `Deserialize` is not local
[INFO] [stdout]     |                                              move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_ClosureRef`
[INFO] [stdout] 105 | pub struct ClosureRef {
[INFO] [stdout]     |            ---------- `ClosureRef` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> wa1-ast/src/expr.rs:110:35
[INFO] [stdout]     |
[INFO] [stdout] 110 | #[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
[INFO] [stdout]     |                                   ^--------
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   `Serialize` is not local
[INFO] [stdout]     |                                   move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_ObjectLiteralElem`
[INFO] [stdout] 111 | pub struct ObjectLiteralElem{
[INFO] [stdout]     |            ----------------- `ObjectLiteralElem` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> wa1-ast/src/expr.rs:110:46
[INFO] [stdout]     |
[INFO] [stdout] 110 | #[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
[INFO] [stdout]     |                                              ^----------
[INFO] [stdout]     |                                              |
[INFO] [stdout]     |                                              `Deserialize` is not local
[INFO] [stdout]     |                                              move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_ObjectLiteralElem`
[INFO] [stdout] 111 | pub struct ObjectLiteralElem{
[INFO] [stdout]     |            ----------------- `ObjectLiteralElem` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> wa1-ast/src/expr.rs:117:35
[INFO] [stdout]     |
[INFO] [stdout] 117 | #[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
[INFO] [stdout]     |                                   ^--------
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   `Serialize` is not local
[INFO] [stdout]     |                                   move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_Expr`
[INFO] [stdout] 118 | pub enum Expr {
[INFO] [stdout]     |          ---- `Expr` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> wa1-ast/src/expr.rs:117:46
[INFO] [stdout]     |
[INFO] [stdout] 117 | #[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
[INFO] [stdout]     |                                              ^----------
[INFO] [stdout]     |                                              |
[INFO] [stdout]     |                                              `Deserialize` is not local
[INFO] [stdout]     |                                              move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Expr`
[INFO] [stdout] 118 | pub enum Expr {
[INFO] [stdout]     |          ---- `Expr` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> wa1-ast/src/expr.rs:238:41
[INFO] [stdout]     |
[INFO] [stdout] 238 | #[derive(Debug, Clone, Copy, PartialEq, Serialize, Deserialize)]
[INFO] [stdout]     |                                         ^--------
[INFO] [stdout]     |                                         |
[INFO] [stdout]     |                                         `Serialize` is not local
[INFO] [stdout]     |                                         move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_ReturnExpr`
[INFO] [stdout] 239 | pub enum ReturnExpr {
[INFO] [stdout]     |          ---------- `ReturnExpr` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> wa1-ast/src/expr.rs:238:52
[INFO] [stdout]     |
[INFO] [stdout] 238 | #[derive(Debug, Clone, Copy, PartialEq, Serialize, Deserialize)]
[INFO] [stdout]     |                                                    ^----------
[INFO] [stdout]     |                                                    |
[INFO] [stdout]     |                                                    `Deserialize` is not local
[INFO] [stdout]     |                                                    move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_ReturnExpr`
[INFO] [stdout] 239 | pub enum ReturnExpr {
[INFO] [stdout]     |          ---------- `ReturnExpr` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> wa1-ast/src/expr.rs:245:35
[INFO] [stdout]     |
[INFO] [stdout] 245 | #[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
[INFO] [stdout]     |                                   ^--------
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   `Serialize` is not local
[INFO] [stdout]     |                                   move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_TypedExpr`
[INFO] [stdout] 246 | pub struct TypedExpr{
[INFO] [stdout]     |            --------- `TypedExpr` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> wa1-ast/src/expr.rs:245:46
[INFO] [stdout]     |
[INFO] [stdout] 245 | #[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
[INFO] [stdout]     |                                              ^----------
[INFO] [stdout]     |                                              |
[INFO] [stdout]     |                                              `Deserialize` is not local
[INFO] [stdout]     |                                              move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_TypedExpr`
[INFO] [stdout] 246 | pub struct TypedExpr{
[INFO] [stdout]     |            --------- `TypedExpr` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> wa1-ast/src/expr.rs:276:35
[INFO] [stdout]     |
[INFO] [stdout] 276 | #[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
[INFO] [stdout]     |                                   ^--------
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   `Serialize` is not local
[INFO] [stdout]     |                                   move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_LValueExpr`
[INFO] [stdout] 277 | pub enum LValueExpr{
[INFO] [stdout]     |          ---------- `LValueExpr` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> wa1-ast/src/expr.rs:276:46
[INFO] [stdout]     |
[INFO] [stdout] 276 | #[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
[INFO] [stdout]     |                                              ^----------
[INFO] [stdout]     |                                              |
[INFO] [stdout]     |                                              `Deserialize` is not local
[INFO] [stdout]     |                                              move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_LValueExpr`
[INFO] [stdout] 277 | pub enum LValueExpr{
[INFO] [stdout]     |          ---------- `LValueExpr` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> wa1-ast/src/expr.rs:291:35
[INFO] [stdout]     |
[INFO] [stdout] 291 | #[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
[INFO] [stdout]     |                                   ^--------
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   `Serialize` is not local
[INFO] [stdout]     |                                   move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_TypedLValueExpr`
[INFO] [stdout] 292 | pub struct TypedLValueExpr{
[INFO] [stdout]     |            --------------- `TypedLValueExpr` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> wa1-ast/src/expr.rs:291:46
[INFO] [stdout]     |
[INFO] [stdout] 291 | #[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
[INFO] [stdout]     |                                              ^----------
[INFO] [stdout]     |                                              |
[INFO] [stdout]     |                                              `Deserialize` is not local
[INFO] [stdout]     |                                              move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_TypedLValueExpr`
[INFO] [stdout] 292 | pub struct TypedLValueExpr{
[INFO] [stdout]     |            --------------- `TypedLValueExpr` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> wa1-ast/src/func.rs:21:35
[INFO] [stdout]    |
[INFO] [stdout] 21 | #[derive(Debug, Clone, PartialEq, Deserialize, Serialize)]
[INFO] [stdout]    |                                   ^----------
[INFO] [stdout]    |                                   |
[INFO] [stdout]    |                                   `Deserialize` is not local
[INFO] [stdout]    |                                   move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_FuncArg`
[INFO] [stdout] 22 | pub struct FuncArg {
[INFO] [stdout]    |            ------- `FuncArg` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> wa1-ast/src/func.rs:21:48
[INFO] [stdout]    |
[INFO] [stdout] 21 | #[derive(Debug, Clone, PartialEq, Deserialize, Serialize)]
[INFO] [stdout]    |                                                ^--------
[INFO] [stdout]    |                                                |
[INFO] [stdout]    |                                                `Serialize` is not local
[INFO] [stdout]    |                                                move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_FuncArg`
[INFO] [stdout] 22 | pub struct FuncArg {
[INFO] [stdout]    |            ------- `FuncArg` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> wa1-ast/src/func.rs:28:35
[INFO] [stdout]    |
[INFO] [stdout] 28 | #[derive(Debug, Clone, PartialEq, Deserialize, Serialize)]
[INFO] [stdout]    |                                   ^----------
[INFO] [stdout]    |                                   |
[INFO] [stdout]    |                                   `Deserialize` is not local
[INFO] [stdout]    |                                   move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_LocalVar`
[INFO] [stdout] 29 | pub struct LocalVar{
[INFO] [stdout]    |            -------- `LocalVar` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> wa1-ast/src/func.rs:28:48
[INFO] [stdout]    |
[INFO] [stdout] 28 | #[derive(Debug, Clone, PartialEq, Deserialize, Serialize)]
[INFO] [stdout]    |                                                ^--------
[INFO] [stdout]    |                                                |
[INFO] [stdout]    |                                                `Serialize` is not local
[INFO] [stdout]    |                                                move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_LocalVar`
[INFO] [stdout] 29 | pub struct LocalVar{
[INFO] [stdout]    |            -------- `LocalVar` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> wa1-ast/src/func.rs:38:35
[INFO] [stdout]    |
[INFO] [stdout] 38 | #[derive(Debug, Clone, PartialEq, Deserialize, Serialize)]
[INFO] [stdout]    |                                   ^----------
[INFO] [stdout]    |                                   |
[INFO] [stdout]    |                                   `Deserialize` is not local
[INFO] [stdout]    |                                   move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Func`
[INFO] [stdout] 39 | pub struct Func {
[INFO] [stdout]    |            ---- `Func` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> wa1-ast/src/func.rs:38:48
[INFO] [stdout]    |
[INFO] [stdout] 38 | #[derive(Debug, Clone, PartialEq, Deserialize, Serialize)]
[INFO] [stdout]    |                                                ^--------
[INFO] [stdout]    |                                                |
[INFO] [stdout]    |                                                `Serialize` is not local
[INFO] [stdout]    |                                                move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_Func`
[INFO] [stdout] 39 | pub struct Func {
[INFO] [stdout]    |            ---- `Func` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> wa1-ast/src/func.rs:48:35
[INFO] [stdout]    |
[INFO] [stdout] 48 | #[derive(Debug, Clone, PartialEq, Deserialize, Serialize)]
[INFO] [stdout]    |                                   ^----------
[INFO] [stdout]    |                                   |
[INFO] [stdout]    |                                   `Deserialize` is not local
[INFO] [stdout]    |                                   move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_TypeGuardBranch`
[INFO] [stdout] 49 | pub struct TypeGuardBranch {
[INFO] [stdout]    |            --------------- `TypeGuardBranch` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> wa1-ast/src/func.rs:48:48
[INFO] [stdout]    |
[INFO] [stdout] 48 | #[derive(Debug, Clone, PartialEq, Deserialize, Serialize)]
[INFO] [stdout]    |                                                ^--------
[INFO] [stdout]    |                                                |
[INFO] [stdout]    |                                                `Serialize` is not local
[INFO] [stdout]    |                                                move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_TypeGuardBranch`
[INFO] [stdout] 49 | pub struct TypeGuardBranch {
[INFO] [stdout]    |            --------------- `TypeGuardBranch` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> wa1-ast/src/func.rs:56:35
[INFO] [stdout]    |
[INFO] [stdout] 56 | #[derive(Debug, Clone, PartialEq, Deserialize, Serialize)]
[INFO] [stdout]    |                                   ^----------
[INFO] [stdout]    |                                   |
[INFO] [stdout]    |                                   `Deserialize` is not local
[INFO] [stdout]    |                                   move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_TypeGuard`
[INFO] [stdout] 57 | pub struct TypeGuard {
[INFO] [stdout]    |            --------- `TypeGuard` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> wa1-ast/src/func.rs:56:48
[INFO] [stdout]    |
[INFO] [stdout] 56 | #[derive(Debug, Clone, PartialEq, Deserialize, Serialize)]
[INFO] [stdout]    |                                                ^--------
[INFO] [stdout]    |                                                |
[INFO] [stdout]    |                                                `Serialize` is not local
[INFO] [stdout]    |                                                move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_TypeGuard`
[INFO] [stdout] 57 | pub struct TypeGuard {
[INFO] [stdout]    |            --------- `TypeGuard` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> wa1-ast/src/func.rs:62:35
[INFO] [stdout]    |
[INFO] [stdout] 62 | #[derive(Debug, Clone, PartialEq, Deserialize, Serialize)]
[INFO] [stdout]    |                                   ^----------
[INFO] [stdout]    |                                   |
[INFO] [stdout]    |                                   `Deserialize` is not local
[INFO] [stdout]    |                                   move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_FuncDecl`
[INFO] [stdout] 63 | pub struct FuncDecl {
[INFO] [stdout]    |            -------- `FuncDecl` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> wa1-ast/src/func.rs:62:48
[INFO] [stdout]    |
[INFO] [stdout] 62 | #[derive(Debug, Clone, PartialEq, Deserialize, Serialize)]
[INFO] [stdout]    |                                                ^--------
[INFO] [stdout]    |                                                |
[INFO] [stdout]    |                                                `Serialize` is not local
[INFO] [stdout]    |                                                move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_FuncDecl`
[INFO] [stdout] 63 | pub struct FuncDecl {
[INFO] [stdout]    |            -------- `FuncDecl` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> wa1-ast/src/func.rs:89:35
[INFO] [stdout]    |
[INFO] [stdout] 89 | #[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
[INFO] [stdout]    |                                   ^--------
[INFO] [stdout]    |                                   |
[INFO] [stdout]    |                                   `Serialize` is not local
[INFO] [stdout]    |                                   move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_FuncObjectCreation`
[INFO] [stdout] 90 | pub struct FuncObjectCreation {
[INFO] [stdout]    |            ------------------ `FuncObjectCreation` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> wa1-ast/src/func.rs:89:46
[INFO] [stdout]    |
[INFO] [stdout] 89 | #[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
[INFO] [stdout]    |                                              ^----------
[INFO] [stdout]    |                                              |
[INFO] [stdout]    |                                              `Deserialize` is not local
[INFO] [stdout]    |                                              move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_FuncObjectCreation`
[INFO] [stdout] 90 | pub struct FuncObjectCreation {
[INFO] [stdout]    |            ------------------ `FuncObjectCreation` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> wa1-ast/src/intrinsic.rs:9:35
[INFO] [stdout]    |
[INFO] [stdout] 9  | #[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
[INFO] [stdout]    |                                   ^--------
[INFO] [stdout]    |                                   |
[INFO] [stdout]    |                                   `Serialize` is not local
[INFO] [stdout]    |                                   move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_Intrinsic`
[INFO] [stdout] 10 | pub enum Intrinsic {
[INFO] [stdout]    |          --------- `Intrinsic` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> wa1-ast/src/intrinsic.rs:9:46
[INFO] [stdout]    |
[INFO] [stdout] 9  | #[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
[INFO] [stdout]    |                                              ^----------
[INFO] [stdout]    |                                              |
[INFO] [stdout]    |                                              `Deserialize` is not local
[INFO] [stdout]    |                                              move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Intrinsic`
[INFO] [stdout] 10 | pub enum Intrinsic {
[INFO] [stdout]    |          --------- `Intrinsic` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> wa1-ast/src/ast_types.rs:9:35
[INFO] [stdout]    |
[INFO] [stdout] 9  | #[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
[INFO] [stdout]    |                                   ^--------
[INFO] [stdout]    |                                   |
[INFO] [stdout]    |                                   `Serialize` is not local
[INFO] [stdout]    |                                   move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_MemberFunc`
[INFO] [stdout] 10 | pub struct MemberFunc{
[INFO] [stdout]    |            ---------- `MemberFunc` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> wa1-ast/src/ast_types.rs:9:46
[INFO] [stdout]    |
[INFO] [stdout] 9  | #[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
[INFO] [stdout]    |                                              ^----------
[INFO] [stdout]    |                                              |
[INFO] [stdout]    |                                              `Deserialize` is not local
[INFO] [stdout]    |                                              move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_MemberFunc`
[INFO] [stdout] 10 | pub struct MemberFunc{
[INFO] [stdout]    |            ---------- `MemberFunc` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> wa1-ast/src/ast_types.rs:20:35
[INFO] [stdout]    |
[INFO] [stdout] 20 | #[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
[INFO] [stdout]    |                                   ^--------
[INFO] [stdout]    |                                   |
[INFO] [stdout]    |                                   `Serialize` is not local
[INFO] [stdout]    |                                   move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_TraitMemberFunc`
[INFO] [stdout] 21 | pub struct TraitMemberFunc{
[INFO] [stdout]    |            --------------- `TraitMemberFunc` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> wa1-ast/src/ast_types.rs:20:46
[INFO] [stdout]    |
[INFO] [stdout] 20 | #[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
[INFO] [stdout]    |                                              ^----------
[INFO] [stdout]    |                                              |
[INFO] [stdout]    |                                              `Deserialize` is not local
[INFO] [stdout]    |                                              move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_TraitMemberFunc`
[INFO] [stdout] 21 | pub struct TraitMemberFunc{
[INFO] [stdout]    |            --------------- `TraitMemberFunc` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> wa1-ast/src/ast_types.rs:28:35
[INFO] [stdout]    |
[INFO] [stdout] 28 | #[derive(Debug, Clone, PartialEq, Serialize, Deserialize, Copy)]
[INFO] [stdout]    |                                   ^--------
[INFO] [stdout]    |                                   |
[INFO] [stdout]    |                                   `Serialize` is not local
[INFO] [stdout]    |                                   move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_UserClassStorage`
[INFO] [stdout] 29 | pub enum UserClassStorage{
[INFO] [stdout]    |          ---------------- `UserClassStorage` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> wa1-ast/src/ast_types.rs:28:46
[INFO] [stdout]    |
[INFO] [stdout] 28 | #[derive(Debug, Clone, PartialEq, Serialize, Deserialize, Copy)]
[INFO] [stdout]    |                                              ^----------
[INFO] [stdout]    |                                              |
[INFO] [stdout]    |                                              `Deserialize` is not local
[INFO] [stdout]    |                                              move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_UserClassStorage`
[INFO] [stdout] 29 | pub enum UserClassStorage{
[INFO] [stdout]    |          ---------------- `UserClassStorage` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> wa1-ast/src/ast_types.rs:34:35
[INFO] [stdout]    |
[INFO] [stdout] 34 | #[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
[INFO] [stdout]    |                                   ^--------
[INFO] [stdout]    |                                   |
[INFO] [stdout]    |                                   `Serialize` is not local
[INFO] [stdout]    |                                   move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_TypeDecl`
[INFO] [stdout] 35 | pub enum TypeDecl{
[INFO] [stdout]    |          -------- `TypeDecl` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> wa1-ast/src/ast_types.rs:34:46
[INFO] [stdout]    |
[INFO] [stdout] 34 | #[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
[INFO] [stdout]    |                                              ^----------
[INFO] [stdout]    |                                              |
[INFO] [stdout]    |                                              `Deserialize` is not local
[INFO] [stdout]    |                                              move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_TypeDecl`
[INFO] [stdout] 35 | pub enum TypeDecl{
[INFO] [stdout]    |          -------- `TypeDecl` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> wa1-ast/src/ast_types.rs:52:35
[INFO] [stdout]    |
[INFO] [stdout] 52 | #[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
[INFO] [stdout]    |                                   ^--------
[INFO] [stdout]    |                                   |
[INFO] [stdout]    |                                   `Serialize` is not local
[INFO] [stdout]    |                                   move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_TraitDecl`
[INFO] [stdout] 53 | pub struct TraitDecl{
[INFO] [stdout]    |            --------- `TraitDecl` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> wa1-ast/src/ast_types.rs:52:46
[INFO] [stdout]    |
[INFO] [stdout] 52 | #[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
[INFO] [stdout]    |                                              ^----------
[INFO] [stdout]    |                                              |
[INFO] [stdout]    |                                              `Deserialize` is not local
[INFO] [stdout]    |                                              move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_TraitDecl`
[INFO] [stdout] 53 | pub struct TraitDecl{
[INFO] [stdout]    |            --------- `TraitDecl` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> wa1-ast/src/ast_types.rs:59:35
[INFO] [stdout]    |
[INFO] [stdout] 59 | #[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
[INFO] [stdout]    |                                   ^--------
[INFO] [stdout]    |                                   |
[INFO] [stdout]    |                                   `Serialize` is not local
[INFO] [stdout]    |                                   move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_TraitImpl`
[INFO] [stdout] 60 | pub struct TraitImpl{
[INFO] [stdout]    |            --------- `TraitImpl` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> wa1-ast/src/ast_types.rs:59:46
[INFO] [stdout]    |
[INFO] [stdout] 59 | #[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
[INFO] [stdout]    |                                              ^----------
[INFO] [stdout]    |                                              |
[INFO] [stdout]    |                                              `Deserialize` is not local
[INFO] [stdout]    |                                              move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_TraitImpl`
[INFO] [stdout] 60 | pub struct TraitImpl{
[INFO] [stdout]    |            --------- `TraitImpl` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling wa1-parser v0.0.1 (/opt/rustwide/workdir/wa1-parser)
[INFO] [stdout] warning: unused import: `wa1_errs::Error`
[INFO] [stdout]  --> wa1-parser/src/parser/parser_option.rs:4:9
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub use wa1_errs::Error;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `wa1_errs::Error`
[INFO] [stdout]   --> wa1-parser/src/parser/parser_phase_1.rs:10:9
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub use wa1_errs::Error;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `wa1_errs::Error`
[INFO] [stdout]  --> wa1-parser/src/parser/parser_typeguard.rs:7:9
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub use wa1_errs::Error;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around match arm expression
[INFO] [stdout]   --> wa1-parser/src/parser/mod.rs:43:30
[INFO] [stdout]    |
[INFO] [stdout] 43 |         ImportFilter::All => (exports),
[INFO] [stdout]    |                              ^       ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 43 -         ImportFilter::All => (exports),
[INFO] [stdout] 43 +         ImportFilter::All => exports,
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `wa1_errs::Error`
[INFO] [stdout]  --> wa1-parser/src/tree_transform/mod.rs:2:9
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub use wa1_errs::Error;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> wa1-parser/src/parser/mod.rs:38:11
[INFO] [stdout]    |
[INFO] [stdout] 38 |     Named(Vec<String>)
[INFO] [stdout]    |     ----- ^^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` 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] 38 |     Named(())
[INFO] [stdout]    |           ~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `std::mem::replace` that must be used
[INFO] [stdout]    --> wa1-parser/src/parser/mod.rs:173:17
[INFO] [stdout]     |
[INFO] [stdout] 173 |                 replace(&mut self.look_ahead, look_ahead);
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout]     = note: `#[warn(unused_must_use)]` on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 173 |                 let _ = replace(&mut self.look_ahead, look_ahead);
[INFO] [stdout]     |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling wa1-generator v0.0.1 (/opt/rustwide/workdir/wa1-generator)
[INFO] [stdout] warning: unexpected `cfg` condition value: `atomics`
[INFO] [stdout]    --> wa1-generator/src/wasm/wasm_instructions.rs:221:7
[INFO] [stdout]     |
[INFO] [stdout] 221 | #[cfg(feature="atomics")]
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stdout]     |
[INFO] [stdout]     = note: no expected values for `feature`
[INFO] [stdout]     = help: consider adding `atomics` as a feature in `Cargo.toml`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]     = note: `#[warn(unexpected_cfgs)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `simd`
[INFO] [stdout]    --> wa1-generator/src/wasm/wasm_instructions.rs:301:7
[INFO] [stdout]     |
[INFO] [stdout] 301 | #[cfg(feature="simd")]
[INFO] [stdout]     |       ^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stdout]     |
[INFO] [stdout]     = note: no expected values for `feature`
[INFO] [stdout]     = help: consider adding `simd` as a feature in `Cargo.toml`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `sign_ext`
[INFO] [stdout]    --> wa1-generator/src/wasm/wasm_instructions.rs:458:7
[INFO] [stdout]     |
[INFO] [stdout] 458 | #[cfg(feature="sign_ext")]
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stdout]     |
[INFO] [stdout]     = note: no expected values for `feature`
[INFO] [stdout]     = help: consider adding `sign_ext` as a feature in `Cargo.toml`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `bulk`
[INFO] [stdout]    --> wa1-generator/src/wasm/wasm_instructions.rs:469:7
[INFO] [stdout]     |
[INFO] [stdout] 469 | #[cfg(feature="bulk")]
[INFO] [stdout]     |       ^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stdout]     |
[INFO] [stdout]     = note: no expected values for `feature`
[INFO] [stdout]     = help: consider adding `bulk` as a feature in `Cargo.toml`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `atomics`
[INFO] [stdout]    --> wa1-generator/src/wasm/wasm_instructions.rs:207:8
[INFO] [stdout]     |
[INFO] [stdout] 207 |     #[cfg(feature="atomics")]
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stdout]     |
[INFO] [stdout]     = note: no expected values for `feature`
[INFO] [stdout]     = help: consider adding `atomics` as a feature in `Cargo.toml`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `simd`
[INFO] [stdout]    --> wa1-generator/src/wasm/wasm_instructions.rs:210:8
[INFO] [stdout]     |
[INFO] [stdout] 210 |     #[cfg(feature="simd")]
[INFO] [stdout]     |           ^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stdout]     |
[INFO] [stdout]     = note: no expected values for `feature`
[INFO] [stdout]     = help: consider adding `simd` as a feature in `Cargo.toml`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `sign_ext`
[INFO] [stdout]    --> wa1-generator/src/wasm/wasm_instructions.rs:213:8
[INFO] [stdout]     |
[INFO] [stdout] 213 |     #[cfg(feature="sign_ext")]
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stdout]     |
[INFO] [stdout]     = note: no expected values for `feature`
[INFO] [stdout]     = help: consider adding `sign_ext` as a feature in `Cargo.toml`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `bulk`
[INFO] [stdout]    --> wa1-generator/src/wasm/wasm_instructions.rs:216:8
[INFO] [stdout]     |
[INFO] [stdout] 216 |     #[cfg(feature="bulk")]
[INFO] [stdout]     |           ^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stdout]     |
[INFO] [stdout]     = note: no expected values for `feature`
[INFO] [stdout]     = help: consider adding `bulk` as a feature in `Cargo.toml`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `sign_ext`
[INFO] [stdout]     --> wa1-generator/src/wasm/wasm_instructions.rs:1025:8
[INFO] [stdout]      |
[INFO] [stdout] 1025 |     #[cfg(feature="sign_ext")]
[INFO] [stdout]      |           ^^^^^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stdout]      |
[INFO] [stdout]      = note: no expected values for `feature`
[INFO] [stdout]      = help: consider adding `sign_ext` as a feature in `Cargo.toml`
[INFO] [stdout]      = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `atomics`
[INFO] [stdout]     --> wa1-generator/src/wasm/wasm_instructions.rs:1034:8
[INFO] [stdout]      |
[INFO] [stdout] 1034 |     #[cfg(feature="atomics")]
[INFO] [stdout]      |           ^^^^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stdout]      |
[INFO] [stdout]      = note: no expected values for `feature`
[INFO] [stdout]      = help: consider adding `atomics` as a feature in `Cargo.toml`
[INFO] [stdout]      = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `simd`
[INFO] [stdout]     --> wa1-generator/src/wasm/wasm_instructions.rs:1113:8
[INFO] [stdout]      |
[INFO] [stdout] 1113 |     #[cfg(feature="simd")]
[INFO] [stdout]      |           ^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stdout]      |
[INFO] [stdout]      = note: no expected values for `feature`
[INFO] [stdout]      = help: consider adding `simd` as a feature in `Cargo.toml`
[INFO] [stdout]      = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `bulk`
[INFO] [stdout]     --> wa1-generator/src/wasm/wasm_instructions.rs:1279:8
[INFO] [stdout]      |
[INFO] [stdout] 1279 |     #[cfg(feature="bulk")]
[INFO] [stdout]      |           ^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stdout]      |
[INFO] [stdout]      = note: no expected values for `feature`
[INFO] [stdout]      = help: consider adding `bulk` as a feature in `Cargo.toml`
[INFO] [stdout]      = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `SymTabEvent` and `SymTabTable` are never constructed
[INFO] [stdout]   --> wa1-generator/src/wasm/wasm_object_file.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 8  | enum WasmSymInfoKind{
[INFO] [stdout]    |      --------------- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 18 |     SymTabEvent = 4,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 19 |     ///SYMTAB_TABLE
[INFO] [stdout] 20 |     SymTabTable = 5,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `WasmSymInfoKind` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling wa1 v0.1.0 (/opt/rustwide/workdir/wa1)
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]  --> wa1/src/build_config.rs:4:35
[INFO] [stdout]   |
[INFO] [stdout] 4 | #[derive(Debug, Clone, PartialEq, Deserialize, Serialize)]
[INFO] [stdout]   |                                   ^----------
[INFO] [stdout]   |                                   |
[INFO] [stdout]   |                                   `Deserialize` is not local
[INFO] [stdout]   |                                   move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_SourceFile`
[INFO] [stdout] 5 | pub struct SourceFile {
[INFO] [stdout]   |            ---------- `SourceFile` is not local
[INFO] [stdout]   |
[INFO] [stdout]   = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]   = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]   = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]   = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]   = note: `#[warn(non_local_definitions)]` on by default
[INFO] [stdout]   = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]  --> wa1/src/build_config.rs:4:48
[INFO] [stdout]   |
[INFO] [stdout] 4 | #[derive(Debug, Clone, PartialEq, Deserialize, Serialize)]
[INFO] [stdout]   |                                                ^--------
[INFO] [stdout]   |                                                |
[INFO] [stdout]   |                                                `Serialize` is not local
[INFO] [stdout]   |                                                move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_SourceFile`
[INFO] [stdout] 5 | pub struct SourceFile {
[INFO] [stdout]   |            ---------- `SourceFile` is not local
[INFO] [stdout]   |
[INFO] [stdout]   = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]   = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]   = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]   = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]   = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> wa1/src/build_config.rs:11:35
[INFO] [stdout]    |
[INFO] [stdout] 11 | #[derive(Debug, Clone, PartialEq, Deserialize, Serialize)]
[INFO] [stdout]    |                                   ^----------
[INFO] [stdout]    |                                   |
[INFO] [stdout]    |                                   `Deserialize` is not local
[INFO] [stdout]    |                                   move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_BuildConfig`
[INFO] [stdout] 12 | pub struct BuildConfig{
[INFO] [stdout]    |            ----------- `BuildConfig` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> wa1/src/build_config.rs:11:48
[INFO] [stdout]    |
[INFO] [stdout] 11 | #[derive(Debug, Clone, PartialEq, Deserialize, Serialize)]
[INFO] [stdout]    |                                                ^--------
[INFO] [stdout]    |                                                |
[INFO] [stdout]    |                                                `Serialize` is not local
[INFO] [stdout]    |                                                move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_BuildConfig`
[INFO] [stdout] 12 | pub struct BuildConfig{
[INFO] [stdout]    |            ----------- `BuildConfig` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling cranelift-codegen v0.50.0
[INFO] [stderr]    Compiling zstd-safe v2.0.3+zstd.1.4.4
[INFO] [stderr]    Compiling zstd v0.5.1+zstd.1.4.4
[INFO] [stderr]    Compiling cranelift-frontend v0.50.0
[INFO] [stderr]    Compiling cranelift-native v0.50.0
[INFO] [stderr]    Compiling cranelift-wasm v0.50.0
[INFO] [stderr]    Compiling wasmtime-debug v0.8.0
[INFO] [stderr]    Compiling wasmtime-jit v0.8.0
[INFO] [stderr]    Compiling wasmtime v0.8.0
[INFO] [stderr]    Compiling test-runner v0.1.0 (/opt/rustwide/workdir/test-runner)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 19s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: cranelift-codegen-meta v0.50.0, wasmtime-environ v0.8.0
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 1`
[INFO] running `Command { std: "docker" "inspect" "66af68759fc826d2fb18c771832c23b98f5de618d16d0a026c513a69244b7d62", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "66af68759fc826d2fb18c771832c23b98f5de618d16d0a026c513a69244b7d62", kill_on_drop: false }`
[INFO] [stdout] 66af68759fc826d2fb18c771832c23b98f5de618d16d0a026c513a69244b7d62
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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:f3a9d4ad9d972b27faf3965f35b62e55ba32bbce8f20bc8fe909558a86702fde" "/opt/rustwide/cargo-home/bin/cargo" "+1.83.0" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 38b8157a80fa547de229879e01f356fb6dede46e1dbef3a557699693744453da
[INFO] running `Command { std: "docker" "start" "-a" "38b8157a80fa547de229879e01f356fb6dede46e1dbef3a557699693744453da", kill_on_drop: false }`
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> wa1-types/src/lib.rs:90:35
[INFO] [stdout]    |
[INFO] [stdout] 90 | #[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
[INFO] [stdout]    |                                   ^--------
[INFO] [stdout]    |                                   |
[INFO] [stdout]    |                                   `Serialize` is not local
[INFO] [stdout]    |                                   move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_FuncType`
[INFO] [stdout] 91 | pub struct FuncType{
[INFO] [stdout]    |            -------- `FuncType` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: `#[warn(non_local_definitions)]` on by default
[INFO] [stdout]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> wa1-types/src/lib.rs:90:46
[INFO] [stdout]    |
[INFO] [stdout] 90 | #[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
[INFO] [stdout]    |                                              ^----------
[INFO] [stdout]    |                                              |
[INFO] [stdout]    |                                              `Deserialize` is not local
[INFO] [stdout]    |                                              move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_FuncType`
[INFO] [stdout] 91 | pub struct FuncType{
[INFO] [stdout]    |            -------- `FuncType` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> wa1-types/src/lib.rs:128:35
[INFO] [stdout]     |
[INFO] [stdout] 128 | #[derive(Debug, Clone, PartialEq, Serialize, Deserialize, Copy)]
[INFO] [stdout]     |                                   ^--------
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   `Serialize` is not local
[INFO] [stdout]     |                                   move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_Privacy`
[INFO] [stdout] 129 | pub enum Privacy{
[INFO] [stdout]     |          ------- `Privacy` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> wa1-types/src/lib.rs:128:46
[INFO] [stdout]     |
[INFO] [stdout] 128 | #[derive(Debug, Clone, PartialEq, Serialize, Deserialize, Copy)]
[INFO] [stdout]     |                                              ^----------
[INFO] [stdout]     |                                              |
[INFO] [stdout]     |                                              `Deserialize` is not local
[INFO] [stdout]     |                                              move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Privacy`
[INFO] [stdout] 129 | pub enum Privacy{
[INFO] [stdout]     |          ------- `Privacy` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> wa1-types/src/lib.rs:134:35
[INFO] [stdout]     |
[INFO] [stdout] 134 | #[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
[INFO] [stdout]     |                                   ^--------
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   `Serialize` is not local
[INFO] [stdout]     |                                   move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_Member`
[INFO] [stdout] 135 | pub struct Member{
[INFO] [stdout]     |            ------ `Member` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> wa1-types/src/lib.rs:134:46
[INFO] [stdout]     |
[INFO] [stdout] 134 | #[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
[INFO] [stdout]     |                                              ^----------
[INFO] [stdout]     |                                              |
[INFO] [stdout]     |                                              `Deserialize` is not local
[INFO] [stdout]     |                                              move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Member`
[INFO] [stdout] 135 | pub struct Member{
[INFO] [stdout]     |            ------ `Member` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> wa1-types/src/lib.rs:151:35
[INFO] [stdout]     |
[INFO] [stdout] 151 | #[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
[INFO] [stdout]     |                                   ^--------
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   `Serialize` is not local
[INFO] [stdout]     |                                   move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_Type`
[INFO] [stdout] 152 | pub enum Type {
[INFO] [stdout]     |          ---- `Type` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> wa1-types/src/lib.rs:151:46
[INFO] [stdout]     |
[INFO] [stdout] 151 | #[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
[INFO] [stdout]     |                                              ^----------
[INFO] [stdout]     |                                              |
[INFO] [stdout]     |                                              `Deserialize` is not local
[INFO] [stdout]     |                                              move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Type`
[INFO] [stdout] 152 | pub enum Type {
[INFO] [stdout]     |          ---- `Type` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> wa1-types/src/lib.rs:447:35
[INFO] [stdout]     |
[INFO] [stdout] 447 | #[derive(Debug, Clone, PartialEq, Serialize, Deserialize, Copy)]
[INFO] [stdout]     |                                   ^--------
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   `Serialize` is not local
[INFO] [stdout]     |                                   move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_PassStyle`
[INFO] [stdout] 448 | pub enum PassStyle{
[INFO] [stdout]     |          --------- `PassStyle` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> wa1-types/src/lib.rs:447:46
[INFO] [stdout]     |
[INFO] [stdout] 447 | #[derive(Debug, Clone, PartialEq, Serialize, Deserialize, Copy)]
[INFO] [stdout]     |                                              ^----------
[INFO] [stdout]     |                                              |
[INFO] [stdout]     |                                              `Deserialize` is not local
[INFO] [stdout]     |                                              move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_PassStyle`
[INFO] [stdout] 448 | pub enum PassStyle{
[INFO] [stdout]     |          --------- `PassStyle` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> wa1-types/src/lib.rs:462:35
[INFO] [stdout]     |
[INFO] [stdout] 462 | #[derive(Debug, Clone, PartialEq, Serialize, Deserialize, Copy)]
[INFO] [stdout]     |                                   ^--------
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   `Serialize` is not local
[INFO] [stdout]     |                                   move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_Mutability`
[INFO] [stdout] 463 | pub enum Mutability {
[INFO] [stdout]     |          ---------- `Mutability` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> wa1-types/src/lib.rs:462:46
[INFO] [stdout]     |
[INFO] [stdout] 462 | #[derive(Debug, Clone, PartialEq, Serialize, Deserialize, Copy)]
[INFO] [stdout]     |                                              ^----------
[INFO] [stdout]     |                                              |
[INFO] [stdout]     |                                              `Deserialize` is not local
[INFO] [stdout]     |                                              move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Mutability`
[INFO] [stdout] 463 | pub enum Mutability {
[INFO] [stdout]     |          ---------- `Mutability` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> wa1-types/src/lib.rs:480:35
[INFO] [stdout]     |
[INFO] [stdout] 480 | #[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
[INFO] [stdout]     |                                   ^--------
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   `Serialize` is not local
[INFO] [stdout]     |                                   move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_FullType`
[INFO] [stdout] 481 | pub struct FullType{
[INFO] [stdout]     |            -------- `FullType` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> wa1-types/src/lib.rs:480:46
[INFO] [stdout]     |
[INFO] [stdout] 480 | #[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
[INFO] [stdout]     |                                              ^----------
[INFO] [stdout]     |                                              |
[INFO] [stdout]     |                                              `Deserialize` is not local
[INFO] [stdout]     |                                              move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_FullType`
[INFO] [stdout] 481 | pub struct FullType{
[INFO] [stdout]     |            -------- `FullType` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> wa1-types/src/generics.rs:10:35
[INFO] [stdout]    |
[INFO] [stdout] 10 | #[derive(Clone, PartialEq, Debug, Deserialize, Serialize, Hash)]
[INFO] [stdout]    |                                   ^----------
[INFO] [stdout]    |                                   |
[INFO] [stdout]    |                                   `Deserialize` is not local
[INFO] [stdout]    |                                   move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_TypeConstraint`
[INFO] [stdout] 11 | pub enum TypeConstraint{
[INFO] [stdout]    |          -------------- `TypeConstraint` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> wa1-types/src/generics.rs:10:48
[INFO] [stdout]    |
[INFO] [stdout] 10 | #[derive(Clone, PartialEq, Debug, Deserialize, Serialize, Hash)]
[INFO] [stdout]    |                                                ^--------
[INFO] [stdout]    |                                                |
[INFO] [stdout]    |                                                `Serialize` is not local
[INFO] [stdout]    |                                                move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_TypeConstraint`
[INFO] [stdout] 11 | pub enum TypeConstraint{
[INFO] [stdout]    |          -------------- `TypeConstraint` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> wa1-types/src/generics.rs:82:35
[INFO] [stdout]    |
[INFO] [stdout] 82 | #[derive(Clone, PartialEq, Debug, Deserialize, Serialize, Hash)]
[INFO] [stdout]    |                                   ^----------
[INFO] [stdout]    |                                   |
[INFO] [stdout]    |                                   `Deserialize` is not local
[INFO] [stdout]    |                                   move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_TypeArg`
[INFO] [stdout] 83 | pub struct TypeArg{
[INFO] [stdout]    |            ------- `TypeArg` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> wa1-types/src/generics.rs:82:48
[INFO] [stdout]    |
[INFO] [stdout] 82 | #[derive(Clone, PartialEq, Debug, Deserialize, Serialize, Hash)]
[INFO] [stdout]    |                                                ^--------
[INFO] [stdout]    |                                                |
[INFO] [stdout]    |                                                `Serialize` is not local
[INFO] [stdout]    |                                                move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_TypeArg`
[INFO] [stdout] 83 | pub struct TypeArg{
[INFO] [stdout]    |            ------- `TypeArg` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> wa1-errs/src/source_location.rs:8:41
[INFO] [stdout]    |
[INFO] [stdout] 8  | #[derive(Clone, Copy, Debug, PartialEq, Serialize, Deserialize)]
[INFO] [stdout]    |                                         ^--------
[INFO] [stdout]    |                                         |
[INFO] [stdout]    |                                         `Serialize` is not local
[INFO] [stdout]    |                                         move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_Position`
[INFO] [stdout] ...
[INFO] [stdout] 11 | pub struct Position {
[INFO] [stdout]    |            -------- `Position` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: `#[warn(non_local_definitions)]` on by default
[INFO] [stdout]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> wa1-errs/src/source_location.rs:8:52
[INFO] [stdout]    |
[INFO] [stdout] 8  | #[derive(Clone, Copy, Debug, PartialEq, Serialize, Deserialize)]
[INFO] [stdout]    |                                                    ^----------
[INFO] [stdout]    |                                                    |
[INFO] [stdout]    |                                                    `Deserialize` is not local
[INFO] [stdout]    |                                                    move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Position`
[INFO] [stdout] ...
[INFO] [stdout] 11 | pub struct Position {
[INFO] [stdout]    |            -------- `Position` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> wa1-errs/src/source_location.rs:29:41
[INFO] [stdout]    |
[INFO] [stdout] 29 | #[derive(Clone, Copy, Debug, PartialEq, Serialize, Deserialize)]
[INFO] [stdout]    |                                         ^--------
[INFO] [stdout]    |                                         |
[INFO] [stdout]    |                                         `Serialize` is not local
[INFO] [stdout]    |                                         move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_SourceLocation`
[INFO] [stdout] ...
[INFO] [stdout] 32 | pub struct SourceLocation {
[INFO] [stdout]    |            -------------- `SourceLocation` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> wa1-errs/src/source_location.rs:29:52
[INFO] [stdout]    |
[INFO] [stdout] 29 | #[derive(Clone, Copy, Debug, PartialEq, Serialize, Deserialize)]
[INFO] [stdout]    |                                                    ^----------
[INFO] [stdout]    |                                                    |
[INFO] [stdout]    |                                                    `Deserialize` is not local
[INFO] [stdout]    |                                                    move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_SourceLocation`
[INFO] [stdout] ...
[INFO] [stdout] 32 | pub struct SourceLocation {
[INFO] [stdout]    |            -------------- `SourceLocation` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: elided lifetime has a name
[INFO] [stdout]    --> wa1-lexer/src/tokenizer/buffer.rs:213:28
[INFO] [stdout]     |
[INFO] [stdout] 212 | impl<'a> From<&'a str> for JSBuffer<'a> {
[INFO] [stdout]     |      -- lifetime `'a` declared here
[INFO] [stdout] 213 |     fn from(s: &'a str) -> JSBuffer {
[INFO] [stdout]     |                            ^^^^^^^^ this elided lifetime gets resolved as `'a`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(elided_named_lifetimes)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `std::mem::replace` that must be used
[INFO] [stdout]    --> wa1-lexer/src/lib.rs:341:21
[INFO] [stdout]     |
[INFO] [stdout] 341 | /                     ::std::mem::replace(
[INFO] [stdout] 342 | |                         &mut self.before_last_open,
[INFO] [stdout] 343 | |                         ::std::mem::replace(&mut self.last_three, LookBehind::new()),
[INFO] [stdout] 344 | |                     );
[INFO] [stdout]     | |_____________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout]     = note: `#[warn(unused_must_use)]` on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 341 |                     let _ = ::std::mem::replace(
[INFO] [stdout]     |                     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> wa1-ast/src/lib.rs:26:35
[INFO] [stdout]    |
[INFO] [stdout] 26 | #[derive(Clone, PartialEq, Debug, Deserialize, Serialize)]
[INFO] [stdout]    |                                   ^----------
[INFO] [stdout]    |                                   |
[INFO] [stdout]    |                                   `Deserialize` is not local
[INFO] [stdout]    |                                   move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_GenericFunc`
[INFO] [stdout] 27 | pub struct GenericFunc{
[INFO] [stdout]    |            ----------- `GenericFunc` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: `#[warn(non_local_definitions)]` on by default
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> wa1-ast/src/lib.rs:26:48
[INFO] [stdout]    |
[INFO] [stdout] 26 | #[derive(Clone, PartialEq, Debug, Deserialize, Serialize)]
[INFO] [stdout]    |                                                ^--------
[INFO] [stdout]    |                                                |
[INFO] [stdout]    |                                                `Serialize` is not local
[INFO] [stdout]    |                                                move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_GenericFunc`
[INFO] [stdout] 27 | pub struct GenericFunc{
[INFO] [stdout]    |            ----------- `GenericFunc` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> wa1-ast/src/lib.rs:34:28
[INFO] [stdout]    |
[INFO] [stdout] 34 | #[derive(PartialEq, Debug, Deserialize, Serialize)]
[INFO] [stdout]    |                            ^----------
[INFO] [stdout]    |                            |
[INFO] [stdout]    |                            `Deserialize` is not local
[INFO] [stdout]    |                            move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_AST`
[INFO] [stdout] 35 | pub struct AST {
[INFO] [stdout]    |            --- `AST` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> wa1-ast/src/lib.rs:34:41
[INFO] [stdout]    |
[INFO] [stdout] 34 | #[derive(PartialEq, Debug, Deserialize, Serialize)]
[INFO] [stdout]    |                                         ^--------
[INFO] [stdout]    |                                         |
[INFO] [stdout]    |                                         `Serialize` is not local
[INFO] [stdout]    |                                         move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_AST`
[INFO] [stdout] 35 | pub struct AST {
[INFO] [stdout]    |            --- `AST` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> wa1-ast/src/lib.rs:57:17
[INFO] [stdout]    |
[INFO] [stdout] 57 | #[derive(Debug, Deserialize, Serialize)]
[INFO] [stdout]    |                 ^----------
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 `Deserialize` is not local
[INFO] [stdout]    |                 move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Exports`
[INFO] [stdout] 58 | pub struct Exports{
[INFO] [stdout]    |            ------- `Exports` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> wa1-ast/src/lib.rs:57:30
[INFO] [stdout]    |
[INFO] [stdout] 57 | #[derive(Debug, Deserialize, Serialize)]
[INFO] [stdout]    |                              ^--------
[INFO] [stdout]    |                              |
[INFO] [stdout]    |                              `Serialize` is not local
[INFO] [stdout]    |                              move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_Exports`
[INFO] [stdout] 58 | pub struct Exports{
[INFO] [stdout]    |            ------- `Exports` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> wa1-ast/src/lib.rs:67:17
[INFO] [stdout]    |
[INFO] [stdout] 67 | #[derive(Debug, Deserialize, Serialize)]
[INFO] [stdout]    |                 ^----------
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 `Deserialize` is not local
[INFO] [stdout]    |                 move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Imports`
[INFO] [stdout] 68 | pub struct Imports{
[INFO] [stdout]    |            ------- `Imports` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> wa1-ast/src/lib.rs:67:30
[INFO] [stdout]    |
[INFO] [stdout] 67 | #[derive(Debug, Deserialize, Serialize)]
[INFO] [stdout]    |                              ^--------
[INFO] [stdout]    |                              |
[INFO] [stdout]    |                              `Serialize` is not local
[INFO] [stdout]    |                              move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_Imports`
[INFO] [stdout] 68 | pub struct Imports{
[INFO] [stdout]    |            ------- `Imports` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> wa1-ast/src/expr.rs:25:35
[INFO] [stdout]    |
[INFO] [stdout] 25 | #[derive(Debug, Clone, PartialEq, Serialize, Deserialize, Copy)]
[INFO] [stdout]    |                                   ^--------
[INFO] [stdout]    |                                   |
[INFO] [stdout]    |                                   `Serialize` is not local
[INFO] [stdout]    |                                   move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_BinaryOperator`
[INFO] [stdout] 26 | pub enum BinaryOperator{
[INFO] [stdout]    |          -------------- `BinaryOperator` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> wa1-ast/src/expr.rs:25:46
[INFO] [stdout]    |
[INFO] [stdout] 25 | #[derive(Debug, Clone, PartialEq, Serialize, Deserialize, Copy)]
[INFO] [stdout]    |                                              ^----------
[INFO] [stdout]    |                                              |
[INFO] [stdout]    |                                              `Deserialize` is not local
[INFO] [stdout]    |                                              move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_BinaryOperator`
[INFO] [stdout] 26 | pub enum BinaryOperator{
[INFO] [stdout]    |          -------------- `BinaryOperator` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> wa1-ast/src/expr.rs:53:41
[INFO] [stdout]    |
[INFO] [stdout] 53 | #[derive(Debug, Clone, Copy, PartialEq, Serialize, Deserialize)]
[INFO] [stdout]    |                                         ^--------
[INFO] [stdout]    |                                         |
[INFO] [stdout]    |                                         `Serialize` is not local
[INFO] [stdout]    |                                         move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_UnaryOperator`
[INFO] [stdout] 54 | pub enum UnaryOperator{
[INFO] [stdout]    |          ------------- `UnaryOperator` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> wa1-ast/src/expr.rs:53:52
[INFO] [stdout]    |
[INFO] [stdout] 53 | #[derive(Debug, Clone, Copy, PartialEq, Serialize, Deserialize)]
[INFO] [stdout]    |                                                    ^----------
[INFO] [stdout]    |                                                    |
[INFO] [stdout]    |                                                    `Deserialize` is not local
[INFO] [stdout]    |                                                    move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_UnaryOperator`
[INFO] [stdout] 54 | pub enum UnaryOperator{
[INFO] [stdout]    |          ------------- `UnaryOperator` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> wa1-ast/src/expr.rs:66:41
[INFO] [stdout]    |
[INFO] [stdout] 66 | #[derive(Debug, Clone, Copy, PartialEq, Serialize, Deserialize)]
[INFO] [stdout]    |                                         ^--------
[INFO] [stdout]    |                                         |
[INFO] [stdout]    |                                         `Serialize` is not local
[INFO] [stdout]    |                                         move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_AssignmentOperator`
[INFO] [stdout] 67 | pub enum AssignmentOperator{
[INFO] [stdout]    |          ------------------ `AssignmentOperator` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> wa1-ast/src/expr.rs:66:52
[INFO] [stdout]    |
[INFO] [stdout] 66 | #[derive(Debug, Clone, Copy, PartialEq, Serialize, Deserialize)]
[INFO] [stdout]    |                                                    ^----------
[INFO] [stdout]    |                                                    |
[INFO] [stdout]    |                                                    `Deserialize` is not local
[INFO] [stdout]    |                                                    move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_AssignmentOperator`
[INFO] [stdout] 67 | pub enum AssignmentOperator{
[INFO] [stdout]    |          ------------------ `AssignmentOperator` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> wa1-ast/src/expr.rs:80:35
[INFO] [stdout]    |
[INFO] [stdout] 80 | #[derive(Debug, Clone, PartialEq, Serialize, Deserialize, Copy)]
[INFO] [stdout]    |                                   ^--------
[INFO] [stdout]    |                                   |
[INFO] [stdout]    |                                   `Serialize` is not local
[INFO] [stdout]    |                                   move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_VariableMutability`
[INFO] [stdout] 81 | pub enum VariableMutability{
[INFO] [stdout]    |          ------------------ `VariableMutability` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> wa1-ast/src/expr.rs:80:46
[INFO] [stdout]    |
[INFO] [stdout] 80 | #[derive(Debug, Clone, PartialEq, Serialize, Deserialize, Copy)]
[INFO] [stdout]    |                                              ^----------
[INFO] [stdout]    |                                              |
[INFO] [stdout]    |                                              `Deserialize` is not local
[INFO] [stdout]    |                                              move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_VariableMutability`
[INFO] [stdout] 81 | pub enum VariableMutability{
[INFO] [stdout]    |          ------------------ `VariableMutability` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> wa1-ast/src/expr.rs:87:35
[INFO] [stdout]    |
[INFO] [stdout] 87 | #[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
[INFO] [stdout]    |                                   ^--------
[INFO] [stdout]    |                                   |
[INFO] [stdout]    |                                   `Serialize` is not local
[INFO] [stdout]    |                                   move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_GlobalVariableDecl`
[INFO] [stdout] 88 | pub struct GlobalVariableDecl {
[INFO] [stdout]    |            ------------------ `GlobalVariableDecl` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> wa1-ast/src/expr.rs:87:46
[INFO] [stdout]    |
[INFO] [stdout] 87 | #[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
[INFO] [stdout]    |                                              ^----------
[INFO] [stdout]    |                                              |
[INFO] [stdout]    |                                              `Deserialize` is not local
[INFO] [stdout]    |                                              move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_GlobalVariableDecl`
[INFO] [stdout] 88 | pub struct GlobalVariableDecl {
[INFO] [stdout]    |            ------------------ `GlobalVariableDecl` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> wa1-ast/src/expr.rs:97:35
[INFO] [stdout]    |
[INFO] [stdout] 97 | #[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
[INFO] [stdout]    |                                   ^--------
[INFO] [stdout]    |                                   |
[INFO] [stdout]    |                                   `Serialize` is not local
[INFO] [stdout]    |                                   move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_GlobalVariableImport`
[INFO] [stdout] 98 | pub struct GlobalVariableImport {
[INFO] [stdout]    |            -------------------- `GlobalVariableImport` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> wa1-ast/src/expr.rs:97:46
[INFO] [stdout]    |
[INFO] [stdout] 97 | #[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
[INFO] [stdout]    |                                              ^----------
[INFO] [stdout]    |                                              |
[INFO] [stdout]    |                                              `Deserialize` is not local
[INFO] [stdout]    |                                              move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_GlobalVariableImport`
[INFO] [stdout] 98 | pub struct GlobalVariableImport {
[INFO] [stdout]    |            -------------------- `GlobalVariableImport` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> wa1-ast/src/expr.rs:104:35
[INFO] [stdout]     |
[INFO] [stdout] 104 | #[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
[INFO] [stdout]     |                                   ^--------
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   `Serialize` is not local
[INFO] [stdout]     |                                   move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_ClosureRef`
[INFO] [stdout] 105 | pub struct ClosureRef {
[INFO] [stdout]     |            ---------- `ClosureRef` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> wa1-ast/src/expr.rs:104:46
[INFO] [stdout]     |
[INFO] [stdout] 104 | #[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
[INFO] [stdout]     |                                              ^----------
[INFO] [stdout]     |                                              |
[INFO] [stdout]     |                                              `Deserialize` is not local
[INFO] [stdout]     |                                              move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_ClosureRef`
[INFO] [stdout] 105 | pub struct ClosureRef {
[INFO] [stdout]     |            ---------- `ClosureRef` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> wa1-ast/src/expr.rs:110:35
[INFO] [stdout]     |
[INFO] [stdout] 110 | #[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
[INFO] [stdout]     |                                   ^--------
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   `Serialize` is not local
[INFO] [stdout]     |                                   move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_ObjectLiteralElem`
[INFO] [stdout] 111 | pub struct ObjectLiteralElem{
[INFO] [stdout]     |            ----------------- `ObjectLiteralElem` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> wa1-ast/src/expr.rs:110:46
[INFO] [stdout]     |
[INFO] [stdout] 110 | #[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
[INFO] [stdout]     |                                              ^----------
[INFO] [stdout]     |                                              |
[INFO] [stdout]     |                                              `Deserialize` is not local
[INFO] [stdout]     |                                              move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_ObjectLiteralElem`
[INFO] [stdout] 111 | pub struct ObjectLiteralElem{
[INFO] [stdout]     |            ----------------- `ObjectLiteralElem` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> wa1-ast/src/expr.rs:117:35
[INFO] [stdout]     |
[INFO] [stdout] 117 | #[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
[INFO] [stdout]     |                                   ^--------
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   `Serialize` is not local
[INFO] [stdout]     |                                   move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_Expr`
[INFO] [stdout] 118 | pub enum Expr {
[INFO] [stdout]     |          ---- `Expr` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> wa1-ast/src/expr.rs:117:46
[INFO] [stdout]     |
[INFO] [stdout] 117 | #[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
[INFO] [stdout]     |                                              ^----------
[INFO] [stdout]     |                                              |
[INFO] [stdout]     |                                              `Deserialize` is not local
[INFO] [stdout]     |                                              move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Expr`
[INFO] [stdout] 118 | pub enum Expr {
[INFO] [stdout]     |          ---- `Expr` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> wa1-ast/src/expr.rs:238:41
[INFO] [stdout]     |
[INFO] [stdout] 238 | #[derive(Debug, Clone, Copy, PartialEq, Serialize, Deserialize)]
[INFO] [stdout]     |                                         ^--------
[INFO] [stdout]     |                                         |
[INFO] [stdout]     |                                         `Serialize` is not local
[INFO] [stdout]     |                                         move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_ReturnExpr`
[INFO] [stdout] 239 | pub enum ReturnExpr {
[INFO] [stdout]     |          ---------- `ReturnExpr` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> wa1-ast/src/expr.rs:238:52
[INFO] [stdout]     |
[INFO] [stdout] 238 | #[derive(Debug, Clone, Copy, PartialEq, Serialize, Deserialize)]
[INFO] [stdout]     |                                                    ^----------
[INFO] [stdout]     |                                                    |
[INFO] [stdout]     |                                                    `Deserialize` is not local
[INFO] [stdout]     |                                                    move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_ReturnExpr`
[INFO] [stdout] 239 | pub enum ReturnExpr {
[INFO] [stdout]     |          ---------- `ReturnExpr` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> wa1-ast/src/expr.rs:245:35
[INFO] [stdout]     |
[INFO] [stdout] 245 | #[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
[INFO] [stdout]     |                                   ^--------
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   `Serialize` is not local
[INFO] [stdout]     |                                   move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_TypedExpr`
[INFO] [stdout] 246 | pub struct TypedExpr{
[INFO] [stdout]     |            --------- `TypedExpr` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> wa1-ast/src/expr.rs:245:46
[INFO] [stdout]     |
[INFO] [stdout] 245 | #[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
[INFO] [stdout]     |                                              ^----------
[INFO] [stdout]     |                                              |
[INFO] [stdout]     |                                              `Deserialize` is not local
[INFO] [stdout]     |                                              move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_TypedExpr`
[INFO] [stdout] 246 | pub struct TypedExpr{
[INFO] [stdout]     |            --------- `TypedExpr` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> wa1-ast/src/expr.rs:276:35
[INFO] [stdout]     |
[INFO] [stdout] 276 | #[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
[INFO] [stdout]     |                                   ^--------
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   `Serialize` is not local
[INFO] [stdout]     |                                   move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_LValueExpr`
[INFO] [stdout] 277 | pub enum LValueExpr{
[INFO] [stdout]     |          ---------- `LValueExpr` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> wa1-ast/src/expr.rs:276:46
[INFO] [stdout]     |
[INFO] [stdout] 276 | #[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
[INFO] [stdout]     |                                              ^----------
[INFO] [stdout]     |                                              |
[INFO] [stdout]     |                                              `Deserialize` is not local
[INFO] [stdout]     |                                              move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_LValueExpr`
[INFO] [stdout] 277 | pub enum LValueExpr{
[INFO] [stdout]     |          ---------- `LValueExpr` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> wa1-ast/src/expr.rs:291:35
[INFO] [stdout]     |
[INFO] [stdout] 291 | #[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
[INFO] [stdout]     |                                   ^--------
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   `Serialize` is not local
[INFO] [stdout]     |                                   move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_TypedLValueExpr`
[INFO] [stdout] 292 | pub struct TypedLValueExpr{
[INFO] [stdout]     |            --------------- `TypedLValueExpr` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> wa1-ast/src/expr.rs:291:46
[INFO] [stdout]     |
[INFO] [stdout] 291 | #[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
[INFO] [stdout]     |                                              ^----------
[INFO] [stdout]     |                                              |
[INFO] [stdout]     |                                              `Deserialize` is not local
[INFO] [stdout]     |                                              move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_TypedLValueExpr`
[INFO] [stdout] 292 | pub struct TypedLValueExpr{
[INFO] [stdout]     |            --------------- `TypedLValueExpr` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> wa1-ast/src/func.rs:21:35
[INFO] [stdout]    |
[INFO] [stdout] 21 | #[derive(Debug, Clone, PartialEq, Deserialize, Serialize)]
[INFO] [stdout]    |                                   ^----------
[INFO] [stdout]    |                                   |
[INFO] [stdout]    |                                   `Deserialize` is not local
[INFO] [stdout]    |                                   move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_FuncArg`
[INFO] [stdout] 22 | pub struct FuncArg {
[INFO] [stdout]    |            ------- `FuncArg` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> wa1-ast/src/func.rs:21:48
[INFO] [stdout]    |
[INFO] [stdout] 21 | #[derive(Debug, Clone, PartialEq, Deserialize, Serialize)]
[INFO] [stdout]    |                                                ^--------
[INFO] [stdout]    |                                                |
[INFO] [stdout]    |                                                `Serialize` is not local
[INFO] [stdout]    |                                                move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_FuncArg`
[INFO] [stdout] 22 | pub struct FuncArg {
[INFO] [stdout]    |            ------- `FuncArg` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> wa1-ast/src/func.rs:28:35
[INFO] [stdout]    |
[INFO] [stdout] 28 | #[derive(Debug, Clone, PartialEq, Deserialize, Serialize)]
[INFO] [stdout]    |                                   ^----------
[INFO] [stdout]    |                                   |
[INFO] [stdout]    |                                   `Deserialize` is not local
[INFO] [stdout]    |                                   move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_LocalVar`
[INFO] [stdout] 29 | pub struct LocalVar{
[INFO] [stdout]    |            -------- `LocalVar` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> wa1-ast/src/func.rs:28:48
[INFO] [stdout]    |
[INFO] [stdout] 28 | #[derive(Debug, Clone, PartialEq, Deserialize, Serialize)]
[INFO] [stdout]    |                                                ^--------
[INFO] [stdout]    |                                                |
[INFO] [stdout]    |                                                `Serialize` is not local
[INFO] [stdout]    |                                                move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_LocalVar`
[INFO] [stdout] 29 | pub struct LocalVar{
[INFO] [stdout]    |            -------- `LocalVar` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> wa1-ast/src/func.rs:38:35
[INFO] [stdout]    |
[INFO] [stdout] 38 | #[derive(Debug, Clone, PartialEq, Deserialize, Serialize)]
[INFO] [stdout]    |                                   ^----------
[INFO] [stdout]    |                                   |
[INFO] [stdout]    |                                   `Deserialize` is not local
[INFO] [stdout]    |                                   move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Func`
[INFO] [stdout] 39 | pub struct Func {
[INFO] [stdout]    |            ---- `Func` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> wa1-ast/src/func.rs:38:48
[INFO] [stdout]    |
[INFO] [stdout] 38 | #[derive(Debug, Clone, PartialEq, Deserialize, Serialize)]
[INFO] [stdout]    |                                                ^--------
[INFO] [stdout]    |                                                |
[INFO] [stdout]    |                                                `Serialize` is not local
[INFO] [stdout]    |                                                move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_Func`
[INFO] [stdout] 39 | pub struct Func {
[INFO] [stdout]    |            ---- `Func` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> wa1-ast/src/func.rs:48:35
[INFO] [stdout]    |
[INFO] [stdout] 48 | #[derive(Debug, Clone, PartialEq, Deserialize, Serialize)]
[INFO] [stdout]    |                                   ^----------
[INFO] [stdout]    |                                   |
[INFO] [stdout]    |                                   `Deserialize` is not local
[INFO] [stdout]    |                                   move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_TypeGuardBranch`
[INFO] [stdout] 49 | pub struct TypeGuardBranch {
[INFO] [stdout]    |            --------------- `TypeGuardBranch` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> wa1-ast/src/func.rs:48:48
[INFO] [stdout]    |
[INFO] [stdout] 48 | #[derive(Debug, Clone, PartialEq, Deserialize, Serialize)]
[INFO] [stdout]    |                                                ^--------
[INFO] [stdout]    |                                                |
[INFO] [stdout]    |                                                `Serialize` is not local
[INFO] [stdout]    |                                                move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_TypeGuardBranch`
[INFO] [stdout] 49 | pub struct TypeGuardBranch {
[INFO] [stdout]    |            --------------- `TypeGuardBranch` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> wa1-ast/src/func.rs:56:35
[INFO] [stdout]    |
[INFO] [stdout] 56 | #[derive(Debug, Clone, PartialEq, Deserialize, Serialize)]
[INFO] [stdout]    |                                   ^----------
[INFO] [stdout]    |                                   |
[INFO] [stdout]    |                                   `Deserialize` is not local
[INFO] [stdout]    |                                   move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_TypeGuard`
[INFO] [stdout] 57 | pub struct TypeGuard {
[INFO] [stdout]    |            --------- `TypeGuard` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> wa1-ast/src/func.rs:56:48
[INFO] [stdout]    |
[INFO] [stdout] 56 | #[derive(Debug, Clone, PartialEq, Deserialize, Serialize)]
[INFO] [stdout]    |                                                ^--------
[INFO] [stdout]    |                                                |
[INFO] [stdout]    |                                                `Serialize` is not local
[INFO] [stdout]    |                                                move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_TypeGuard`
[INFO] [stdout] 57 | pub struct TypeGuard {
[INFO] [stdout]    |            --------- `TypeGuard` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> wa1-ast/src/func.rs:62:35
[INFO] [stdout]    |
[INFO] [stdout] 62 | #[derive(Debug, Clone, PartialEq, Deserialize, Serialize)]
[INFO] [stdout]    |                                   ^----------
[INFO] [stdout]    |                                   |
[INFO] [stdout]    |                                   `Deserialize` is not local
[INFO] [stdout]    |                                   move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_FuncDecl`
[INFO] [stdout] 63 | pub struct FuncDecl {
[INFO] [stdout]    |            -------- `FuncDecl` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> wa1-ast/src/func.rs:62:48
[INFO] [stdout]    |
[INFO] [stdout] 62 | #[derive(Debug, Clone, PartialEq, Deserialize, Serialize)]
[INFO] [stdout]    |                                                ^--------
[INFO] [stdout]    |                                                |
[INFO] [stdout]    |                                                `Serialize` is not local
[INFO] [stdout]    |                                                move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_FuncDecl`
[INFO] [stdout] 63 | pub struct FuncDecl {
[INFO] [stdout]    |            -------- `FuncDecl` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> wa1-ast/src/func.rs:89:35
[INFO] [stdout]    |
[INFO] [stdout] 89 | #[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
[INFO] [stdout]    |                                   ^--------
[INFO] [stdout]    |                                   |
[INFO] [stdout]    |                                   `Serialize` is not local
[INFO] [stdout]    |                                   move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_FuncObjectCreation`
[INFO] [stdout] 90 | pub struct FuncObjectCreation {
[INFO] [stdout]    |            ------------------ `FuncObjectCreation` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling wa1-ast v0.4.0 (/opt/rustwide/workdir/wa1-ast)
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> wa1-ast/src/func.rs:89:46
[INFO] [stdout]    |
[INFO] [stdout] 89 | #[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
[INFO] [stdout]    |                                              ^----------
[INFO] [stdout]    |                                              |
[INFO] [stdout]    |                                              `Deserialize` is not local
[INFO] [stdout]    |                                              move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_FuncObjectCreation`
[INFO] [stdout] 90 | pub struct FuncObjectCreation {
[INFO] [stdout]    |            ------------------ `FuncObjectCreation` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> wa1-ast/src/intrinsic.rs:9:35
[INFO] [stdout]    |
[INFO] [stdout] 9  | #[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
[INFO] [stdout]    |                                   ^--------
[INFO] [stdout]    |                                   |
[INFO] [stdout]    |                                   `Serialize` is not local
[INFO] [stdout]    |                                   move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_Intrinsic`
[INFO] [stdout] 10 | pub enum Intrinsic {
[INFO] [stdout]    |          --------- `Intrinsic` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> wa1-ast/src/intrinsic.rs:9:46
[INFO] [stdout]    |
[INFO] [stdout] 9  | #[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
[INFO] [stdout]    |                                              ^----------
[INFO] [stdout]    |                                              |
[INFO] [stdout]    |                                              `Deserialize` is not local
[INFO] [stdout]    |                                              move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Intrinsic`
[INFO] [stdout] 10 | pub enum Intrinsic {
[INFO] [stdout]    |          --------- `Intrinsic` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> wa1-ast/src/ast_types.rs:9:35
[INFO] [stdout]    |
[INFO] [stdout] 9  | #[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
[INFO] [stdout]    |                                   ^--------
[INFO] [stdout]    |                                   |
[INFO] [stdout]    |                                   `Serialize` is not local
[INFO] [stdout]    |                                   move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_MemberFunc`
[INFO] [stdout] 10 | pub struct MemberFunc{
[INFO] [stdout]    |            ---------- `MemberFunc` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> wa1-ast/src/ast_types.rs:9:46
[INFO] [stdout]    |
[INFO] [stdout] 9  | #[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
[INFO] [stdout]    |                                              ^----------
[INFO] [stdout]    |                                              |
[INFO] [stdout]    |                                              `Deserialize` is not local
[INFO] [stdout]    |                                              move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_MemberFunc`
[INFO] [stdout] 10 | pub struct MemberFunc{
[INFO] [stdout]    |            ---------- `MemberFunc` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> wa1-ast/src/ast_types.rs:20:35
[INFO] [stdout]    |
[INFO] [stdout] 20 | #[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
[INFO] [stdout]    |                                   ^--------
[INFO] [stdout]    |                                   |
[INFO] [stdout]    |                                   `Serialize` is not local
[INFO] [stdout]    |                                   move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_TraitMemberFunc`
[INFO] [stdout] 21 | pub struct TraitMemberFunc{
[INFO] [stdout]    |            --------------- `TraitMemberFunc` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> wa1-ast/src/ast_types.rs:20:46
[INFO] [stdout]    |
[INFO] [stdout] 20 | #[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
[INFO] [stdout]    |                                              ^----------
[INFO] [stdout]    |                                              |
[INFO] [stdout]    |                                              `Deserialize` is not local
[INFO] [stdout]    |                                              move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_TraitMemberFunc`
[INFO] [stdout] 21 | pub struct TraitMemberFunc{
[INFO] [stdout]    |            --------------- `TraitMemberFunc` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling wa1-lexer v0.0.1 (/opt/rustwide/workdir/wa1-lexer)
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> wa1-ast/src/ast_types.rs:28:35
[INFO] [stdout]    |
[INFO] [stdout] 28 | #[derive(Debug, Clone, PartialEq, Serialize, Deserialize, Copy)]
[INFO] [stdout]    |                                   ^--------
[INFO] [stdout]    |                                   |
[INFO] [stdout]    |                                   `Serialize` is not local
[INFO] [stdout]    |                                   move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_UserClassStorage`
[INFO] [stdout] 29 | pub enum UserClassStorage{
[INFO] [stdout]    |          ---------------- `UserClassStorage` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> wa1-ast/src/ast_types.rs:28:46
[INFO] [stdout]    |
[INFO] [stdout] 28 | #[derive(Debug, Clone, PartialEq, Serialize, Deserialize, Copy)]
[INFO] [stdout]    |                                              ^----------
[INFO] [stdout]    |                                              |
[INFO] [stdout]    |                                              `Deserialize` is not local
[INFO] [stdout]    |                                              move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_UserClassStorage`
[INFO] [stdout] 29 | pub enum UserClassStorage{
[INFO] [stdout]    |          ---------------- `UserClassStorage` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> wa1-ast/src/ast_types.rs:34:35
[INFO] [stdout]    |
[INFO] [stdout] 34 | #[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
[INFO] [stdout]    |                                   ^--------
[INFO] [stdout]    |                                   |
[INFO] [stdout]    |                                   `Serialize` is not local
[INFO] [stdout]    |                                   move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_TypeDecl`
[INFO] [stdout] 35 | pub enum TypeDecl{
[INFO] [stdout]    |          -------- `TypeDecl` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> wa1-ast/src/ast_types.rs:34:46
[INFO] [stdout]    |
[INFO] [stdout] 34 | #[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
[INFO] [stdout]    |                                              ^----------
[INFO] [stdout]    |                                              |
[INFO] [stdout]    |                                              `Deserialize` is not local
[INFO] [stdout]    |                                              move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_TypeDecl`
[INFO] [stdout] 35 | pub enum TypeDecl{
[INFO] [stdout]    |          -------- `TypeDecl` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> wa1-ast/src/ast_types.rs:52:35
[INFO] [stdout]    |
[INFO] [stdout] 52 | #[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
[INFO] [stdout]    |                                   ^--------
[INFO] [stdout]    |                                   |
[INFO] [stdout]    |                                   `Serialize` is not local
[INFO] [stdout]    |                                   move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_TraitDecl`
[INFO] [stdout] 53 | pub struct TraitDecl{
[INFO] [stdout]    |            --------- `TraitDecl` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> wa1-ast/src/ast_types.rs:52:46
[INFO] [stdout]    |
[INFO] [stdout] 52 | #[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
[INFO] [stdout]    |                                              ^----------
[INFO] [stdout]    |                                              |
[INFO] [stdout]    |                                              `Deserialize` is not local
[INFO] [stdout]    |                                              move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_TraitDecl`
[INFO] [stdout] 53 | pub struct TraitDecl{
[INFO] [stdout]    |            --------- `TraitDecl` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> wa1-ast/src/ast_types.rs:59:35
[INFO] [stdout]    |
[INFO] [stdout] 59 | #[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
[INFO] [stdout]    |                                   ^--------
[INFO] [stdout]    |                                   |
[INFO] [stdout]    |                                   `Serialize` is not local
[INFO] [stdout]    |                                   move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_TraitImpl`
[INFO] [stdout] 60 | pub struct TraitImpl{
[INFO] [stdout]    |            --------- `TraitImpl` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> wa1-ast/src/ast_types.rs:59:46
[INFO] [stdout]    |
[INFO] [stdout] 59 | #[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
[INFO] [stdout]    |                                              ^----------
[INFO] [stdout]    |                                              |
[INFO] [stdout]    |                                              `Deserialize` is not local
[INFO] [stdout]    |                                              move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_TraitImpl`
[INFO] [stdout] 60 | pub struct TraitImpl{
[INFO] [stdout]    |            --------- `TraitImpl` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `wa1_errs::Error`
[INFO] [stdout]  --> wa1-parser/src/parser/parser_option.rs:4:9
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub use wa1_errs::Error;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `wa1_errs::Error`
[INFO] [stdout]   --> wa1-parser/src/parser/parser_phase_1.rs:10:9
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub use wa1_errs::Error;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `wa1_errs::Error`
[INFO] [stdout]  --> wa1-parser/src/parser/parser_typeguard.rs:7:9
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub use wa1_errs::Error;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around match arm expression
[INFO] [stdout]   --> wa1-parser/src/parser/mod.rs:43:30
[INFO] [stdout]    |
[INFO] [stdout] 43 |         ImportFilter::All => (exports),
[INFO] [stdout]    |                              ^       ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 43 -         ImportFilter::All => (exports),
[INFO] [stdout] 43 +         ImportFilter::All => exports,
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling wa1-parser v0.0.1 (/opt/rustwide/workdir/wa1-parser)
[INFO] [stdout] warning: unused import: `wa1_errs::Error`
[INFO] [stdout]  --> wa1-parser/src/tree_transform/mod.rs:2:9
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub use wa1_errs::Error;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling wa1-errs v0.0.1 (/opt/rustwide/workdir/wa1-errs)
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> wa1-parser/src/parser/mod.rs:38:11
[INFO] [stdout]    |
[INFO] [stdout] 38 |     Named(Vec<String>)
[INFO] [stdout]    |     ----- ^^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` 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] 38 |     Named(())
[INFO] [stdout]    |           ~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `std::mem::replace` that must be used
[INFO] [stdout]    --> wa1-parser/src/parser/mod.rs:173:17
[INFO] [stdout]     |
[INFO] [stdout] 173 |                 replace(&mut self.look_ahead, look_ahead);
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout]     = note: `#[warn(unused_must_use)]` on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 173 |                 let _ = replace(&mut self.look_ahead, look_ahead);
[INFO] [stdout]     |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling wa1-types v0.1.0 (/opt/rustwide/workdir/wa1-types)
[INFO] [stdout] warning: unexpected `cfg` condition value: `atomics`
[INFO] [stdout]    --> wa1-generator/src/wasm/wasm_instructions.rs:221:7
[INFO] [stdout]     |
[INFO] [stdout] 221 | #[cfg(feature="atomics")]
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stdout]     |
[INFO] [stdout]     = note: no expected values for `feature`
[INFO] [stdout]     = help: consider adding `atomics` as a feature in `Cargo.toml`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]     = note: `#[warn(unexpected_cfgs)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `simd`
[INFO] [stdout]    --> wa1-generator/src/wasm/wasm_instructions.rs:301:7
[INFO] [stdout]     |
[INFO] [stdout] 301 | #[cfg(feature="simd")]
[INFO] [stdout]     |       ^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stdout]     |
[INFO] [stdout]     = note: no expected values for `feature`
[INFO] [stdout]     = help: consider adding `simd` as a feature in `Cargo.toml`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `sign_ext`
[INFO] [stdout]    --> wa1-generator/src/wasm/wasm_instructions.rs:458:7
[INFO] [stdout]     |
[INFO] [stdout] 458 | #[cfg(feature="sign_ext")]
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stdout]     |
[INFO] [stdout]     = note: no expected values for `feature`
[INFO] [stdout]     = help: consider adding `sign_ext` as a feature in `Cargo.toml`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `bulk`
[INFO] [stdout]    --> wa1-generator/src/wasm/wasm_instructions.rs:469:7
[INFO] [stdout]     |
[INFO] [stdout] 469 | #[cfg(feature="bulk")]
[INFO] [stdout]     |       ^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stdout]     |
[INFO] [stdout]     = note: no expected values for `feature`
[INFO] [stdout]     = help: consider adding `bulk` as a feature in `Cargo.toml`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `atomics`
[INFO] [stdout]    --> wa1-generator/src/wasm/wasm_instructions.rs:207:8
[INFO] [stdout]     |
[INFO] [stdout] 207 |     #[cfg(feature="atomics")]
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stdout]     |
[INFO] [stdout]     = note: no expected values for `feature`
[INFO] [stdout]     = help: consider adding `atomics` as a feature in `Cargo.toml`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling wa1-generator v0.0.1 (/opt/rustwide/workdir/wa1-generator)
[INFO] [stdout] warning: unexpected `cfg` condition value: `simd`
[INFO] [stdout]    --> wa1-generator/src/wasm/wasm_instructions.rs:210:8
[INFO] [stdout]     |
[INFO] [stdout] 210 |     #[cfg(feature="simd")]
[INFO] [stdout]     |           ^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stdout]     |
[INFO] [stdout]     = note: no expected values for `feature`
[INFO] [stdout]     = help: consider adding `simd` as a feature in `Cargo.toml`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `sign_ext`
[INFO] [stdout]    --> wa1-generator/src/wasm/wasm_instructions.rs:213:8
[INFO] [stdout]     |
[INFO] [stdout] 213 |     #[cfg(feature="sign_ext")]
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stdout]     |
[INFO] [stdout]     = note: no expected values for `feature`
[INFO] [stdout]     = help: consider adding `sign_ext` as a feature in `Cargo.toml`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `bulk`
[INFO] [stdout]    --> wa1-generator/src/wasm/wasm_instructions.rs:216:8
[INFO] [stdout]     |
[INFO] [stdout] 216 |     #[cfg(feature="bulk")]
[INFO] [stdout]     |           ^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stdout]     |
[INFO] [stdout]     = note: no expected values for `feature`
[INFO] [stdout]     = help: consider adding `bulk` as a feature in `Cargo.toml`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `sign_ext`
[INFO] [stdout]     --> wa1-generator/src/wasm/wasm_instructions.rs:1025:8
[INFO] [stdout]      |
[INFO] [stdout] 1025 |     #[cfg(feature="sign_ext")]
[INFO] [stdout]      |           ^^^^^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stdout]      |
[INFO] [stdout]      = note: no expected values for `feature`
[INFO] [stdout]      = help: consider adding `sign_ext` as a feature in `Cargo.toml`
[INFO] [stdout]      = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `atomics`
[INFO] [stdout]     --> wa1-generator/src/wasm/wasm_instructions.rs:1034:8
[INFO] [stdout]      |
[INFO] [stdout] 1034 |     #[cfg(feature="atomics")]
[INFO] [stdout]      |           ^^^^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stdout]      |
[INFO] [stdout]      = note: no expected values for `feature`
[INFO] [stdout]      = help: consider adding `atomics` as a feature in `Cargo.toml`
[INFO] [stdout]      = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `simd`
[INFO] [stdout]     --> wa1-generator/src/wasm/wasm_instructions.rs:1113:8
[INFO] [stdout]      |
[INFO] [stdout] 1113 |     #[cfg(feature="simd")]
[INFO] [stdout]      |           ^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stdout]      |
[INFO] [stdout]      = note: no expected values for `feature`
[INFO] [stdout]      = help: consider adding `simd` as a feature in `Cargo.toml`
[INFO] [stdout]      = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `bulk`
[INFO] [stdout]     --> wa1-generator/src/wasm/wasm_instructions.rs:1279:8
[INFO] [stdout]      |
[INFO] [stdout] 1279 |     #[cfg(feature="bulk")]
[INFO] [stdout]      |           ^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stdout]      |
[INFO] [stdout]      = note: no expected values for `feature`
[INFO] [stdout]      = help: consider adding `bulk` as a feature in `Cargo.toml`
[INFO] [stdout]      = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling wa1 v0.1.0 (/opt/rustwide/workdir/wa1)
[INFO] [stdout] warning: variants `SymTabEvent` and `SymTabTable` are never constructed
[INFO] [stdout]   --> wa1-generator/src/wasm/wasm_object_file.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 8  | enum WasmSymInfoKind{
[INFO] [stdout]    |      --------------- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 18 |     SymTabEvent = 4,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 19 |     ///SYMTAB_TABLE
[INFO] [stdout] 20 |     SymTabTable = 5,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `WasmSymInfoKind` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling test-runner v0.1.0 (/opt/rustwide/workdir/test-runner)
[INFO] [stdout] warning: unexpected `cfg` condition value: `atomics`
[INFO] [stdout]    --> wa1-generator/src/wasm/wasm_instructions.rs:221:7
[INFO] [stdout]     |
[INFO] [stdout] 221 | #[cfg(feature="atomics")]
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stdout]     |
[INFO] [stdout]     = note: no expected values for `feature`
[INFO] [stdout]     = help: consider adding `atomics` as a feature in `Cargo.toml`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]     = note: `#[warn(unexpected_cfgs)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `simd`
[INFO] [stdout]    --> wa1-generator/src/wasm/wasm_instructions.rs:301:7
[INFO] [stdout]     |
[INFO] [stdout] 301 | #[cfg(feature="simd")]
[INFO] [stdout]     |       ^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stdout]     |
[INFO] [stdout]     = note: no expected values for `feature`
[INFO] [stdout]     = help: consider adding `simd` as a feature in `Cargo.toml`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `sign_ext`
[INFO] [stdout]    --> wa1-generator/src/wasm/wasm_instructions.rs:458:7
[INFO] [stdout]     |
[INFO] [stdout] 458 | #[cfg(feature="sign_ext")]
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stdout]     |
[INFO] [stdout]     = note: no expected values for `feature`
[INFO] [stdout]     = help: consider adding `sign_ext` as a feature in `Cargo.toml`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `bulk`
[INFO] [stdout]    --> wa1-generator/src/wasm/wasm_instructions.rs:469:7
[INFO] [stdout]     |
[INFO] [stdout] 469 | #[cfg(feature="bulk")]
[INFO] [stdout]     |       ^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stdout]     |
[INFO] [stdout]     = note: no expected values for `feature`
[INFO] [stdout]     = help: consider adding `bulk` as a feature in `Cargo.toml`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `atomics`
[INFO] [stdout]    --> wa1-generator/src/wasm/wasm_instructions.rs:207:8
[INFO] [stdout]     |
[INFO] [stdout] 207 |     #[cfg(feature="atomics")]
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stdout]     |
[INFO] [stdout]     = note: no expected values for `feature`
[INFO] [stdout]     = help: consider adding `atomics` as a feature in `Cargo.toml`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `simd`
[INFO] [stdout]    --> wa1-generator/src/wasm/wasm_instructions.rs:210:8
[INFO] [stdout]     |
[INFO] [stdout] 210 |     #[cfg(feature="simd")]
[INFO] [stdout]     |           ^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stdout]     |
[INFO] [stdout]     = note: no expected values for `feature`
[INFO] [stdout]     = help: consider adding `simd` as a feature in `Cargo.toml`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `sign_ext`
[INFO] [stdout]    --> wa1-generator/src/wasm/wasm_instructions.rs:213:8
[INFO] [stdout]     |
[INFO] [stdout] 213 |     #[cfg(feature="sign_ext")]
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stdout]     |
[INFO] [stdout]     = note: no expected values for `feature`
[INFO] [stdout]     = help: consider adding `sign_ext` as a feature in `Cargo.toml`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `bulk`
[INFO] [stdout]    --> wa1-generator/src/wasm/wasm_instructions.rs:216:8
[INFO] [stdout]     |
[INFO] [stdout] 216 |     #[cfg(feature="bulk")]
[INFO] [stdout]     |           ^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stdout]     |
[INFO] [stdout]     = note: no expected values for `feature`
[INFO] [stdout]     = help: consider adding `bulk` as a feature in `Cargo.toml`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `sign_ext`
[INFO] [stdout]     --> wa1-generator/src/wasm/wasm_instructions.rs:1025:8
[INFO] [stdout]      |
[INFO] [stdout] 1025 |     #[cfg(feature="sign_ext")]
[INFO] [stdout]      |           ^^^^^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stdout]      |
[INFO] [stdout]      = note: no expected values for `feature`
[INFO] [stdout]      = help: consider adding `sign_ext` as a feature in `Cargo.toml`
[INFO] [stdout]      = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `atomics`
[INFO] [stdout]     --> wa1-generator/src/wasm/wasm_instructions.rs:1034:8
[INFO] [stdout]      |
[INFO] [stdout] 1034 |     #[cfg(feature="atomics")]
[INFO] [stdout]      |           ^^^^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stdout]      |
[INFO] [stdout]      = note: no expected values for `feature`
[INFO] [stdout]      = help: consider adding `atomics` as a feature in `Cargo.toml`
[INFO] [stdout]      = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `simd`
[INFO] [stdout]     --> wa1-generator/src/wasm/wasm_instructions.rs:1113:8
[INFO] [stdout]      |
[INFO] [stdout] 1113 |     #[cfg(feature="simd")]
[INFO] [stdout]      |           ^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stdout]      |
[INFO] [stdout]      = note: no expected values for `feature`
[INFO] [stdout]      = help: consider adding `simd` as a feature in `Cargo.toml`
[INFO] [stdout]      = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `bulk`
[INFO] [stdout]     --> wa1-generator/src/wasm/wasm_instructions.rs:1279:8
[INFO] [stdout]      |
[INFO] [stdout] 1279 |     #[cfg(feature="bulk")]
[INFO] [stdout]      |           ^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stdout]      |
[INFO] [stdout]      = note: no expected values for `feature`
[INFO] [stdout]      = help: consider adding `bulk` as a feature in `Cargo.toml`
[INFO] [stdout]      = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: elided lifetime has a name
[INFO] [stdout]    --> wa1-lexer/src/tokenizer/buffer.rs:213:28
[INFO] [stdout]     |
[INFO] [stdout] 212 | impl<'a> From<&'a str> for JSBuffer<'a> {
[INFO] [stdout]     |      -- lifetime `'a` declared here
[INFO] [stdout] 213 |     fn from(s: &'a str) -> JSBuffer {
[INFO] [stdout]     |                            ^^^^^^^^ this elided lifetime gets resolved as `'a`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(elided_named_lifetimes)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `wa1_errs::Error`
[INFO] [stdout]  --> wa1-parser/src/parser/parser_option.rs:4:9
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub use wa1_errs::Error;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `wa1_errs::Error`
[INFO] [stdout]   --> wa1-parser/src/parser/parser_phase_1.rs:10:9
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub use wa1_errs::Error;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `wa1_errs::Error`
[INFO] [stdout]  --> wa1-parser/src/parser/parser_typeguard.rs:7:9
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub use wa1_errs::Error;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around match arm expression
[INFO] [stdout]   --> wa1-parser/src/parser/mod.rs:43:30
[INFO] [stdout]    |
[INFO] [stdout] 43 |         ImportFilter::All => (exports),
[INFO] [stdout]    |                              ^       ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 43 -         ImportFilter::All => (exports),
[INFO] [stdout] 43 +         ImportFilter::All => exports,
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `wa1_errs::Error`
[INFO] [stdout]  --> wa1-parser/src/tree_transform/mod.rs:2:9
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub use wa1_errs::Error;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> wa1-errs/src/source_location.rs:8:41
[INFO] [stdout]    |
[INFO] [stdout] 8  | #[derive(Clone, Copy, Debug, PartialEq, Serialize, Deserialize)]
[INFO] [stdout]    |                                         ^--------
[INFO] [stdout]    |                                         |
[INFO] [stdout]    |                                         `Serialize` is not local
[INFO] [stdout]    |                                         move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_Position`
[INFO] [stdout] ...
[INFO] [stdout] 11 | pub struct Position {
[INFO] [stdout]    |            -------- `Position` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: `#[warn(non_local_definitions)]` on by default
[INFO] [stdout]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> wa1-errs/src/source_location.rs:8:52
[INFO] [stdout]    |
[INFO] [stdout] 8  | #[derive(Clone, Copy, Debug, PartialEq, Serialize, Deserialize)]
[INFO] [stdout]    |                                                    ^----------
[INFO] [stdout]    |                                                    |
[INFO] [stdout]    |                                                    `Deserialize` is not local
[INFO] [stdout]    |                                                    move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Position`
[INFO] [stdout] ...
[INFO] [stdout] 11 | pub struct Position {
[INFO] [stdout]    |            -------- `Position` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> wa1-errs/src/source_location.rs:29:41
[INFO] [stdout]    |
[INFO] [stdout] 29 | #[derive(Clone, Copy, Debug, PartialEq, Serialize, Deserialize)]
[INFO] [stdout]    |                                         ^--------
[INFO] [stdout]    |                                         |
[INFO] [stdout]    |                                         `Serialize` is not local
[INFO] [stdout]    |                                         move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_SourceLocation`
[INFO] [stdout] ...
[INFO] [stdout] 32 | pub struct SourceLocation {
[INFO] [stdout]    |            -------------- `SourceLocation` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> wa1-errs/src/source_location.rs:29:52
[INFO] [stdout]    |
[INFO] [stdout] 29 | #[derive(Clone, Copy, Debug, PartialEq, Serialize, Deserialize)]
[INFO] [stdout]    |                                                    ^----------
[INFO] [stdout]    |                                                    |
[INFO] [stdout]    |                                                    `Deserialize` is not local
[INFO] [stdout]    |                                                    move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_SourceLocation`
[INFO] [stdout] ...
[INFO] [stdout] 32 | pub struct SourceLocation {
[INFO] [stdout]    |            -------------- `SourceLocation` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `SymTabEvent` and `SymTabTable` are never constructed
[INFO] [stdout]   --> wa1-generator/src/wasm/wasm_object_file.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 8  | enum WasmSymInfoKind{
[INFO] [stdout]    |      --------------- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 18 |     SymTabEvent = 4,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 19 |     ///SYMTAB_TABLE
[INFO] [stdout] 20 |     SymTabTable = 5,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `WasmSymInfoKind` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]  --> wa1/src/build_config.rs:4:35
[INFO] [stdout]   |
[INFO] [stdout] 4 | #[derive(Debug, Clone, PartialEq, Deserialize, Serialize)]
[INFO] [stdout]   |                                   ^----------
[INFO] [stdout]   |                                   |
[INFO] [stdout]   |                                   `Deserialize` is not local
[INFO] [stdout]   |                                   move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_SourceFile`
[INFO] [stdout] 5 | pub struct SourceFile {
[INFO] [stdout]   |            ---------- `SourceFile` is not local
[INFO] [stdout]   |
[INFO] [stdout]   = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]   = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]   = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]   = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]   = note: `#[warn(non_local_definitions)]` on by default
[INFO] [stdout]   = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]  --> wa1/src/build_config.rs:4:48
[INFO] [stdout]   |
[INFO] [stdout] 4 | #[derive(Debug, Clone, PartialEq, Deserialize, Serialize)]
[INFO] [stdout]   |                                                ^--------
[INFO] [stdout]   |                                                |
[INFO] [stdout]   |                                                `Serialize` is not local
[INFO] [stdout]   |                                                move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_SourceFile`
[INFO] [stdout] 5 | pub struct SourceFile {
[INFO] [stdout]   |            ---------- `SourceFile` is not local
[INFO] [stdout]   |
[INFO] [stdout]   = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]   = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]   = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]   = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]   = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> wa1/src/build_config.rs:11:35
[INFO] [stdout]    |
[INFO] [stdout] 11 | #[derive(Debug, Clone, PartialEq, Deserialize, Serialize)]
[INFO] [stdout]    |                                   ^----------
[INFO] [stdout]    |                                   |
[INFO] [stdout]    |                                   `Deserialize` is not local
[INFO] [stdout]    |                                   move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_BuildConfig`
[INFO] [stdout] 12 | pub struct BuildConfig{
[INFO] [stdout]    |            ----------- `BuildConfig` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> wa1/src/build_config.rs:11:48
[INFO] [stdout]    |
[INFO] [stdout] 11 | #[derive(Debug, Clone, PartialEq, Deserialize, Serialize)]
[INFO] [stdout]    |                                                ^--------
[INFO] [stdout]    |                                                |
[INFO] [stdout]    |                                                `Serialize` is not local
[INFO] [stdout]    |                                                move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_BuildConfig`
[INFO] [stdout] 12 | pub struct BuildConfig{
[INFO] [stdout]    |            ----------- `BuildConfig` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> wa1-types/src/lib.rs:90:35
[INFO] [stdout]    |
[INFO] [stdout] 90 | #[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
[INFO] [stdout]    |                                   ^--------
[INFO] [stdout]    |                                   |
[INFO] [stdout]    |                                   `Serialize` is not local
[INFO] [stdout]    |                                   move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_FuncType`
[INFO] [stdout] 91 | pub struct FuncType{
[INFO] [stdout]    |            -------- `FuncType` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: `#[warn(non_local_definitions)]` on by default
[INFO] [stdout]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> wa1-types/src/lib.rs:90:46
[INFO] [stdout]    |
[INFO] [stdout] 90 | #[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
[INFO] [stdout]    |                                              ^----------
[INFO] [stdout]    |                                              |
[INFO] [stdout]    |                                              `Deserialize` is not local
[INFO] [stdout]    |                                              move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_FuncType`
[INFO] [stdout] 91 | pub struct FuncType{
[INFO] [stdout]    |            -------- `FuncType` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> wa1-types/src/lib.rs:128:35
[INFO] [stdout]     |
[INFO] [stdout] 128 | #[derive(Debug, Clone, PartialEq, Serialize, Deserialize, Copy)]
[INFO] [stdout]     |                                   ^--------
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   `Serialize` is not local
[INFO] [stdout]     |                                   move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_Privacy`
[INFO] [stdout] 129 | pub enum Privacy{
[INFO] [stdout]     |          ------- `Privacy` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> wa1-types/src/lib.rs:128:46
[INFO] [stdout]     |
[INFO] [stdout] 128 | #[derive(Debug, Clone, PartialEq, Serialize, Deserialize, Copy)]
[INFO] [stdout]     |                                              ^----------
[INFO] [stdout]     |                                              |
[INFO] [stdout]     |                                              `Deserialize` is not local
[INFO] [stdout]     |                                              move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Privacy`
[INFO] [stdout] 129 | pub enum Privacy{
[INFO] [stdout]     |          ------- `Privacy` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> wa1-types/src/lib.rs:134:35
[INFO] [stdout]     |
[INFO] [stdout] 134 | #[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
[INFO] [stdout]     |                                   ^--------
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   `Serialize` is not local
[INFO] [stdout]     |                                   move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_Member`
[INFO] [stdout] 135 | pub struct Member{
[INFO] [stdout]     |            ------ `Member` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> wa1-types/src/lib.rs:134:46
[INFO] [stdout]     |
[INFO] [stdout] 134 | #[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
[INFO] [stdout]     |                                              ^----------
[INFO] [stdout]     |                                              |
[INFO] [stdout]     |                                              `Deserialize` is not local
[INFO] [stdout]     |                                              move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Member`
[INFO] [stdout] 135 | pub struct Member{
[INFO] [stdout]     |            ------ `Member` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> wa1-types/src/lib.rs:151:35
[INFO] [stdout]     |
[INFO] [stdout] 151 | #[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
[INFO] [stdout]     |                                   ^--------
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   `Serialize` is not local
[INFO] [stdout]     |                                   move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_Type`
[INFO] [stdout] 152 | pub enum Type {
[INFO] [stdout]     |          ---- `Type` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> wa1-types/src/lib.rs:151:46
[INFO] [stdout]     |
[INFO] [stdout] 151 | #[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
[INFO] [stdout]     |                                              ^----------
[INFO] [stdout]     |                                              |
[INFO] [stdout]     |                                              `Deserialize` is not local
[INFO] [stdout]     |                                              move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Type`
[INFO] [stdout] 152 | pub enum Type {
[INFO] [stdout]     |          ---- `Type` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> wa1-types/src/lib.rs:447:35
[INFO] [stdout]     |
[INFO] [stdout] 447 | #[derive(Debug, Clone, PartialEq, Serialize, Deserialize, Copy)]
[INFO] [stdout]     |                                   ^--------
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   `Serialize` is not local
[INFO] [stdout]     |                                   move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_PassStyle`
[INFO] [stdout] 448 | pub enum PassStyle{
[INFO] [stdout]     |          --------- `PassStyle` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> wa1-types/src/lib.rs:447:46
[INFO] [stdout]     |
[INFO] [stdout] 447 | #[derive(Debug, Clone, PartialEq, Serialize, Deserialize, Copy)]
[INFO] [stdout]     |                                              ^----------
[INFO] [stdout]     |                                              |
[INFO] [stdout]     |                                              `Deserialize` is not local
[INFO] [stdout]     |                                              move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_PassStyle`
[INFO] [stdout] 448 | pub enum PassStyle{
[INFO] [stdout]     |          --------- `PassStyle` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> wa1-types/src/lib.rs:462:35
[INFO] [stdout]     |
[INFO] [stdout] 462 | #[derive(Debug, Clone, PartialEq, Serialize, Deserialize, Copy)]
[INFO] [stdout]     |                                   ^--------
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   `Serialize` is not local
[INFO] [stdout]     |                                   move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_Mutability`
[INFO] [stdout] 463 | pub enum Mutability {
[INFO] [stdout]     |          ---------- `Mutability` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> wa1-types/src/lib.rs:462:46
[INFO] [stdout]     |
[INFO] [stdout] 462 | #[derive(Debug, Clone, PartialEq, Serialize, Deserialize, Copy)]
[INFO] [stdout]     |                                              ^----------
[INFO] [stdout]     |                                              |
[INFO] [stdout]     |                                              `Deserialize` is not local
[INFO] [stdout]     |                                              move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Mutability`
[INFO] [stdout] 463 | pub enum Mutability {
[INFO] [stdout]     |          ---------- `Mutability` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> wa1-types/src/lib.rs:480:35
[INFO] [stdout]     |
[INFO] [stdout] 480 | #[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
[INFO] [stdout]     |                                   ^--------
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   `Serialize` is not local
[INFO] [stdout]     |                                   move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_FullType`
[INFO] [stdout] 481 | pub struct FullType{
[INFO] [stdout]     |            -------- `FullType` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> wa1-types/src/lib.rs:480:46
[INFO] [stdout]     |
[INFO] [stdout] 480 | #[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
[INFO] [stdout]     |                                              ^----------
[INFO] [stdout]     |                                              |
[INFO] [stdout]     |                                              `Deserialize` is not local
[INFO] [stdout]     |                                              move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_FullType`
[INFO] [stdout] 481 | pub struct FullType{
[INFO] [stdout]     |            -------- `FullType` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> wa1-types/src/generics.rs:10:35
[INFO] [stdout]    |
[INFO] [stdout] 10 | #[derive(Clone, PartialEq, Debug, Deserialize, Serialize, Hash)]
[INFO] [stdout]    |                                   ^----------
[INFO] [stdout]    |                                   |
[INFO] [stdout]    |                                   `Deserialize` is not local
[INFO] [stdout]    |                                   move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_TypeConstraint`
[INFO] [stdout] 11 | pub enum TypeConstraint{
[INFO] [stdout]    |          -------------- `TypeConstraint` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> wa1-types/src/generics.rs:10:48
[INFO] [stdout]    |
[INFO] [stdout] 10 | #[derive(Clone, PartialEq, Debug, Deserialize, Serialize, Hash)]
[INFO] [stdout]    |                                                ^--------
[INFO] [stdout]    |                                                |
[INFO] [stdout]    |                                                `Serialize` is not local
[INFO] [stdout]    |                                                move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_TypeConstraint`
[INFO] [stdout] 11 | pub enum TypeConstraint{
[INFO] [stdout]    |          -------------- `TypeConstraint` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> wa1-types/src/generics.rs:82:35
[INFO] [stdout]    |
[INFO] [stdout] 82 | #[derive(Clone, PartialEq, Debug, Deserialize, Serialize, Hash)]
[INFO] [stdout]    |                                   ^----------
[INFO] [stdout]    |                                   |
[INFO] [stdout]    |                                   `Deserialize` is not local
[INFO] [stdout]    |                                   move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_TypeArg`
[INFO] [stdout] 83 | pub struct TypeArg{
[INFO] [stdout]    |            ------- `TypeArg` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> wa1-types/src/generics.rs:82:48
[INFO] [stdout]    |
[INFO] [stdout] 82 | #[derive(Clone, PartialEq, Debug, Deserialize, Serialize, Hash)]
[INFO] [stdout]    |                                                ^--------
[INFO] [stdout]    |                                                |
[INFO] [stdout]    |                                                `Serialize` is not local
[INFO] [stdout]    |                                                move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_TypeArg`
[INFO] [stdout] 83 | pub struct TypeArg{
[INFO] [stdout]    |            ------- `TypeArg` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `std::mem::replace` that must be used
[INFO] [stdout]    --> wa1-lexer/src/lib.rs:341:21
[INFO] [stdout]     |
[INFO] [stdout] 341 | /                     ::std::mem::replace(
[INFO] [stdout] 342 | |                         &mut self.before_last_open,
[INFO] [stdout] 343 | |                         ::std::mem::replace(&mut self.last_three, LookBehind::new()),
[INFO] [stdout] 344 | |                     );
[INFO] [stdout]     | |_____________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout]     = note: `#[warn(unused_must_use)]` on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 341 |                     let _ = ::std::mem::replace(
[INFO] [stdout]     |                     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> wa1-parser/src/parser/mod.rs:38:11
[INFO] [stdout]    |
[INFO] [stdout] 38 |     Named(Vec<String>)
[INFO] [stdout]    |     ----- ^^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` 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] 38 |     Named(())
[INFO] [stdout]    |           ~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `std::mem::replace` that must be used
[INFO] [stdout]    --> wa1-parser/src/parser/mod.rs:173:17
[INFO] [stdout]     |
[INFO] [stdout] 173 |                 replace(&mut self.look_ahead, look_ahead);
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout]     = note: `#[warn(unused_must_use)]` on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 173 |                 let _ = replace(&mut self.look_ahead, look_ahead);
[INFO] [stdout]     |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> wa1-ast/src/lib.rs:26:35
[INFO] [stdout]    |
[INFO] [stdout] 26 | #[derive(Clone, PartialEq, Debug, Deserialize, Serialize)]
[INFO] [stdout]    |                                   ^----------
[INFO] [stdout]    |                                   |
[INFO] [stdout]    |                                   `Deserialize` is not local
[INFO] [stdout]    |                                   move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_GenericFunc`
[INFO] [stdout] 27 | pub struct GenericFunc{
[INFO] [stdout]    |            ----------- `GenericFunc` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: `#[warn(non_local_definitions)]` on by default
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> wa1-ast/src/lib.rs:26:48
[INFO] [stdout]    |
[INFO] [stdout] 26 | #[derive(Clone, PartialEq, Debug, Deserialize, Serialize)]
[INFO] [stdout]    |                                                ^--------
[INFO] [stdout]    |                                                |
[INFO] [stdout]    |                                                `Serialize` is not local
[INFO] [stdout]    |                                                move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_GenericFunc`
[INFO] [stdout] 27 | pub struct GenericFunc{
[INFO] [stdout]    |            ----------- `GenericFunc` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> wa1-ast/src/lib.rs:34:28
[INFO] [stdout]    |
[INFO] [stdout] 34 | #[derive(PartialEq, Debug, Deserialize, Serialize)]
[INFO] [stdout]    |                            ^----------
[INFO] [stdout]    |                            |
[INFO] [stdout]    |                            `Deserialize` is not local
[INFO] [stdout]    |                            move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_AST`
[INFO] [stdout] 35 | pub struct AST {
[INFO] [stdout]    |            --- `AST` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> wa1-ast/src/lib.rs:34:41
[INFO] [stdout]    |
[INFO] [stdout] 34 | #[derive(PartialEq, Debug, Deserialize, Serialize)]
[INFO] [stdout]    |                                         ^--------
[INFO] [stdout]    |                                         |
[INFO] [stdout]    |                                         `Serialize` is not local
[INFO] [stdout]    |                                         move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_AST`
[INFO] [stdout] 35 | pub struct AST {
[INFO] [stdout]    |            --- `AST` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> wa1-ast/src/lib.rs:57:17
[INFO] [stdout]    |
[INFO] [stdout] 57 | #[derive(Debug, Deserialize, Serialize)]
[INFO] [stdout]    |                 ^----------
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 `Deserialize` is not local
[INFO] [stdout]    |                 move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Exports`
[INFO] [stdout] 58 | pub struct Exports{
[INFO] [stdout]    |            ------- `Exports` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> wa1-ast/src/lib.rs:57:30
[INFO] [stdout]    |
[INFO] [stdout] 57 | #[derive(Debug, Deserialize, Serialize)]
[INFO] [stdout]    |                              ^--------
[INFO] [stdout]    |                              |
[INFO] [stdout]    |                              `Serialize` is not local
[INFO] [stdout]    |                              move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_Exports`
[INFO] [stdout] 58 | pub struct Exports{
[INFO] [stdout]    |            ------- `Exports` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> wa1-ast/src/lib.rs:67:17
[INFO] [stdout]    |
[INFO] [stdout] 67 | #[derive(Debug, Deserialize, Serialize)]
[INFO] [stdout]    |                 ^----------
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 `Deserialize` is not local
[INFO] [stdout]    |                 move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Imports`
[INFO] [stdout] 68 | pub struct Imports{
[INFO] [stdout]    |            ------- `Imports` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> wa1-ast/src/lib.rs:67:30
[INFO] [stdout]    |
[INFO] [stdout] 67 | #[derive(Debug, Deserialize, Serialize)]
[INFO] [stdout]    |                              ^--------
[INFO] [stdout]    |                              |
[INFO] [stdout]    |                              `Serialize` is not local
[INFO] [stdout]    |                              move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_Imports`
[INFO] [stdout] 68 | pub struct Imports{
[INFO] [stdout]    |            ------- `Imports` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> wa1-ast/src/expr.rs:25:35
[INFO] [stdout]    |
[INFO] [stdout] 25 | #[derive(Debug, Clone, PartialEq, Serialize, Deserialize, Copy)]
[INFO] [stdout]    |                                   ^--------
[INFO] [stdout]    |                                   |
[INFO] [stdout]    |                                   `Serialize` is not local
[INFO] [stdout]    |                                   move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_BinaryOperator`
[INFO] [stdout] 26 | pub enum BinaryOperator{
[INFO] [stdout]    |          -------------- `BinaryOperator` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> wa1-ast/src/expr.rs:25:46
[INFO] [stdout]    |
[INFO] [stdout] 25 | #[derive(Debug, Clone, PartialEq, Serialize, Deserialize, Copy)]
[INFO] [stdout]    |                                              ^----------
[INFO] [stdout]    |                                              |
[INFO] [stdout]    |                                              `Deserialize` is not local
[INFO] [stdout]    |                                              move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_BinaryOperator`
[INFO] [stdout] 26 | pub enum BinaryOperator{
[INFO] [stdout]    |          -------------- `BinaryOperator` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> wa1-ast/src/expr.rs:53:41
[INFO] [stdout]    |
[INFO] [stdout] 53 | #[derive(Debug, Clone, Copy, PartialEq, Serialize, Deserialize)]
[INFO] [stdout]    |                                         ^--------
[INFO] [stdout]    |                                         |
[INFO] [stdout]    |                                         `Serialize` is not local
[INFO] [stdout]    |                                         move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_UnaryOperator`
[INFO] [stdout] 54 | pub enum UnaryOperator{
[INFO] [stdout]    |          ------------- `UnaryOperator` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> wa1-ast/src/expr.rs:53:52
[INFO] [stdout]    |
[INFO] [stdout] 53 | #[derive(Debug, Clone, Copy, PartialEq, Serialize, Deserialize)]
[INFO] [stdout]    |                                                    ^----------
[INFO] [stdout]    |                                                    |
[INFO] [stdout]    |                                                    `Deserialize` is not local
[INFO] [stdout]    |                                                    move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_UnaryOperator`
[INFO] [stdout] 54 | pub enum UnaryOperator{
[INFO] [stdout]    |          ------------- `UnaryOperator` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> wa1-ast/src/expr.rs:66:41
[INFO] [stdout]    |
[INFO] [stdout] 66 | #[derive(Debug, Clone, Copy, PartialEq, Serialize, Deserialize)]
[INFO] [stdout]    |                                         ^--------
[INFO] [stdout]    |                                         |
[INFO] [stdout]    |                                         `Serialize` is not local
[INFO] [stdout]    |                                         move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_AssignmentOperator`
[INFO] [stdout] 67 | pub enum AssignmentOperator{
[INFO] [stdout]    |          ------------------ `AssignmentOperator` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> wa1-ast/src/expr.rs:66:52
[INFO] [stdout]    |
[INFO] [stdout] 66 | #[derive(Debug, Clone, Copy, PartialEq, Serialize, Deserialize)]
[INFO] [stdout]    |                                                    ^----------
[INFO] [stdout]    |                                                    |
[INFO] [stdout]    |                                                    `Deserialize` is not local
[INFO] [stdout]    |                                                    move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_AssignmentOperator`
[INFO] [stdout] 67 | pub enum AssignmentOperator{
[INFO] [stdout]    |          ------------------ `AssignmentOperator` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> wa1-ast/src/expr.rs:80:35
[INFO] [stdout]    |
[INFO] [stdout] 80 | #[derive(Debug, Clone, PartialEq, Serialize, Deserialize, Copy)]
[INFO] [stdout]    |                                   ^--------
[INFO] [stdout]    |                                   |
[INFO] [stdout]    |                                   `Serialize` is not local
[INFO] [stdout]    |                                   move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_VariableMutability`
[INFO] [stdout] 81 | pub enum VariableMutability{
[INFO] [stdout]    |          ------------------ `VariableMutability` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> wa1-ast/src/expr.rs:80:46
[INFO] [stdout]    |
[INFO] [stdout] 80 | #[derive(Debug, Clone, PartialEq, Serialize, Deserialize, Copy)]
[INFO] [stdout]    |                                              ^----------
[INFO] [stdout]    |                                              |
[INFO] [stdout]    |                                              `Deserialize` is not local
[INFO] [stdout]    |                                              move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_VariableMutability`
[INFO] [stdout] 81 | pub enum VariableMutability{
[INFO] [stdout]    |          ------------------ `VariableMutability` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> wa1-ast/src/expr.rs:87:35
[INFO] [stdout]    |
[INFO] [stdout] 87 | #[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
[INFO] [stdout]    |                                   ^--------
[INFO] [stdout]    |                                   |
[INFO] [stdout]    |                                   `Serialize` is not local
[INFO] [stdout]    |                                   move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_GlobalVariableDecl`
[INFO] [stdout] 88 | pub struct GlobalVariableDecl {
[INFO] [stdout]    |            ------------------ `GlobalVariableDecl` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> wa1-ast/src/expr.rs:87:46
[INFO] [stdout]    |
[INFO] [stdout] 87 | #[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
[INFO] [stdout]    |                                              ^----------
[INFO] [stdout]    |                                              |
[INFO] [stdout]    |                                              `Deserialize` is not local
[INFO] [stdout]    |                                              move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_GlobalVariableDecl`
[INFO] [stdout] 88 | pub struct GlobalVariableDecl {
[INFO] [stdout]    |            ------------------ `GlobalVariableDecl` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> wa1-ast/src/expr.rs:97:35
[INFO] [stdout]    |
[INFO] [stdout] 97 | #[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
[INFO] [stdout]    |                                   ^--------
[INFO] [stdout]    |                                   |
[INFO] [stdout]    |                                   `Serialize` is not local
[INFO] [stdout]    |                                   move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_GlobalVariableImport`
[INFO] [stdout] 98 | pub struct GlobalVariableImport {
[INFO] [stdout]    |            -------------------- `GlobalVariableImport` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> wa1-ast/src/expr.rs:97:46
[INFO] [stdout]    |
[INFO] [stdout] 97 | #[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
[INFO] [stdout]    |                                              ^----------
[INFO] [stdout]    |                                              |
[INFO] [stdout]    |                                              `Deserialize` is not local
[INFO] [stdout]    |                                              move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_GlobalVariableImport`
[INFO] [stdout] 98 | pub struct GlobalVariableImport {
[INFO] [stdout]    |            -------------------- `GlobalVariableImport` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> wa1-ast/src/expr.rs:104:35
[INFO] [stdout]     |
[INFO] [stdout] 104 | #[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
[INFO] [stdout]     |                                   ^--------
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   `Serialize` is not local
[INFO] [stdout]     |                                   move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_ClosureRef`
[INFO] [stdout] 105 | pub struct ClosureRef {
[INFO] [stdout]     |            ---------- `ClosureRef` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> wa1-ast/src/expr.rs:104:46
[INFO] [stdout]     |
[INFO] [stdout] 104 | #[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
[INFO] [stdout]     |                                              ^----------
[INFO] [stdout]     |                                              |
[INFO] [stdout]     |                                              `Deserialize` is not local
[INFO] [stdout]     |                                              move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_ClosureRef`
[INFO] [stdout] 105 | pub struct ClosureRef {
[INFO] [stdout]     |            ---------- `ClosureRef` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> wa1-ast/src/expr.rs:110:35
[INFO] [stdout]     |
[INFO] [stdout] 110 | #[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
[INFO] [stdout]     |                                   ^--------
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   `Serialize` is not local
[INFO] [stdout]     |                                   move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_ObjectLiteralElem`
[INFO] [stdout] 111 | pub struct ObjectLiteralElem{
[INFO] [stdout]     |            ----------------- `ObjectLiteralElem` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> wa1-ast/src/expr.rs:110:46
[INFO] [stdout]     |
[INFO] [stdout] 110 | #[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
[INFO] [stdout]     |                                              ^----------
[INFO] [stdout]     |                                              |
[INFO] [stdout]     |                                              `Deserialize` is not local
[INFO] [stdout]     |                                              move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_ObjectLiteralElem`
[INFO] [stdout] 111 | pub struct ObjectLiteralElem{
[INFO] [stdout]     |            ----------------- `ObjectLiteralElem` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> wa1-ast/src/expr.rs:117:35
[INFO] [stdout]     |
[INFO] [stdout] 117 | #[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
[INFO] [stdout]     |                                   ^--------
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   `Serialize` is not local
[INFO] [stdout]     |                                   move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_Expr`
[INFO] [stdout] 118 | pub enum Expr {
[INFO] [stdout]     |          ---- `Expr` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> wa1-ast/src/expr.rs:117:46
[INFO] [stdout]     |
[INFO] [stdout] 117 | #[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
[INFO] [stdout]     |                                              ^----------
[INFO] [stdout]     |                                              |
[INFO] [stdout]     |                                              `Deserialize` is not local
[INFO] [stdout]     |                                              move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Expr`
[INFO] [stdout] 118 | pub enum Expr {
[INFO] [stdout]     |          ---- `Expr` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> wa1-ast/src/expr.rs:238:41
[INFO] [stdout]     |
[INFO] [stdout] 238 | #[derive(Debug, Clone, Copy, PartialEq, Serialize, Deserialize)]
[INFO] [stdout]     |                                         ^--------
[INFO] [stdout]     |                                         |
[INFO] [stdout]     |                                         `Serialize` is not local
[INFO] [stdout]     |                                         move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_ReturnExpr`
[INFO] [stdout] 239 | pub enum ReturnExpr {
[INFO] [stdout]     |          ---------- `ReturnExpr` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> wa1-ast/src/expr.rs:238:52
[INFO] [stdout]     |
[INFO] [stdout] 238 | #[derive(Debug, Clone, Copy, PartialEq, Serialize, Deserialize)]
[INFO] [stdout]     |                                                    ^----------
[INFO] [stdout]     |                                                    |
[INFO] [stdout]     |                                                    `Deserialize` is not local
[INFO] [stdout]     |                                                    move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_ReturnExpr`
[INFO] [stdout] 239 | pub enum ReturnExpr {
[INFO] [stdout]     |          ---------- `ReturnExpr` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> wa1-ast/src/expr.rs:245:35
[INFO] [stdout]     |
[INFO] [stdout] 245 | #[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
[INFO] [stdout]     |                                   ^--------
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   `Serialize` is not local
[INFO] [stdout]     |                                   move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_TypedExpr`
[INFO] [stdout] 246 | pub struct TypedExpr{
[INFO] [stdout]     |            --------- `TypedExpr` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> wa1-ast/src/expr.rs:245:46
[INFO] [stdout]     |
[INFO] [stdout] 245 | #[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
[INFO] [stdout]     |                                              ^----------
[INFO] [stdout]     |                                              |
[INFO] [stdout]     |                                              `Deserialize` is not local
[INFO] [stdout]     |                                              move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_TypedExpr`
[INFO] [stdout] 246 | pub struct TypedExpr{
[INFO] [stdout]     |            --------- `TypedExpr` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> wa1-ast/src/expr.rs:276:35
[INFO] [stdout]     |
[INFO] [stdout] 276 | #[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
[INFO] [stdout]     |                                   ^--------
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   `Serialize` is not local
[INFO] [stdout]     |                                   move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_LValueExpr`
[INFO] [stdout] 277 | pub enum LValueExpr{
[INFO] [stdout]     |          ---------- `LValueExpr` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> wa1-ast/src/expr.rs:276:46
[INFO] [stdout]     |
[INFO] [stdout] 276 | #[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
[INFO] [stdout]     |                                              ^----------
[INFO] [stdout]     |                                              |
[INFO] [stdout]     |                                              `Deserialize` is not local
[INFO] [stdout]     |                                              move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_LValueExpr`
[INFO] [stdout] 277 | pub enum LValueExpr{
[INFO] [stdout]     |          ---------- `LValueExpr` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> wa1-ast/src/expr.rs:291:35
[INFO] [stdout]     |
[INFO] [stdout] 291 | #[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
[INFO] [stdout]     |                                   ^--------
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   `Serialize` is not local
[INFO] [stdout]     |                                   move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_TypedLValueExpr`
[INFO] [stdout] 292 | pub struct TypedLValueExpr{
[INFO] [stdout]     |            --------------- `TypedLValueExpr` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> wa1-ast/src/expr.rs:291:46
[INFO] [stdout]     |
[INFO] [stdout] 291 | #[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
[INFO] [stdout]     |                                              ^----------
[INFO] [stdout]     |                                              |
[INFO] [stdout]     |                                              `Deserialize` is not local
[INFO] [stdout]     |                                              move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_TypedLValueExpr`
[INFO] [stdout] 292 | pub struct TypedLValueExpr{
[INFO] [stdout]     |            --------------- `TypedLValueExpr` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> wa1-ast/src/func.rs:21:35
[INFO] [stdout]    |
[INFO] [stdout] 21 | #[derive(Debug, Clone, PartialEq, Deserialize, Serialize)]
[INFO] [stdout]    |                                   ^----------
[INFO] [stdout]    |                                   |
[INFO] [stdout]    |                                   `Deserialize` is not local
[INFO] [stdout]    |                                   move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_FuncArg`
[INFO] [stdout] 22 | pub struct FuncArg {
[INFO] [stdout]    |            ------- `FuncArg` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> wa1-ast/src/func.rs:21:48
[INFO] [stdout]    |
[INFO] [stdout] 21 | #[derive(Debug, Clone, PartialEq, Deserialize, Serialize)]
[INFO] [stdout]    |                                                ^--------
[INFO] [stdout]    |                                                |
[INFO] [stdout]    |                                                `Serialize` is not local
[INFO] [stdout]    |                                                move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_FuncArg`
[INFO] [stdout] 22 | pub struct FuncArg {
[INFO] [stdout]    |            ------- `FuncArg` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> wa1-ast/src/func.rs:28:35
[INFO] [stdout]    |
[INFO] [stdout] 28 | #[derive(Debug, Clone, PartialEq, Deserialize, Serialize)]
[INFO] [stdout]    |                                   ^----------
[INFO] [stdout]    |                                   |
[INFO] [stdout]    |                                   `Deserialize` is not local
[INFO] [stdout]    |                                   move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_LocalVar`
[INFO] [stdout] 29 | pub struct LocalVar{
[INFO] [stdout]    |            -------- `LocalVar` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> wa1-ast/src/func.rs:28:48
[INFO] [stdout]    |
[INFO] [stdout] 28 | #[derive(Debug, Clone, PartialEq, Deserialize, Serialize)]
[INFO] [stdout]    |                                                ^--------
[INFO] [stdout]    |                                                |
[INFO] [stdout]    |                                                `Serialize` is not local
[INFO] [stdout]    |                                                move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_LocalVar`
[INFO] [stdout] 29 | pub struct LocalVar{
[INFO] [stdout]    |            -------- `LocalVar` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> wa1-ast/src/func.rs:38:35
[INFO] [stdout]    |
[INFO] [stdout] 38 | #[derive(Debug, Clone, PartialEq, Deserialize, Serialize)]
[INFO] [stdout]    |                                   ^----------
[INFO] [stdout]    |                                   |
[INFO] [stdout]    |                                   `Deserialize` is not local
[INFO] [stdout]    |                                   move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Func`
[INFO] [stdout] 39 | pub struct Func {
[INFO] [stdout]    |            ---- `Func` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> wa1-ast/src/func.rs:38:48
[INFO] [stdout]    |
[INFO] [stdout] 38 | #[derive(Debug, Clone, PartialEq, Deserialize, Serialize)]
[INFO] [stdout]    |                                                ^--------
[INFO] [stdout]    |                                                |
[INFO] [stdout]    |                                                `Serialize` is not local
[INFO] [stdout]    |                                                move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_Func`
[INFO] [stdout] 39 | pub struct Func {
[INFO] [stdout]    |            ---- `Func` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> wa1-ast/src/func.rs:48:35
[INFO] [stdout]    |
[INFO] [stdout] 48 | #[derive(Debug, Clone, PartialEq, Deserialize, Serialize)]
[INFO] [stdout]    |                                   ^----------
[INFO] [stdout]    |                                   |
[INFO] [stdout]    |                                   `Deserialize` is not local
[INFO] [stdout]    |                                   move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_TypeGuardBranch`
[INFO] [stdout] 49 | pub struct TypeGuardBranch {
[INFO] [stdout]    |            --------------- `TypeGuardBranch` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> wa1-ast/src/func.rs:48:48
[INFO] [stdout]    |
[INFO] [stdout] 48 | #[derive(Debug, Clone, PartialEq, Deserialize, Serialize)]
[INFO] [stdout]    |                                                ^--------
[INFO] [stdout]    |                                                |
[INFO] [stdout]    |                                                `Serialize` is not local
[INFO] [stdout]    |                                                move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_TypeGuardBranch`
[INFO] [stdout] 49 | pub struct TypeGuardBranch {
[INFO] [stdout]    |            --------------- `TypeGuardBranch` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> wa1-ast/src/func.rs:56:35
[INFO] [stdout]    |
[INFO] [stdout] 56 | #[derive(Debug, Clone, PartialEq, Deserialize, Serialize)]
[INFO] [stdout]    |                                   ^----------
[INFO] [stdout]    |                                   |
[INFO] [stdout]    |                                   `Deserialize` is not local
[INFO] [stdout]    |                                   move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_TypeGuard`
[INFO] [stdout] 57 | pub struct TypeGuard {
[INFO] [stdout]    |            --------- `TypeGuard` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> wa1-ast/src/func.rs:56:48
[INFO] [stdout]    |
[INFO] [stdout] 56 | #[derive(Debug, Clone, PartialEq, Deserialize, Serialize)]
[INFO] [stdout]    |                                                ^--------
[INFO] [stdout]    |                                                |
[INFO] [stdout]    |                                                `Serialize` is not local
[INFO] [stdout]    |                                                move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_TypeGuard`
[INFO] [stdout] 57 | pub struct TypeGuard {
[INFO] [stdout]    |            --------- `TypeGuard` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> wa1-ast/src/func.rs:62:35
[INFO] [stdout]    |
[INFO] [stdout] 62 | #[derive(Debug, Clone, PartialEq, Deserialize, Serialize)]
[INFO] [stdout]    |                                   ^----------
[INFO] [stdout]    |                                   |
[INFO] [stdout]    |                                   `Deserialize` is not local
[INFO] [stdout]    |                                   move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_FuncDecl`
[INFO] [stdout] 63 | pub struct FuncDecl {
[INFO] [stdout]    |            -------- `FuncDecl` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> wa1-ast/src/func.rs:62:48
[INFO] [stdout]    |
[INFO] [stdout] 62 | #[derive(Debug, Clone, PartialEq, Deserialize, Serialize)]
[INFO] [stdout]    |                                                ^--------
[INFO] [stdout]    |                                                |
[INFO] [stdout]    |                                                `Serialize` is not local
[INFO] [stdout]    |                                                move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_FuncDecl`
[INFO] [stdout] 63 | pub struct FuncDecl {
[INFO] [stdout]    |            -------- `FuncDecl` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> wa1-ast/src/func.rs:89:35
[INFO] [stdout]    |
[INFO] [stdout] 89 | #[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
[INFO] [stdout]    |                                   ^--------
[INFO] [stdout]    |                                   |
[INFO] [stdout]    |                                   `Serialize` is not local
[INFO] [stdout]    |                                   move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_FuncObjectCreation`
[INFO] [stdout] 90 | pub struct FuncObjectCreation {
[INFO] [stdout]    |            ------------------ `FuncObjectCreation` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> wa1-ast/src/func.rs:89:46
[INFO] [stdout]    |
[INFO] [stdout] 89 | #[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
[INFO] [stdout]    |                                              ^----------
[INFO] [stdout]    |                                              |
[INFO] [stdout]    |                                              `Deserialize` is not local
[INFO] [stdout]    |                                              move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_FuncObjectCreation`
[INFO] [stdout] 90 | pub struct FuncObjectCreation {
[INFO] [stdout]    |            ------------------ `FuncObjectCreation` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> wa1-ast/src/intrinsic.rs:9:35
[INFO] [stdout]    |
[INFO] [stdout] 9  | #[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
[INFO] [stdout]    |                                   ^--------
[INFO] [stdout]    |                                   |
[INFO] [stdout]    |                                   `Serialize` is not local
[INFO] [stdout]    |                                   move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_Intrinsic`
[INFO] [stdout] 10 | pub enum Intrinsic {
[INFO] [stdout]    |          --------- `Intrinsic` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> wa1-ast/src/intrinsic.rs:9:46
[INFO] [stdout]    |
[INFO] [stdout] 9  | #[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
[INFO] [stdout]    |                                              ^----------
[INFO] [stdout]    |                                              |
[INFO] [stdout]    |                                              `Deserialize` is not local
[INFO] [stdout]    |                                              move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Intrinsic`
[INFO] [stdout] 10 | pub enum Intrinsic {
[INFO] [stdout]    |          --------- `Intrinsic` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> wa1-ast/src/ast_types.rs:9:35
[INFO] [stdout]    |
[INFO] [stdout] 9  | #[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
[INFO] [stdout]    |                                   ^--------
[INFO] [stdout]    |                                   |
[INFO] [stdout]    |                                   `Serialize` is not local
[INFO] [stdout]    |                                   move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_MemberFunc`
[INFO] [stdout] 10 | pub struct MemberFunc{
[INFO] [stdout]    |            ---------- `MemberFunc` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> wa1-ast/src/ast_types.rs:9:46
[INFO] [stdout]    |
[INFO] [stdout] 9  | #[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
[INFO] [stdout]    |                                              ^----------
[INFO] [stdout]    |                                              |
[INFO] [stdout]    |                                              `Deserialize` is not local
[INFO] [stdout]    |                                              move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_MemberFunc`
[INFO] [stdout] 10 | pub struct MemberFunc{
[INFO] [stdout]    |            ---------- `MemberFunc` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> wa1-ast/src/ast_types.rs:20:35
[INFO] [stdout]    |
[INFO] [stdout] 20 | #[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
[INFO] [stdout]    |                                   ^--------
[INFO] [stdout]    |                                   |
[INFO] [stdout]    |                                   `Serialize` is not local
[INFO] [stdout]    |                                   move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_TraitMemberFunc`
[INFO] [stdout] 21 | pub struct TraitMemberFunc{
[INFO] [stdout]    |            --------------- `TraitMemberFunc` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> wa1-ast/src/ast_types.rs:20:46
[INFO] [stdout]    |
[INFO] [stdout] 20 | #[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
[INFO] [stdout]    |                                              ^----------
[INFO] [stdout]    |                                              |
[INFO] [stdout]    |                                              `Deserialize` is not local
[INFO] [stdout]    |                                              move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_TraitMemberFunc`
[INFO] [stdout] 21 | pub struct TraitMemberFunc{
[INFO] [stdout]    |            --------------- `TraitMemberFunc` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> wa1-ast/src/ast_types.rs:28:35
[INFO] [stdout]    |
[INFO] [stdout] 28 | #[derive(Debug, Clone, PartialEq, Serialize, Deserialize, Copy)]
[INFO] [stdout]    |                                   ^--------
[INFO] [stdout]    |                                   |
[INFO] [stdout]    |                                   `Serialize` is not local
[INFO] [stdout]    |                                   move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_UserClassStorage`
[INFO] [stdout] 29 | pub enum UserClassStorage{
[INFO] [stdout]    |          ---------------- `UserClassStorage` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> wa1-ast/src/ast_types.rs:28:46
[INFO] [stdout]    |
[INFO] [stdout] 28 | #[derive(Debug, Clone, PartialEq, Serialize, Deserialize, Copy)]
[INFO] [stdout]    |                                              ^----------
[INFO] [stdout]    |                                              |
[INFO] [stdout]    |                                              `Deserialize` is not local
[INFO] [stdout]    |                                              move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_UserClassStorage`
[INFO] [stdout] 29 | pub enum UserClassStorage{
[INFO] [stdout]    |          ---------------- `UserClassStorage` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> wa1-ast/src/ast_types.rs:34:35
[INFO] [stdout]    |
[INFO] [stdout] 34 | #[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
[INFO] [stdout]    |                                   ^--------
[INFO] [stdout]    |                                   |
[INFO] [stdout]    |                                   `Serialize` is not local
[INFO] [stdout]    |                                   move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_TypeDecl`
[INFO] [stdout] 35 | pub enum TypeDecl{
[INFO] [stdout]    |          -------- `TypeDecl` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> wa1-ast/src/ast_types.rs:34:46
[INFO] [stdout]    |
[INFO] [stdout] 34 | #[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
[INFO] [stdout]    |                                              ^----------
[INFO] [stdout]    |                                              |
[INFO] [stdout]    |                                              `Deserialize` is not local
[INFO] [stdout]    |                                              move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_TypeDecl`
[INFO] [stdout] 35 | pub enum TypeDecl{
[INFO] [stdout]    |          -------- `TypeDecl` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> wa1-ast/src/ast_types.rs:52:35
[INFO] [stdout]    |
[INFO] [stdout] 52 | #[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
[INFO] [stdout]    |                                   ^--------
[INFO] [stdout]    |                                   |
[INFO] [stdout]    |                                   `Serialize` is not local
[INFO] [stdout]    |                                   move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_TraitDecl`
[INFO] [stdout] 53 | pub struct TraitDecl{
[INFO] [stdout]    |            --------- `TraitDecl` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> wa1-ast/src/ast_types.rs:52:46
[INFO] [stdout]    |
[INFO] [stdout] 52 | #[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
[INFO] [stdout]    |                                              ^----------
[INFO] [stdout]    |                                              |
[INFO] [stdout]    |                                              `Deserialize` is not local
[INFO] [stdout]    |                                              move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_TraitDecl`
[INFO] [stdout] 53 | pub struct TraitDecl{
[INFO] [stdout]    |            --------- `TraitDecl` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> wa1-ast/src/ast_types.rs:59:35
[INFO] [stdout]    |
[INFO] [stdout] 59 | #[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
[INFO] [stdout]    |                                   ^--------
[INFO] [stdout]    |                                   |
[INFO] [stdout]    |                                   `Serialize` is not local
[INFO] [stdout]    |                                   move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_TraitImpl`
[INFO] [stdout] 60 | pub struct TraitImpl{
[INFO] [stdout]    |            --------- `TraitImpl` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> wa1-ast/src/ast_types.rs:59:46
[INFO] [stdout]    |
[INFO] [stdout] 59 | #[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
[INFO] [stdout]    |                                              ^----------
[INFO] [stdout]    |                                              |
[INFO] [stdout]    |                                              `Deserialize` is not local
[INFO] [stdout]    |                                              move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_TraitImpl`
[INFO] [stdout] 60 | pub struct TraitImpl{
[INFO] [stdout]    |            --------- `TraitImpl` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 3.25s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: cranelift-codegen-meta v0.50.0, wasmtime-environ v0.8.0
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 1`
[INFO] running `Command { std: "docker" "inspect" "38b8157a80fa547de229879e01f356fb6dede46e1dbef3a557699693744453da", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "38b8157a80fa547de229879e01f356fb6dede46e1dbef3a557699693744453da", kill_on_drop: false }`
[INFO] [stdout] 38b8157a80fa547de229879e01f356fb6dede46e1dbef3a557699693744453da
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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:f3a9d4ad9d972b27faf3965f35b62e55ba32bbce8f20bc8fe909558a86702fde" "/opt/rustwide/cargo-home/bin/cargo" "+1.83.0" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 8b74c996c89371d1e37d2bcabc49e9cc38515cd607bca2e1fe8a7be0ddafa824
[INFO] running `Command { std: "docker" "start" "-a" "8b74c996c89371d1e37d2bcabc49e9cc38515cd607bca2e1fe8a7be0ddafa824", kill_on_drop: false }`
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> wa1-types/src/lib.rs:90:35
[INFO] [stderr]    |
[INFO] [stderr] 90 | #[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
[INFO] [stderr]    |                                   ^--------
[INFO] [stderr]    |                                   |
[INFO] [stderr]    |                                   `Serialize` is not local
[INFO] [stderr]    |                                   move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_FuncType`
[INFO] [stderr] 91 | pub struct FuncType{
[INFO] [stderr]    |            -------- `FuncType` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stderr]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]    = note: `#[warn(non_local_definitions)]` on by default
[INFO] [stderr]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> wa1-types/src/lib.rs:90:46
[INFO] [stderr]    |
[INFO] [stderr] 90 | #[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
[INFO] [stderr]    |                                              ^----------
[INFO] [stderr]    |                                              |
[INFO] [stderr]    |                                              `Deserialize` is not local
[INFO] [stderr]    |                                              move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_FuncType`
[INFO] [stderr] 91 | pub struct FuncType{
[INFO] [stderr]    |            -------- `FuncType` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stderr]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]    --> wa1-types/src/lib.rs:128:35
[INFO] [stderr]     |
[INFO] [stderr] 128 | #[derive(Debug, Clone, PartialEq, Serialize, Deserialize, Copy)]
[INFO] [stderr]     |                                   ^--------
[INFO] [stderr]     |                                   |
[INFO] [stderr]     |                                   `Serialize` is not local
[INFO] [stderr]     |                                   move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_Privacy`
[INFO] [stderr] 129 | pub enum Privacy{
[INFO] [stderr]     |          ------- `Privacy` is not local
[INFO] [stderr]     |
[INFO] [stderr]     = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stderr]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]     = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]    --> wa1-types/src/lib.rs:128:46
[INFO] [stderr]     |
[INFO] [stderr] 128 | #[derive(Debug, Clone, PartialEq, Serialize, Deserialize, Copy)]
[INFO] [stderr]     |                                              ^----------
[INFO] [stderr]     |                                              |
[INFO] [stderr]     |                                              `Deserialize` is not local
[INFO] [stderr]     |                                              move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Privacy`
[INFO] [stderr] 129 | pub enum Privacy{
[INFO] [stderr]     |          ------- `Privacy` is not local
[INFO] [stderr]     |
[INFO] [stderr]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stderr]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]    --> wa1-types/src/lib.rs:134:35
[INFO] [stderr]     |
[INFO] [stderr] 134 | #[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
[INFO] [stderr]     |                                   ^--------
[INFO] [stderr]     |                                   |
[INFO] [stderr]     |                                   `Serialize` is not local
[INFO] [stderr]     |                                   move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_Member`
[INFO] [stderr] 135 | pub struct Member{
[INFO] [stderr]     |            ------ `Member` is not local
[INFO] [stderr]     |
[INFO] [stderr]     = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stderr]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]     = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]    --> wa1-types/src/lib.rs:134:46
[INFO] [stderr]     |
[INFO] [stderr] 134 | #[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
[INFO] [stderr]     |                                              ^----------
[INFO] [stderr]     |                                              |
[INFO] [stderr]     |                                              `Deserialize` is not local
[INFO] [stderr]     |                                              move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Member`
[INFO] [stderr] 135 | pub struct Member{
[INFO] [stderr]     |            ------ `Member` is not local
[INFO] [stderr]     |
[INFO] [stderr]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stderr]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]    --> wa1-types/src/lib.rs:151:35
[INFO] [stderr]     |
[INFO] [stderr] 151 | #[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
[INFO] [stderr]     |                                   ^--------
[INFO] [stderr]     |                                   |
[INFO] [stderr]     |                                   `Serialize` is not local
[INFO] [stderr]     |                                   move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_Type`
[INFO] [stderr] 152 | pub enum Type {
[INFO] [stderr]     |          ---- `Type` is not local
[INFO] [stderr]     |
[INFO] [stderr]     = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stderr]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]     = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]    --> wa1-types/src/lib.rs:151:46
[INFO] [stderr]     |
[INFO] [stderr] 151 | #[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
[INFO] [stderr]     |                                              ^----------
[INFO] [stderr]     |                                              |
[INFO] [stderr]     |                                              `Deserialize` is not local
[INFO] [stderr]     |                                              move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Type`
[INFO] [stderr] 152 | pub enum Type {
[INFO] [stderr]     |          ---- `Type` is not local
[INFO] [stderr]     |
[INFO] [stderr]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stderr]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]    --> wa1-types/src/lib.rs:447:35
[INFO] [stderr]     |
[INFO] [stderr] 447 | #[derive(Debug, Clone, PartialEq, Serialize, Deserialize, Copy)]
[INFO] [stderr]     |                                   ^--------
[INFO] [stderr]     |                                   |
[INFO] [stderr]     |                                   `Serialize` is not local
[INFO] [stderr]     |                                   move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_PassStyle`
[INFO] [stderr] 448 | pub enum PassStyle{
[INFO] [stderr]     |          --------- `PassStyle` is not local
[INFO] [stderr]     |
[INFO] [stderr]     = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stderr]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]     = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]    --> wa1-types/src/lib.rs:447:46
[INFO] [stderr]     |
[INFO] [stderr] 447 | #[derive(Debug, Clone, PartialEq, Serialize, Deserialize, Copy)]
[INFO] [stderr]     |                                              ^----------
[INFO] [stderr]     |                                              |
[INFO] [stderr]     |                                              `Deserialize` is not local
[INFO] [stderr]     |                                              move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_PassStyle`
[INFO] [stderr] 448 | pub enum PassStyle{
[INFO] [stderr]     |          --------- `PassStyle` is not local
[INFO] [stderr]     |
[INFO] [stderr]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stderr]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]    --> wa1-types/src/lib.rs:462:35
[INFO] [stderr]     |
[INFO] [stderr] 462 | #[derive(Debug, Clone, PartialEq, Serialize, Deserialize, Copy)]
[INFO] [stderr]     |                                   ^--------
[INFO] [stderr]     |                                   |
[INFO] [stderr]     |                                   `Serialize` is not local
[INFO] [stderr]     |                                   move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_Mutability`
[INFO] [stderr] 463 | pub enum Mutability {
[INFO] [stderr]     |          ---------- `Mutability` is not local
[INFO] [stderr]     |
[INFO] [stderr]     = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stderr]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]     = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]    --> wa1-types/src/lib.rs:462:46
[INFO] [stderr]     |
[INFO] [stderr] 462 | #[derive(Debug, Clone, PartialEq, Serialize, Deserialize, Copy)]
[INFO] [stderr]     |                                              ^----------
[INFO] [stderr]     |                                              |
[INFO] [stderr]     |                                              `Deserialize` is not local
[INFO] [stderr]     |                                              move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Mutability`
[INFO] [stderr] 463 | pub enum Mutability {
[INFO] [stderr]     |          ---------- `Mutability` is not local
[INFO] [stderr]     |
[INFO] [stderr]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stderr]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]    --> wa1-types/src/lib.rs:480:35
[INFO] [stderr]     |
[INFO] [stderr] 480 | #[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
[INFO] [stderr]     |                                   ^--------
[INFO] [stderr]     |                                   |
[INFO] [stderr]     |                                   `Serialize` is not local
[INFO] [stderr]     |                                   move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_FullType`
[INFO] [stderr] 481 | pub struct FullType{
[INFO] [stderr]     |            -------- `FullType` is not local
[INFO] [stderr]     |
[INFO] [stderr]     = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stderr]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]     = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]    --> wa1-types/src/lib.rs:480:46
[INFO] [stderr]     |
[INFO] [stderr] 480 | #[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
[INFO] [stderr]     |                                              ^----------
[INFO] [stderr]     |                                              |
[INFO] [stderr]     |                                              `Deserialize` is not local
[INFO] [stderr]     |                                              move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_FullType`
[INFO] [stderr] 481 | pub struct FullType{
[INFO] [stderr]     |            -------- `FullType` is not local
[INFO] [stderr]     |
[INFO] [stderr]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stderr]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> wa1-types/src/generics.rs:10:35
[INFO] [stderr]    |
[INFO] [stderr] 10 | #[derive(Clone, PartialEq, Debug, Deserialize, Serialize, Hash)]
[INFO] [stderr]    |                                   ^----------
[INFO] [stderr]    |                                   |
[INFO] [stderr]    |                                   `Deserialize` is not local
[INFO] [stderr]    |                                   move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_TypeConstraint`
[INFO] [stderr] 11 | pub enum TypeConstraint{
[INFO] [stderr]    |          -------------- `TypeConstraint` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stderr]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> wa1-types/src/generics.rs:10:48
[INFO] [stderr]    |
[INFO] [stderr] 10 | #[derive(Clone, PartialEq, Debug, Deserialize, Serialize, Hash)]
[INFO] [stderr]    |                                                ^--------
[INFO] [stderr]    |                                                |
[INFO] [stderr]    |                                                `Serialize` is not local
[INFO] [stderr]    |                                                move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_TypeConstraint`
[INFO] [stderr] 11 | pub enum TypeConstraint{
[INFO] [stderr]    |          -------------- `TypeConstraint` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stderr]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> wa1-types/src/generics.rs:82:35
[INFO] [stderr]    |
[INFO] [stderr] 82 | #[derive(Clone, PartialEq, Debug, Deserialize, Serialize, Hash)]
[INFO] [stderr]    |                                   ^----------
[INFO] [stderr]    |                                   |
[INFO] [stderr]    |                                   `Deserialize` is not local
[INFO] [stderr]    |                                   move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_TypeArg`
[INFO] [stderr] 83 | pub struct TypeArg{
[INFO] [stderr]    |            ------- `TypeArg` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stderr]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> wa1-types/src/generics.rs:82:48
[INFO] [stderr]    |
[INFO] [stderr] 82 | #[derive(Clone, PartialEq, Debug, Deserialize, Serialize, Hash)]
[INFO] [stderr]    |                                                ^--------
[INFO] [stderr]    |                                                |
[INFO] [stderr]    |                                                `Serialize` is not local
[INFO] [stderr]    |                                                move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_TypeArg`
[INFO] [stderr] 83 | pub struct TypeArg{
[INFO] [stderr]    |            ------- `TypeArg` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stderr]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: `wa1-types` (lib) generated 18 warnings
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> wa1-errs/src/source_location.rs:8:41
[INFO] [stderr]    |
[INFO] [stderr] 8  | #[derive(Clone, Copy, Debug, PartialEq, Serialize, Deserialize)]
[INFO] [stderr]    |                                         ^--------
[INFO] [stderr]    |                                         |
[INFO] [stderr]    |                                         `Serialize` is not local
[INFO] [stderr]    |                                         move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_Position`
[INFO] [stderr] ...
[INFO] [stderr] 11 | pub struct Position {
[INFO] [stderr]    |            -------- `Position` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stderr]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]    = note: `#[warn(non_local_definitions)]` on by default
[INFO] [stderr]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> wa1-errs/src/source_location.rs:8:52
[INFO] [stderr]    |
[INFO] [stderr] 8  | #[derive(Clone, Copy, Debug, PartialEq, Serialize, Deserialize)]
[INFO] [stderr]    |                                                    ^----------
[INFO] [stderr]    |                                                    |
[INFO] [stderr]    |                                                    `Deserialize` is not local
[INFO] [stderr]    |                                                    move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Position`
[INFO] [stderr] ...
[INFO] [stderr] 11 | pub struct Position {
[INFO] [stderr]    |            -------- `Position` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stderr]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> wa1-errs/src/source_location.rs:29:41
[INFO] [stderr]    |
[INFO] [stderr] 29 | #[derive(Clone, Copy, Debug, PartialEq, Serialize, Deserialize)]
[INFO] [stderr]    |                                         ^--------
[INFO] [stderr]    |                                         |
[INFO] [stderr]    |                                         `Serialize` is not local
[INFO] [stderr]    |                                         move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_SourceLocation`
[INFO] [stderr] ...
[INFO] [stderr] 32 | pub struct SourceLocation {
[INFO] [stderr]    |            -------------- `SourceLocation` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stderr]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> wa1-errs/src/source_location.rs:29:52
[INFO] [stderr]    |
[INFO] [stderr] 29 | #[derive(Clone, Copy, Debug, PartialEq, Serialize, Deserialize)]
[INFO] [stderr]    |                                                    ^----------
[INFO] [stderr]    |                                                    |
[INFO] [stderr]    |                                                    `Deserialize` is not local
[INFO] [stderr]    |                                                    move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_SourceLocation`
[INFO] [stderr] ...
[INFO] [stderr] 32 | pub struct SourceLocation {
[INFO] [stderr]    |            -------------- `SourceLocation` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stderr]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: `wa1-errs` (lib) generated 4 warnings
[INFO] [stderr] warning: elided lifetime has a name
[INFO] [stderr]    --> wa1-lexer/src/tokenizer/buffer.rs:213:28
[INFO] [stderr]     |
[INFO] [stderr] 212 | impl<'a> From<&'a str> for JSBuffer<'a> {
[INFO] [stderr]     |      -- lifetime `'a` declared here
[INFO] [stderr] 213 |     fn from(s: &'a str) -> JSBuffer {
[INFO] [stderr]     |                            ^^^^^^^^ this elided lifetime gets resolved as `'a`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(elided_named_lifetimes)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused return value of `std::mem::replace` that must be used
[INFO] [stderr]    --> wa1-lexer/src/lib.rs:341:21
[INFO] [stderr]     |
[INFO] [stderr] 341 | /                     ::std::mem::replace(
[INFO] [stderr] 342 | |                         &mut self.before_last_open,
[INFO] [stderr] 343 | |                         ::std::mem::replace(&mut self.last_three, LookBehind::new()),
[INFO] [stderr] 344 | |                     );
[INFO] [stderr]     | |_____________________^
[INFO] [stderr]     |
[INFO] [stderr]     = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stderr]     = note: `#[warn(unused_must_use)]` on by default
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 341 |                     let _ = ::std::mem::replace(
[INFO] [stderr]     |                     +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> wa1-ast/src/lib.rs:26:35
[INFO] [stderr]    |
[INFO] [stderr] 26 | #[derive(Clone, PartialEq, Debug, Deserialize, Serialize)]
[INFO] [stderr]    |                                   ^----------
[INFO] [stderr]    |                                   |
[INFO] [stderr]    |                                   `Deserialize` is not local
[INFO] [stderr]    |                                   move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_GenericFunc`
[INFO] [stderr] 27 | pub struct GenericFunc{
[INFO] [stderr]    |            ----------- `GenericFunc` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stderr]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]    = note: `#[warn(non_local_definitions)]` on by default
[INFO] [stderr]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> wa1-ast/src/lib.rs:26:48
[INFO] [stderr]    |
[INFO] [stderr] 26 | #[derive(Clone, PartialEq, Debug, Deserialize, Serialize)]
[INFO] [stderr]    |                                                ^--------
[INFO] [stderr]    |                                                |
[INFO] [stderr]    |                                                `Serialize` is not local
[INFO] [stderr]    |                                                move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_GenericFunc`
[INFO] [stderr] 27 | pub struct GenericFunc{
[INFO] [stderr]    |            ----------- `GenericFunc` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stderr]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> wa1-ast/src/lib.rs:34:28
[INFO] [stderr]    |
[INFO] [stderr] 34 | #[derive(PartialEq, Debug, Deserialize, Serialize)]
[INFO] [stderr]    |                            ^----------
[INFO] [stderr]    |                            |
[INFO] [stderr]    |                            `Deserialize` is not local
[INFO] [stderr]    |                            move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_AST`
[INFO] [stderr] 35 | pub struct AST {
[INFO] [stderr]    |            --- `AST` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stderr]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> wa1-ast/src/lib.rs:34:41
[INFO] [stderr]    |
[INFO] [stderr] 34 | #[derive(PartialEq, Debug, Deserialize, Serialize)]
[INFO] [stderr]    |                                         ^--------
[INFO] [stderr]    |                                         |
[INFO] [stderr]    |                                         `Serialize` is not local
[INFO] [stderr]    |                                         move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_AST`
[INFO] [stderr] 35 | pub struct AST {
[INFO] [stderr]    |            --- `AST` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stderr]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> wa1-ast/src/lib.rs:57:17
[INFO] [stderr]    |
[INFO] [stderr] 57 | #[derive(Debug, Deserialize, Serialize)]
[INFO] [stderr]    |                 ^----------
[INFO] [stderr]    |                 |
[INFO] [stderr]    |                 `Deserialize` is not local
[INFO] [stderr]    |                 move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Exports`
[INFO] [stderr] 58 | pub struct Exports{
[INFO] [stderr]    |            ------- `Exports` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stderr]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> wa1-ast/src/lib.rs:57:30
[INFO] [stderr]    |
[INFO] [stderr] 57 | #[derive(Debug, Deserialize, Serialize)]
[INFO] [stderr]    |                              ^--------
[INFO] [stderr]    |                              |
[INFO] [stderr]    |                              `Serialize` is not local
[INFO] [stderr]    |                              move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_Exports`
[INFO] [stderr] 58 | pub struct Exports{
[INFO] [stderr]    |            ------- `Exports` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stderr]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> wa1-ast/src/lib.rs:67:17
[INFO] [stderr]    |
[INFO] [stderr] 67 | #[derive(Debug, Deserialize, Serialize)]
[INFO] [stderr]    |                 ^----------
[INFO] [stderr]    |                 |
[INFO] [stderr]    |                 `Deserialize` is not local
[INFO] [stderr]    |                 move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Imports`
[INFO] [stderr] 68 | pub struct Imports{
[INFO] [stderr]    |            ------- `Imports` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stderr]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> wa1-ast/src/lib.rs:67:30
[INFO] [stderr]    |
[INFO] [stderr] 67 | #[derive(Debug, Deserialize, Serialize)]
[INFO] [stderr]    |                              ^--------
[INFO] [stderr]    |                              |
[INFO] [stderr]    |                              `Serialize` is not local
[INFO] [stderr]    |                              move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_Imports`
[INFO] [stderr] 68 | pub struct Imports{
[INFO] [stderr]    |            ------- `Imports` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stderr]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> wa1-ast/src/expr.rs:25:35
[INFO] [stderr]    |
[INFO] [stderr] 25 | #[derive(Debug, Clone, PartialEq, Serialize, Deserialize, Copy)]
[INFO] [stderr]    |                                   ^--------
[INFO] [stderr]    |                                   |
[INFO] [stderr]    |                                   `Serialize` is not local
[INFO] [stderr]    |                                   move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_BinaryOperator`
[INFO] [stderr] 26 | pub enum BinaryOperator{
[INFO] [stderr]    |          -------------- `BinaryOperator` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stderr]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> wa1-ast/src/expr.rs:25:46
[INFO] [stderr]    |
[INFO] [stderr] 25 | #[derive(Debug, Clone, PartialEq, Serialize, Deserialize, Copy)]
[INFO] [stderr]    |                                              ^----------
[INFO] [stderr]    |                                              |
[INFO] [stderr]    |                                              `Deserialize` is not local
[INFO] [stderr]    |                                              move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_BinaryOperator`
[INFO] [stderr] 26 | pub enum BinaryOperator{
[INFO] [stderr]    |          -------------- `BinaryOperator` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stderr]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> wa1-ast/src/expr.rs:53:41
[INFO] [stderr]    |
[INFO] [stderr] 53 | #[derive(Debug, Clone, Copy, PartialEq, Serialize, Deserialize)]
[INFO] [stderr]    |                                         ^--------
[INFO] [stderr]    |                                         |
[INFO] [stderr]    |                                         `Serialize` is not local
[INFO] [stderr]    |                                         move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_UnaryOperator`
[INFO] [stderr] 54 | pub enum UnaryOperator{
[INFO] [stderr]    |          ------------- `UnaryOperator` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stderr]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> wa1-ast/src/expr.rs:53:52
[INFO] [stderr]    |
[INFO] [stderr] 53 | #[derive(Debug, Clone, Copy, PartialEq, Serialize, Deserialize)]
[INFO] [stderr]    |                                                    ^----------
[INFO] [stderr]    |                                                    |
[INFO] [stderr]    |                                                    `Deserialize` is not local
[INFO] [stderr]    |                                                    move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_UnaryOperator`
[INFO] [stderr] 54 | pub enum UnaryOperator{
[INFO] [stderr]    |          ------------- `UnaryOperator` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stderr]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> wa1-ast/src/expr.rs:66:41
[INFO] [stderr]    |
[INFO] [stderr] 66 | #[derive(Debug, Clone, Copy, PartialEq, Serialize, Deserialize)]
[INFO] [stderr]    |                                         ^--------
[INFO] [stderr]    |                                         |
[INFO] [stderr]    |                                         `Serialize` is not local
[INFO] [stderr]    |                                         move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_AssignmentOperator`
[INFO] [stderr] 67 | pub enum AssignmentOperator{
[INFO] [stderr]    |          ------------------ `AssignmentOperator` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stderr]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> wa1-ast/src/expr.rs:66:52
[INFO] [stderr]    |
[INFO] [stderr] 66 | #[derive(Debug, Clone, Copy, PartialEq, Serialize, Deserialize)]
[INFO] [stderr]    |                                                    ^----------
[INFO] [stderr]    |                                                    |
[INFO] [stderr]    |                                                    `Deserialize` is not local
[INFO] [stderr]    |                                                    move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_AssignmentOperator`
[INFO] [stderr] 67 | pub enum AssignmentOperator{
[INFO] [stderr]    |          ------------------ `AssignmentOperator` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stderr]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> wa1-ast/src/expr.rs:80:35
[INFO] [stderr]    |
[INFO] [stderr] 80 | #[derive(Debug, Clone, PartialEq, Serialize, Deserialize, Copy)]
[INFO] [stderr]    |                                   ^--------
[INFO] [stderr]    |                                   |
[INFO] [stderr]    |                                   `Serialize` is not local
[INFO] [stderr]    |                                   move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_VariableMutability`
[INFO] [stderr] 81 | pub enum VariableMutability{
[INFO] [stderr]    |          ------------------ `VariableMutability` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stderr]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> wa1-ast/src/expr.rs:80:46
[INFO] [stderr]    |
[INFO] [stderr] 80 | #[derive(Debug, Clone, PartialEq, Serialize, Deserialize, Copy)]
[INFO] [stderr]    |                                              ^----------
[INFO] [stderr]    |                                              |
[INFO] [stderr]    |                                              `Deserialize` is not local
[INFO] [stderr]    |                                              move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_VariableMutability`
[INFO] [stderr] 81 | pub enum VariableMutability{
[INFO] [stderr]    |          ------------------ `VariableMutability` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stderr]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> wa1-ast/src/expr.rs:87:35
[INFO] [stderr]    |
[INFO] [stderr] 87 | #[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
[INFO] [stderr]    |                                   ^--------
[INFO] [stderr]    |                                   |
[INFO] [stderr]    |                                   `Serialize` is not local
[INFO] [stderr]    |                                   move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_GlobalVariableDecl`
[INFO] [stderr] 88 | pub struct GlobalVariableDecl {
[INFO] [stderr]    |            ------------------ `GlobalVariableDecl` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stderr]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> wa1-ast/src/expr.rs:87:46
[INFO] [stderr]    |
[INFO] [stderr] 87 | #[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
[INFO] [stderr]    |                                              ^----------
[INFO] [stderr]    |                                              |
[INFO] [stderr]    |                                              `Deserialize` is not local
[INFO] [stderr]    |                                              move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_GlobalVariableDecl`
[INFO] [stderr] 88 | pub struct GlobalVariableDecl {
[INFO] [stderr]    |            ------------------ `GlobalVariableDecl` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stderr]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> wa1-ast/src/expr.rs:97:35
[INFO] [stderr]    |
[INFO] [stderr] 97 | #[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
[INFO] [stderr]    |                                   ^--------
[INFO] [stderr]    |                                   |
[INFO] [stderr]    |                                   `Serialize` is not local
[INFO] [stderr]    |                                   move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_GlobalVariableImport`
[INFO] [stderr] 98 | pub struct GlobalVariableImport {
[INFO] [stderr]    |            -------------------- `GlobalVariableImport` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stderr]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> wa1-ast/src/expr.rs:97:46
[INFO] [stderr]    |
[INFO] [stderr] 97 | #[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
[INFO] [stderr]    |                                              ^----------
[INFO] [stderr]    |                                              |
[INFO] [stderr]    |                                              `Deserialize` is not local
[INFO] [stderr]    |                                              move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_GlobalVariableImport`
[INFO] [stderr] 98 | pub struct GlobalVariableImport {
[INFO] [stderr]    |            -------------------- `GlobalVariableImport` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stderr]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]    --> wa1-ast/src/expr.rs:104:35
[INFO] [stderr]     |
[INFO] [stderr] 104 | #[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
[INFO] [stderr]     |                                   ^--------
[INFO] [stderr]     |                                   |
[INFO] [stderr]     |                                   `Serialize` is not local
[INFO] [stderr]     |                                   move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_ClosureRef`
[INFO] [stderr] 105 | pub struct ClosureRef {
[INFO] [stderr]     |            ---------- `ClosureRef` is not local
[INFO] [stderr]     |
[INFO] [stderr]     = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stderr]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]     = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]    --> wa1-ast/src/expr.rs:104:46
[INFO] [stderr]     |
[INFO] [stderr] 104 | #[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
[INFO] [stderr]     |                                              ^----------
[INFO] [stderr]     |                                              |
[INFO] [stderr]     |                                              `Deserialize` is not local
[INFO] [stderr]     |                                              move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_ClosureRef`
[INFO] [stderr] 105 | pub struct ClosureRef {
[INFO] [stderr]     |            ---------- `ClosureRef` is not local
[INFO] [stderr]     |
[INFO] [stderr]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stderr]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]    --> wa1-ast/src/expr.rs:110:35
[INFO] [stderr]     |
[INFO] [stderr] 110 | #[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
[INFO] [stderr]     |                                   ^--------
[INFO] [stderr]     |                                   |
[INFO] [stderr]     |                                   `Serialize` is not local
[INFO] [stderr]     |                                   move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_ObjectLiteralElem`
[INFO] [stderr] 111 | pub struct ObjectLiteralElem{
[INFO] [stderr]     |            ----------------- `ObjectLiteralElem` is not local
[INFO] [stderr]     |
[INFO] [stderr]     = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stderr]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]     = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]    --> wa1-ast/src/expr.rs:110:46
[INFO] [stderr]     |
[INFO] [stderr] 110 | #[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
[INFO] [stderr]     |                                              ^----------
[INFO] [stderr]     |                                              |
[INFO] [stderr]     |                                              `Deserialize` is not local
[INFO] [stderr]     |                                              move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_ObjectLiteralElem`
[INFO] [stderr] 111 | pub struct ObjectLiteralElem{
[INFO] [stderr]     |            ----------------- `ObjectLiteralElem` is not local
[INFO] [stderr]     |
[INFO] [stderr]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stderr]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]    --> wa1-ast/src/expr.rs:117:35
[INFO] [stderr]     |
[INFO] [stderr] 117 | #[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
[INFO] [stderr]     |                                   ^--------
[INFO] [stderr]     |                                   |
[INFO] [stderr]     |                                   `Serialize` is not local
[INFO] [stderr]     |                                   move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_Expr`
[INFO] [stderr] 118 | pub enum Expr {
[INFO] [stderr]     |          ---- `Expr` is not local
[INFO] [stderr]     |
[INFO] [stderr]     = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stderr]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]     = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]    --> wa1-ast/src/expr.rs:117:46
[INFO] [stderr]     |
[INFO] [stderr] 117 | #[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
[INFO] [stderr]     |                                              ^----------
[INFO] [stderr]     |                                              |
[INFO] [stderr]     |                                              `Deserialize` is not local
[INFO] [stderr]     |                                              move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Expr`
[INFO] [stderr] 118 | pub enum Expr {
[INFO] [stderr]     |          ---- `Expr` is not local
[INFO] [stderr]     |
[INFO] [stderr]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stderr]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]    --> wa1-ast/src/expr.rs:238:41
[INFO] [stderr]     |
[INFO] [stderr] 238 | #[derive(Debug, Clone, Copy, PartialEq, Serialize, Deserialize)]
[INFO] [stderr]     |                                         ^--------
[INFO] [stderr]     |                                         |
[INFO] [stderr]     |                                         `Serialize` is not local
[INFO] [stderr]     |                                         move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_ReturnExpr`
[INFO] [stderr] 239 | pub enum ReturnExpr {
[INFO] [stderr]     |          ---------- `ReturnExpr` is not local
[INFO] [stderr]     |
[INFO] [stderr]     = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stderr]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]     = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]    --> wa1-ast/src/expr.rs:238:52
[INFO] [stderr]     |
[INFO] [stderr] 238 | #[derive(Debug, Clone, Copy, PartialEq, Serialize, Deserialize)]
[INFO] [stderr]     |                                                    ^----------
[INFO] [stderr]     |                                                    |
[INFO] [stderr]     |                                                    `Deserialize` is not local
[INFO] [stderr]     |                                                    move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_ReturnExpr`
[INFO] [stderr] 239 | pub enum ReturnExpr {
[INFO] [stderr]     |          ---------- `ReturnExpr` is not local
[INFO] [stderr]     |
[INFO] [stderr]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stderr]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]    --> wa1-ast/src/expr.rs:245:35
[INFO] [stderr]     |
[INFO] [stderr] 245 | #[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
[INFO] [stderr]     |                                   ^--------
[INFO] [stderr]     |                                   |
[INFO] [stderr]     |                                   `Serialize` is not local
[INFO] [stderr]     |                                   move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_TypedExpr`
[INFO] [stderr] 246 | pub struct TypedExpr{
[INFO] [stderr]     |            --------- `TypedExpr` is not local
[INFO] [stderr]     |
[INFO] [stderr]     = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stderr]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]     = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]    --> wa1-ast/src/expr.rs:245:46
[INFO] [stderr]     |
[INFO] [stderr] 245 | #[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
[INFO] [stderr]     |                                              ^----------
[INFO] [stderr]     |                                              |
[INFO] [stderr]     |                                              `Deserialize` is not local
[INFO] [stderr]     |                                              move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_TypedExpr`
[INFO] [stderr] 246 | pub struct TypedExpr{
[INFO] [stderr]     |            --------- `TypedExpr` is not local
[INFO] [stderr]     |
[INFO] [stderr]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stderr]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]    --> wa1-ast/src/expr.rs:276:35
[INFO] [stderr]     |
[INFO] [stderr] 276 | #[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
[INFO] [stderr]     |                                   ^--------
[INFO] [stderr]     |                                   |
[INFO] [stderr]     |                                   `Serialize` is not local
[INFO] [stderr]     |                                   move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_LValueExpr`
[INFO] [stderr] 277 | pub enum LValueExpr{
[INFO] [stderr]     |          ---------- `LValueExpr` is not local
[INFO] [stderr]     |
[INFO] [stderr]     = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stderr]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]     = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]    --> wa1-ast/src/expr.rs:276:46
[INFO] [stderr]     |
[INFO] [stderr] 276 | #[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
[INFO] [stderr]     |                                              ^----------
[INFO] [stderr]     |                                              |
[INFO] [stderr]     |                                              `Deserialize` is not local
[INFO] [stderr]     |                                              move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_LValueExpr`
[INFO] [stderr] 277 | pub enum LValueExpr{
[INFO] [stderr]     |          ---------- `LValueExpr` is not local
[INFO] [stderr]     |
[INFO] [stderr]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stderr]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]    --> wa1-ast/src/expr.rs:291:35
[INFO] [stderr]     |
[INFO] [stderr] 291 | #[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
[INFO] [stderr]     |                                   ^--------
[INFO] [stderr]     |                                   |
[INFO] [stderr]     |                                   `Serialize` is not local
[INFO] [stderr]     |                                   move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_TypedLValueExpr`
[INFO] [stderr] 292 | pub struct TypedLValueExpr{
[INFO] [stderr]     |            --------------- `TypedLValueExpr` is not local
[INFO] [stderr]     |
[INFO] [stderr]     = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stderr]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]     = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]    --> wa1-ast/src/expr.rs:291:46
[INFO] [stderr]     |
[INFO] [stderr] 291 | #[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
[INFO] [stderr]     |                                              ^----------
[INFO] [stderr]     |                                              |
[INFO] [stderr]     |                                              `Deserialize` is not local
[INFO] [stderr]     |                                              move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_TypedLValueExpr`
[INFO] [stderr] 292 | pub struct TypedLValueExpr{
[INFO] [stderr]     |            --------------- `TypedLValueExpr` is not local
[INFO] [stderr]     |
[INFO] [stderr]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stderr]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> wa1-ast/src/func.rs:21:35
[INFO] [stderr]    |
[INFO] [stderr] 21 | #[derive(Debug, Clone, PartialEq, Deserialize, Serialize)]
[INFO] [stderr]    |                                   ^----------
[INFO] [stderr]    |                                   |
[INFO] [stderr]    |                                   `Deserialize` is not local
[INFO] [stderr]    |                                   move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_FuncArg`
[INFO] [stderr] 22 | pub struct FuncArg {
[INFO] [stderr]    |            ------- `FuncArg` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stderr]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> wa1-ast/src/func.rs:21:48
[INFO] [stderr]    |
[INFO] [stderr] 21 | #[derive(Debug, Clone, PartialEq, Deserialize, Serialize)]
[INFO] [stderr]    |                                                ^--------
[INFO] [stderr]    |                                                |
[INFO] [stderr]    |                                                `Serialize` is not local
[INFO] [stderr]    |                                                move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_FuncArg`
[INFO] [stderr] 22 | pub struct FuncArg {
[INFO] [stderr]    |            ------- `FuncArg` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stderr]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> wa1-ast/src/func.rs:28:35
[INFO] [stderr]    |
[INFO] [stderr] 28 | #[derive(Debug, Clone, PartialEq, Deserialize, Serialize)]
[INFO] [stderr]    |                                   ^----------
[INFO] [stderr]    |                                   |
[INFO] [stderr]    |                                   `Deserialize` is not local
[INFO] [stderr]    |                                   move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_LocalVar`
[INFO] [stderr] 29 | pub struct LocalVar{
[INFO] [stderr]    |            -------- `LocalVar` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stderr]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> wa1-ast/src/func.rs:28:48
[INFO] [stderr]    |
[INFO] [stderr] 28 | #[derive(Debug, Clone, PartialEq, Deserialize, Serialize)]
[INFO] [stderr]    |                                                ^--------
[INFO] [stderr]    |                                                |
[INFO] [stderr]    |                                                `Serialize` is not local
[INFO] [stderr]    |                                                move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_LocalVar`
[INFO] [stderr] 29 | pub struct LocalVar{
[INFO] [stderr]    |            -------- `LocalVar` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stderr]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> wa1-ast/src/func.rs:38:35
[INFO] [stderr]    |
[INFO] [stderr] 38 | #[derive(Debug, Clone, PartialEq, Deserialize, Serialize)]
[INFO] [stderr]    |                                   ^----------
[INFO] [stderr]    |                                   |
[INFO] [stderr]    |                                   `Deserialize` is not local
[INFO] [stderr]    |                                   move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Func`
[INFO] [stderr] 39 | pub struct Func {
[INFO] [stderr]    |            ---- `Func` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stderr]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> wa1-ast/src/func.rs:38:48
[INFO] [stderr]    |
[INFO] [stderr] 38 | #[derive(Debug, Clone, PartialEq, Deserialize, Serialize)]
[INFO] [stderr]    |                                                ^--------
[INFO] [stderr]    |                                                |
[INFO] [stderr]    |                                                `Serialize` is not local
[INFO] [stderr]    |                                                move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_Func`
[INFO] [stderr] 39 | pub struct Func {
[INFO] [stderr]    |            ---- `Func` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stderr]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> wa1-ast/src/func.rs:48:35
[INFO] [stderr]    |
[INFO] [stderr] 48 | #[derive(Debug, Clone, PartialEq, Deserialize, Serialize)]
[INFO] [stderr]    |                                   ^----------
[INFO] [stderr]    |                                   |
[INFO] [stderr]    |                                   `Deserialize` is not local
[INFO] [stderr]    |                                   move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_TypeGuardBranch`
[INFO] [stderr] 49 | pub struct TypeGuardBranch {
[INFO] [stderr]    |            --------------- `TypeGuardBranch` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stderr]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> wa1-ast/src/func.rs:48:48
[INFO] [stderr]    |
[INFO] [stderr] 48 | #[derive(Debug, Clone, PartialEq, Deserialize, Serialize)]
[INFO] [stderr]    |                                                ^--------
[INFO] [stderr]    |                                                |
[INFO] [stderr]    |                                                `Serialize` is not local
[INFO] [stderr]    |                                                move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_TypeGuardBranch`
[INFO] [stderr] 49 | pub struct TypeGuardBranch {
[INFO] [stderr]    |            --------------- `TypeGuardBranch` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stderr]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> wa1-ast/src/func.rs:56:35
[INFO] [stderr]    |
[INFO] [stderr] 56 | #[derive(Debug, Clone, PartialEq, Deserialize, Serialize)]
[INFO] [stderr]    |                                   ^----------
[INFO] [stderr]    |                                   |
[INFO] [stderr]    |                                   `Deserialize` is not local
[INFO] [stderr]    |                                   move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_TypeGuard`
[INFO] [stderr] 57 | pub struct TypeGuard {
[INFO] [stderr]    |            --------- `TypeGuard` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stderr]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> wa1-ast/src/func.rs:56:48
[INFO] [stderr]    |
[INFO] [stderr] 56 | #[derive(Debug, Clone, PartialEq, Deserialize, Serialize)]
[INFO] [stderr]    |                                                ^--------
[INFO] [stderr]    |                                                |
[INFO] [stderr]    |                                                `Serialize` is not local
[INFO] [stderr]    |                                                move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_TypeGuard`
[INFO] [stderr] 57 | pub struct TypeGuard {
[INFO] [stderr]    |            --------- `TypeGuard` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stderr]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> wa1-ast/src/func.rs:62:35
[INFO] [stderr]    |
[INFO] [stderr] 62 | #[derive(Debug, Clone, PartialEq, Deserialize, Serialize)]
[INFO] [stderr]    |                                   ^----------
[INFO] [stderr]    |                                   |
[INFO] [stderr]    |                                   `Deserialize` is not local
[INFO] [stderr]    |                                   move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_FuncDecl`
[INFO] [stderr] 63 | pub struct FuncDecl {
[INFO] [stderr]    |            -------- `FuncDecl` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stderr]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> wa1-ast/src/func.rs:62:48
[INFO] [stderr]    |
[INFO] [stderr] 62 | #[derive(Debug, Clone, PartialEq, Deserialize, Serialize)]
[INFO] [stderr]    |                                                ^--------
[INFO] [stderr]    |                                                |
[INFO] [stderr]    |                                                `Serialize` is not local
[INFO] [stderr]    |                                                move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_FuncDecl`
[INFO] [stderr] 63 | pub struct FuncDecl {
[INFO] [stderr]    |            -------- `FuncDecl` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stderr]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> wa1-ast/src/func.rs:89:35
[INFO] [stderr]    |
[INFO] [stderr] 89 | #[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
[INFO] [stderr]    |                                   ^--------
[INFO] [stderr]    |                                   |
[INFO] [stderr]    |                                   `Serialize` is not local
[INFO] [stderr]    |                                   move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_FuncObjectCreation`
[INFO] [stderr] 90 | pub struct FuncObjectCreation {
[INFO] [stderr]    |            ------------------ `FuncObjectCreation` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stderr]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> wa1-ast/src/func.rs:89:46
[INFO] [stderr]    |
[INFO] [stderr] 89 | #[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
[INFO] [stderr]    |                                              ^----------
[INFO] [stderr]    |                                              |
[INFO] [stderr]    |                                              `Deserialize` is not local
[INFO] [stderr]    |                                              move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_FuncObjectCreation`
[INFO] [stderr] 90 | pub struct FuncObjectCreation {
[INFO] [stderr]    |            ------------------ `FuncObjectCreation` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stderr]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> wa1-ast/src/intrinsic.rs:9:35
[INFO] [stderr]    |
[INFO] [stderr] 9  | #[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
[INFO] [stderr]    |                                   ^--------
[INFO] [stderr]    |                                   |
[INFO] [stderr]    |                                   `Serialize` is not local
[INFO] [stderr]    |                                   move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_Intrinsic`
[INFO] [stderr] 10 | pub enum Intrinsic {
[INFO] [stderr]    |          --------- `Intrinsic` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stderr]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> wa1-ast/src/intrinsic.rs:9:46
[INFO] [stderr]    |
[INFO] [stderr] 9  | #[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
[INFO] [stderr]    |                                              ^----------
[INFO] [stderr]    |                                              |
[INFO] [stderr]    |                                              `Deserialize` is not local
[INFO] [stderr]    |                                              move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Intrinsic`
[INFO] [stderr] 10 | pub enum Intrinsic {
[INFO] [stderr]    |          --------- `Intrinsic` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stderr]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> wa1-ast/src/ast_types.rs:9:35
[INFO] [stderr]    |
[INFO] [stderr] 9  | #[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
[INFO] [stderr]    |                                   ^--------
[INFO] [stderr]    |                                   |
[INFO] [stderr]    |                                   `Serialize` is not local
[INFO] [stderr]    |                                   move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_MemberFunc`
[INFO] [stderr] 10 | pub struct MemberFunc{
[INFO] [stderr]    |            ---------- `MemberFunc` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stderr]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> wa1-ast/src/ast_types.rs:9:46
[INFO] [stderr]    |
[INFO] [stderr] 9  | #[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
[INFO] [stderr]    |                                              ^----------
[INFO] [stderr]    |                                              |
[INFO] [stderr]    |                                              `Deserialize` is not local
[INFO] [stderr]    |                                              move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_MemberFunc`
[INFO] [stderr] 10 | pub struct MemberFunc{
[INFO] [stderr]    |            ---------- `MemberFunc` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stderr]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> wa1-ast/src/ast_types.rs:20:35
[INFO] [stderr]    |
[INFO] [stderr] 20 | #[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
[INFO] [stderr]    |                                   ^--------
[INFO] [stderr]    |                                   |
[INFO] [stderr]    |                                   `Serialize` is not local
[INFO] [stderr]    |                                   move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_TraitMemberFunc`
[INFO] [stderr] 21 | pub struct TraitMemberFunc{
[INFO] [stderr]    |            --------------- `TraitMemberFunc` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stderr]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> wa1-ast/src/ast_types.rs:20:46
[INFO] [stderr]    |
[INFO] [stderr] 20 | #[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
[INFO] [stderr]    |                                              ^----------
[INFO] [stderr]    |                                              |
[INFO] [stderr]    |                                              `Deserialize` is not local
[INFO] [stderr]    |                                              move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_TraitMemberFunc`
[INFO] [stderr] 21 | pub struct TraitMemberFunc{
[INFO] [stderr]    |            --------------- `TraitMemberFunc` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stderr]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> wa1-ast/src/ast_types.rs:28:35
[INFO] [stderr]    |
[INFO] [stderr] 28 | #[derive(Debug, Clone, PartialEq, Serialize, Deserialize, Copy)]
[INFO] [stderr]    |                                   ^--------
[INFO] [stderr]    |                                   |
[INFO] [stderr]    |                                   `Serialize` is not local
[INFO] [stderr]    |                                   move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_UserClassStorage`
[INFO] [stderr] 29 | pub enum UserClassStorage{
[INFO] [stderr]    |          ---------------- `UserClassStorage` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stderr]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> wa1-ast/src/ast_types.rs:28:46
[INFO] [stderr]    |
[INFO] [stderr] 28 | #[derive(Debug, Clone, PartialEq, Serialize, Deserialize, Copy)]
[INFO] [stderr]    |                                              ^----------
[INFO] [stderr]    |                                              |
[INFO] [stderr]    |                                              `Deserialize` is not local
[INFO] [stderr]    |                                              move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_UserClassStorage`
[INFO] [stderr] 29 | pub enum UserClassStorage{
[INFO] [stderr]    |          ---------------- `UserClassStorage` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stderr]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> wa1-ast/src/ast_types.rs:34:35
[INFO] [stderr]    |
[INFO] [stderr] 34 | #[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
[INFO] [stderr]    |                                   ^--------
[INFO] [stderr]    |                                   |
[INFO] [stderr]    |                                   `Serialize` is not local
[INFO] [stderr]    |                                   move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_TypeDecl`
[INFO] [stderr] 35 | pub enum TypeDecl{
[INFO] [stderr]    |          -------- `TypeDecl` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stderr]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> wa1-ast/src/ast_types.rs:34:46
[INFO] [stderr]    |
[INFO] [stderr] 34 | #[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
[INFO] [stderr]    |                                              ^----------
[INFO] [stderr]    |                                              |
[INFO] [stderr]    |                                              `Deserialize` is not local
[INFO] [stderr]    |                                              move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_TypeDecl`
[INFO] [stderr] 35 | pub enum TypeDecl{
[INFO] [stderr]    |          -------- `TypeDecl` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stderr]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> wa1-ast/src/ast_types.rs:52:35
[INFO] [stderr]    |
[INFO] [stderr] 52 | #[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
[INFO] [stderr]    |                                   ^--------
[INFO] [stderr]    |                                   |
[INFO] [stderr]    |                                   `Serialize` is not local
[INFO] [stderr]    |                                   move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_TraitDecl`
[INFO] [stderr] 53 | pub struct TraitDecl{
[INFO] [stderr]    |            --------- `TraitDecl` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stderr]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> wa1-ast/src/ast_types.rs:52:46
[INFO] [stderr]    |
[INFO] [stderr] 52 | #[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
[INFO] [stderr]    |                                              ^----------
[INFO] [stderr]    |                                              |
[INFO] [stderr]    |                                              `Deserialize` is not local
[INFO] [stderr]    |                                              move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_TraitDecl`
[INFO] [stderr] 53 | pub struct TraitDecl{
[INFO] [stderr]    |            --------- `TraitDecl` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stderr]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> wa1-ast/src/ast_types.rs:59:35
[INFO] [stderr]    |
[INFO] [stderr] 59 | #[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
[INFO] [stderr]    |                                   ^--------
[INFO] [stderr]    |                                   |
[INFO] [stderr]    |                                   `Serialize` is not local
[INFO] [stderr]    |                                   move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_TraitImpl`
[INFO] [stderr] 60 | pub struct TraitImpl{
[INFO] [stderr]    |            --------- `TraitImpl` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stderr]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> wa1-ast/src/ast_types.rs:59:46
[INFO] [stderr]    |
[INFO] [stderr] 59 | #[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
[INFO] [stderr]    |                                              ^----------
[INFO] [stderr]    |                                              |
[INFO] [stderr]    |                                              `Deserialize` is not local
[INFO] [stderr]    |                                              move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_TraitImpl`
[INFO] [stderr] 60 | pub struct TraitImpl{
[INFO] [stderr]    |            --------- `TraitImpl` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stderr]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: `wa1-lexer` (lib) generated 2 warnings
[INFO] [stderr] warning: `wa1-ast` (lib) generated 62 warnings
[INFO] [stderr] warning: `wa1-ast` (lib test) generated 62 warnings (62 duplicates)
[INFO] [stderr] warning: unused import: `wa1_errs::Error`
[INFO] [stderr]  --> wa1-parser/src/parser/parser_option.rs:4:9
[INFO] [stderr]   |
[INFO] [stderr] 4 | pub use wa1_errs::Error;
[INFO] [stderr]   |         ^^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `wa1_errs::Error`
[INFO] [stderr]   --> wa1-parser/src/parser/parser_phase_1.rs:10:9
[INFO] [stderr]    |
[INFO] [stderr] 10 | pub use wa1_errs::Error;
[INFO] [stderr]    |         ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `wa1_errs::Error`
[INFO] [stderr]  --> wa1-parser/src/parser/parser_typeguard.rs:7:9
[INFO] [stderr]   |
[INFO] [stderr] 7 | pub use wa1_errs::Error;
[INFO] [stderr]   |         ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around match arm expression
[INFO] [stderr]   --> wa1-parser/src/parser/mod.rs:43:30
[INFO] [stderr]    |
[INFO] [stderr] 43 |         ImportFilter::All => (exports),
[INFO] [stderr]    |                              ^       ^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_parens)]` on by default
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]    |
[INFO] [stderr] 43 -         ImportFilter::All => (exports),
[INFO] [stderr] 43 +         ImportFilter::All => exports,
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `wa1_errs::Error`
[INFO] [stderr]  --> wa1-parser/src/tree_transform/mod.rs:2:9
[INFO] [stderr]   |
[INFO] [stderr] 2 | pub use wa1_errs::Error;
[INFO] [stderr]   |         ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: field `0` is never read
[INFO] [stderr]   --> wa1-parser/src/parser/mod.rs:38:11
[INFO] [stderr]    |
[INFO] [stderr] 38 |     Named(Vec<String>)
[INFO] [stderr]    |     ----- ^^^^^^^^^^^
[INFO] [stderr]    |     |
[INFO] [stderr]    |     field in this variant
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(dead_code)]` on by default
[INFO] [stderr] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stderr]    |
[INFO] [stderr] 38 |     Named(())
[INFO] [stderr]    |           ~~
[INFO] [stderr] 
[INFO] [stderr] warning: unused return value of `std::mem::replace` that must be used
[INFO] [stderr]    --> wa1-parser/src/parser/mod.rs:173:17
[INFO] [stderr]     |
[INFO] [stderr] 173 |                 replace(&mut self.look_ahead, look_ahead);
[INFO] [stderr]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stderr]     = note: `#[warn(unused_must_use)]` on by default
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 173 |                 let _ = replace(&mut self.look_ahead, look_ahead);
[INFO] [stderr]     |                 +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: `wa1-parser` (lib) generated 7 warnings (run `cargo fix --lib -p wa1-parser` to apply 5 suggestions)
[INFO] [stderr] warning: `wa1-parser` (lib test) generated 7 warnings (7 duplicates)
[INFO] [stderr] warning: `wa1-lexer` (lib test) generated 2 warnings (2 duplicates)
[INFO] [stderr] warning: `wa1-errs` (lib test) generated 4 warnings (4 duplicates)
[INFO] [stderr] warning: `wa1-types` (lib test) generated 18 warnings (18 duplicates)
[INFO] [stderr] warning: unexpected `cfg` condition value: `atomics`
[INFO] [stderr]    --> wa1-generator/src/wasm/wasm_instructions.rs:221:7
[INFO] [stderr]     |
[INFO] [stderr] 221 | #[cfg(feature="atomics")]
[INFO] [stderr]     |       ^^^^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stderr]     |
[INFO] [stderr]     = note: no expected values for `feature`
[INFO] [stderr]     = help: consider adding `atomics` as a feature in `Cargo.toml`
[INFO] [stderr]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stderr]     = note: `#[warn(unexpected_cfgs)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unexpected `cfg` condition value: `simd`
[INFO] [stderr]    --> wa1-generator/src/wasm/wasm_instructions.rs:301:7
[INFO] [stderr]     |
[INFO] [stderr] 301 | #[cfg(feature="simd")]
[INFO] [stderr]     |       ^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stderr]     |
[INFO] [stderr]     = note: no expected values for `feature`
[INFO] [stderr]     = help: consider adding `simd` as a feature in `Cargo.toml`
[INFO] [stderr]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stderr] 
[INFO] [stderr] warning: unexpected `cfg` condition value: `sign_ext`
[INFO] [stderr]    --> wa1-generator/src/wasm/wasm_instructions.rs:458:7
[INFO] [stderr]     |
[INFO] [stderr] 458 | #[cfg(feature="sign_ext")]
[INFO] [stderr]     |       ^^^^^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stderr]     |
[INFO] [stderr]     = note: no expected values for `feature`
[INFO] [stderr]     = help: consider adding `sign_ext` as a feature in `Cargo.toml`
[INFO] [stderr]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stderr] 
[INFO] [stderr] warning: unexpected `cfg` condition value: `bulk`
[INFO] [stderr]    --> wa1-generator/src/wasm/wasm_instructions.rs:469:7
[INFO] [stderr]     |
[INFO] [stderr] 469 | #[cfg(feature="bulk")]
[INFO] [stderr]     |       ^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stderr]     |
[INFO] [stderr]     = note: no expected values for `feature`
[INFO] [stderr]     = help: consider adding `bulk` as a feature in `Cargo.toml`
[INFO] [stderr]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stderr] 
[INFO] [stderr] warning: unexpected `cfg` condition value: `atomics`
[INFO] [stderr]    --> wa1-generator/src/wasm/wasm_instructions.rs:207:8
[INFO] [stderr]     |
[INFO] [stderr] 207 |     #[cfg(feature="atomics")]
[INFO] [stderr]     |           ^^^^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stderr]     |
[INFO] [stderr]     = note: no expected values for `feature`
[INFO] [stderr]     = help: consider adding `atomics` as a feature in `Cargo.toml`
[INFO] [stderr]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stderr] 
[INFO] [stderr] warning: unexpected `cfg` condition value: `simd`
[INFO] [stderr]    --> wa1-generator/src/wasm/wasm_instructions.rs:210:8
[INFO] [stderr]     |
[INFO] [stderr] 210 |     #[cfg(feature="simd")]
[INFO] [stderr]     |           ^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stderr]     |
[INFO] [stderr]     = note: no expected values for `feature`
[INFO] [stderr]     = help: consider adding `simd` as a feature in `Cargo.toml`
[INFO] [stderr]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stderr] 
[INFO] [stderr] warning: unexpected `cfg` condition value: `sign_ext`
[INFO] [stderr]    --> wa1-generator/src/wasm/wasm_instructions.rs:213:8
[INFO] [stderr]     |
[INFO] [stderr] 213 |     #[cfg(feature="sign_ext")]
[INFO] [stderr]     |           ^^^^^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stderr]     |
[INFO] [stderr]     = note: no expected values for `feature`
[INFO] [stderr]     = help: consider adding `sign_ext` as a feature in `Cargo.toml`
[INFO] [stderr]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stderr] 
[INFO] [stderr] warning: unexpected `cfg` condition value: `bulk`
[INFO] [stderr]    --> wa1-generator/src/wasm/wasm_instructions.rs:216:8
[INFO] [stderr]     |
[INFO] [stderr] 216 |     #[cfg(feature="bulk")]
[INFO] [stderr]     |           ^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stderr]     |
[INFO] [stderr]     = note: no expected values for `feature`
[INFO] [stderr]     = help: consider adding `bulk` as a feature in `Cargo.toml`
[INFO] [stderr]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stderr] 
[INFO] [stderr] warning: unexpected `cfg` condition value: `sign_ext`
[INFO] [stderr]     --> wa1-generator/src/wasm/wasm_instructions.rs:1025:8
[INFO] [stderr]      |
[INFO] [stderr] 1025 |     #[cfg(feature="sign_ext")]
[INFO] [stderr]      |           ^^^^^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stderr]      |
[INFO] [stderr]      = note: no expected values for `feature`
[INFO] [stderr]      = help: consider adding `sign_ext` as a feature in `Cargo.toml`
[INFO] [stderr]      = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stderr] 
[INFO] [stderr] warning: unexpected `cfg` condition value: `atomics`
[INFO] [stderr]     --> wa1-generator/src/wasm/wasm_instructions.rs:1034:8
[INFO] [stderr]      |
[INFO] [stderr] 1034 |     #[cfg(feature="atomics")]
[INFO] [stderr]      |           ^^^^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stderr]      |
[INFO] [stderr]      = note: no expected values for `feature`
[INFO] [stderr]      = help: consider adding `atomics` as a feature in `Cargo.toml`
[INFO] [stderr]      = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stderr] 
[INFO] [stderr] warning: unexpected `cfg` condition value: `simd`
[INFO] [stderr]     --> wa1-generator/src/wasm/wasm_instructions.rs:1113:8
[INFO] [stderr]      |
[INFO] [stderr] 1113 |     #[cfg(feature="simd")]
[INFO] [stderr]      |           ^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stderr]      |
[INFO] [stderr]      = note: no expected values for `feature`
[INFO] [stderr]      = help: consider adding `simd` as a feature in `Cargo.toml`
[INFO] [stderr]      = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stderr] 
[INFO] [stderr] warning: unexpected `cfg` condition value: `bulk`
[INFO] [stderr]     --> wa1-generator/src/wasm/wasm_instructions.rs:1279:8
[INFO] [stderr]      |
[INFO] [stderr] 1279 |     #[cfg(feature="bulk")]
[INFO] [stderr]      |           ^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stderr]      |
[INFO] [stderr]      = note: no expected values for `feature`
[INFO] [stderr]      = help: consider adding `bulk` as a feature in `Cargo.toml`
[INFO] [stderr]      = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stderr] 
[INFO] [stderr] warning: variants `SymTabEvent` and `SymTabTable` are never constructed
[INFO] [stderr]   --> wa1-generator/src/wasm/wasm_object_file.rs:18:5
[INFO] [stderr]    |
[INFO] [stderr] 8  | enum WasmSymInfoKind{
[INFO] [stderr]    |      --------------- variants in this enum
[INFO] [stderr] ...
[INFO] [stderr] 18 |     SymTabEvent = 4,
[INFO] [stderr]    |     ^^^^^^^^^^^
[INFO] [stderr] 19 |     ///SYMTAB_TABLE
[INFO] [stderr] 20 |     SymTabTable = 5,
[INFO] [stderr]    |     ^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `WasmSymInfoKind` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr]    = note: `#[warn(dead_code)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: `wa1-generator` (lib) generated 13 warnings
[INFO] [stderr] warning: `wa1-generator` (lib test) generated 13 warnings (13 duplicates)
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]  --> wa1/src/build_config.rs:4:35
[INFO] [stderr]   |
[INFO] [stderr] 4 | #[derive(Debug, Clone, PartialEq, Deserialize, Serialize)]
[INFO] [stderr]   |                                   ^----------
[INFO] [stderr]   |                                   |
[INFO] [stderr]   |                                   `Deserialize` is not local
[INFO] [stderr]   |                                   move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_SourceFile`
[INFO] [stderr] 5 | pub struct SourceFile {
[INFO] [stderr]   |            ---------- `SourceFile` is not local
[INFO] [stderr]   |
[INFO] [stderr]   = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]   = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stderr]   = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]   = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]   = note: `#[warn(non_local_definitions)]` on by default
[INFO] [stderr]   = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]  --> wa1/src/build_config.rs:4:48
[INFO] [stderr]   |
[INFO] [stderr] 4 | #[derive(Debug, Clone, PartialEq, Deserialize, Serialize)]
[INFO] [stderr]   |                                                ^--------
[INFO] [stderr]   |                                                |
[INFO] [stderr]   |                                                `Serialize` is not local
[INFO] [stderr]   |                                                move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_SourceFile`
[INFO] [stderr] 5 | pub struct SourceFile {
[INFO] [stderr]   |            ---------- `SourceFile` is not local
[INFO] [stderr]   |
[INFO] [stderr]   = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]   = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stderr]   = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]   = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]   = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> wa1/src/build_config.rs:11:35
[INFO] [stderr]    |
[INFO] [stderr] 11 | #[derive(Debug, Clone, PartialEq, Deserialize, Serialize)]
[INFO] [stderr]    |                                   ^----------
[INFO] [stderr]    |                                   |
[INFO] [stderr]    |                                   `Deserialize` is not local
[INFO] [stderr]    |                                   move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_BuildConfig`
[INFO] [stderr] 12 | pub struct BuildConfig{
[INFO] [stderr]    |            ----------- `BuildConfig` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stderr]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> wa1/src/build_config.rs:11:48
[INFO] [stderr]    |
[INFO] [stderr] 11 | #[derive(Debug, Clone, PartialEq, Deserialize, Serialize)]
[INFO] [stderr]    |                                                ^--------
[INFO] [stderr]    |                                                |
[INFO] [stderr]    |                                                `Serialize` is not local
[INFO] [stderr]    |                                                move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_BuildConfig`
[INFO] [stderr] 12 | pub struct BuildConfig{
[INFO] [stderr]    |            ----------- `BuildConfig` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stderr]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: `wa1` (bin "wa1" test) generated 4 warnings
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.16s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: cranelift-codegen-meta v0.50.0, wasmtime-environ v0.8.0
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 1`
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/test_runner-3f8cdaf2f37e764e)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/wa1-aa531b4137a0e70c)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/wa1_ast-2705fde75e95f2fa)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/wa1_errs-10b46af8512769d8)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/wa1_generator-ee6eec5023356303)
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/wa1_lexer-5c3a91c5215cd4d5)
[INFO] [stdout] 
[INFO] [stdout] running 22 tests
[INFO] [stdout] test look_behind::test::six ... ok
[INFO] [stdout] test test::error ... ok
[INFO] [stdout] test test::locations ... ok
[INFO] [stdout] test test::look_ahead ... ok
[INFO] [stdout] test tokenizer::buffer::test::at_dec_number ... ok
[INFO] [stdout] test test::get_str ... ok
[INFO] [stdout] test tokenizer::buffer::test::at_end ... ok
[INFO] [stdout] test tokenizer::buffer::test::at_oct_number ... ok
[INFO] [stdout] test tokenizer::buffer::test::check ... ok
[INFO] [stdout] test tokenizer::buffer::test::look_ahead_matches ... ok
[INFO] [stdout] test tokenizer::test::tokenizer_bools ... ok
[INFO] [stdout] test tokenizer::test::tokenizer_comments ... ok
[INFO] [stdout] test tokenizer::test::tokenizer_strings ... ok
[INFO] [stdout] test tokenizer::test::tokenizer_template ... ok
[INFO] [stdout] test tokenizer::test::tokenizer_white_space ... ok
[INFO] [stdout] test tokenizer::test::tokenizer_idents ... ok
[INFO] [stdout] test tokenizer::test::tokenizer_number ... ok
[INFO] [stdout] test test::tok_scanner ... FAILED
[INFO] [stdout] test tokenizer::test::tokenizer_keyword ... FAILED
[INFO] [stdout] test test::tokenizer ... FAILED
[INFO] [stdout] test tokenizer::test::tokenizer_null ... FAILED
[INFO] [stdout] test tokenizer::test::tokenizer_punct ... FAILED
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- test::tok_scanner stdout ----
[INFO] [stdout] Punct(OpenParen), Punct(OpenParen)
[INFO] [stdout] Ident(Ident("function")), Keyword(Fn)
[INFO] [stdout] thread 'test::tok_scanner' panicked at wa1-lexer/src/lib.rs:532:13:
[INFO] [stdout] assertion `left == right` failed
[INFO] [stdout]   left: (1, Ident(Ident("function")))
[INFO] [stdout]  right: (1, Keyword(Fn))
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x575a7fe05d3a - std::backtrace_rs::backtrace::libunwind::trace::h5a5b8284f2d0c266
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/std/src/../../backtrace/src/backtrace/libunwind.rs:116:5
[INFO] [stdout]    1:     0x575a7fe05d3a - std::backtrace_rs::backtrace::trace_unsynchronized::h76d4f1c9b0b875e3
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5
[INFO] [stdout]    2:     0x575a7fe05d3a - std::sys::backtrace::_print_fmt::hc4546b8364a537c6
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/std/src/sys/backtrace.rs:66:9
[INFO] [stdout]    3:     0x575a7fe05d3a - <std::sys::backtrace::BacktraceLock::print::DisplayBacktrace as core::fmt::Display>::fmt::h5b6bd5631a6d1f6b
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/std/src/sys/backtrace.rs:39:26
[INFO] [stdout]    4:     0x575a7fe2b133 - core::fmt::rt::Argument::fmt::h270f6602a2b96f62
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/core/src/fmt/rt.rs:177:76
[INFO] [stdout]    5:     0x575a7fe2b133 - core::fmt::write::h7550c97b06c86515
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/core/src/fmt/mod.rs:1186:21
[INFO] [stdout]    6:     0x575a7fe02f03 - std::io::Write::write_fmt::h509ff860e5956e5e
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/std/src/io/mod.rs:1839:15
[INFO] [stdout]    7:     0x575a7fe05b82 - std::sys::backtrace::BacktraceLock::print::h2395ccd2c84ba3aa
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/std/src/sys/backtrace.rs:42:9
[INFO] [stderr] error: test failed, to rerun pass `-p wa1-lexer --lib`
[INFO] [stdout]    8:     0x575a7fe0719a - std::panicking::default_hook::{{closure}}::he19d4c7230e07961
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/std/src/panicking.rs:268:22
[INFO] [stdout]    9:     0x575a7fe06fa4 - std::panicking::default_hook::hf614597d3c67bbdb
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/std/src/panicking.rs:292:9
[INFO] [stdout]   10:     0x575a7fdd01a9 - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::h39b51ce4599c23d1
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/alloc/src/boxed.rs:2468:9
[INFO] [stdout]   11:     0x575a7fdd01a9 - test::test_main::{{closure}}::he977ae839a582784
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/test/src/lib.rs:133:21
[INFO] [stdout]   12:     0x575a7fe07838 - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::h9455091b6b06f9fb
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/alloc/src/boxed.rs:2468:9
[INFO] [stdout]   13:     0x575a7fe07838 - std::panicking::rust_panic_with_hook::h8942133a8b252070
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/std/src/panicking.rs:809:13
[INFO] [stdout]   14:     0x575a7fe075fa - std::panicking::begin_panic_handler::{{closure}}::hb5f5963570096b29
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/std/src/panicking.rs:674:13
[INFO] [stdout]   15:     0x575a7fe06219 - std::sys::backtrace::__rust_end_short_backtrace::h6208cedc1922feda
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/std/src/sys/backtrace.rs:170:18
[INFO] [stdout]   16:     0x575a7fe0728c - rust_begin_unwind
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/std/src/panicking.rs:665:5
[INFO] [stdout]   17:     0x575a7fd67a60 - core::panicking::panic_fmt::h0c3082644d1bf418
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/core/src/panicking.rs:74:14
[INFO] [stdout]   18:     0x575a7fd67e2b - core::panicking::assert_failed_inner::h2ddf1fcc067fa858
[INFO] [stdout]   19:     0x575a7fd825ac - core::panicking::assert_failed::hff5a4e7ad200da30
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/core/src/panicking.rs:367:5
[INFO] [stdout]   20:     0x575a7fd88058 - wa1_lexer::test::validate::h0cd6d91a55504e21
[INFO] [stdout]                                at /opt/rustwide/workdir/wa1-lexer/src/lib.rs:532:13
[INFO] [stdout]   21:     0x575a7fd894d0 - wa1_lexer::test::tok_scanner::h23f495287cd37667
[INFO] [stdout]                                at /opt/rustwide/workdir/wa1-lexer/src/lib.rs:512:9
[INFO] [stdout]   22:     0x575a7fd88c07 - wa1_lexer::test::tok_scanner::{{closure}}::hfab5aae06b590d80
[INFO] [stdout]                                at /opt/rustwide/workdir/wa1-lexer/src/lib.rs:480:21
[INFO] [stdout]   23:     0x575a7fd8ba96 - core::ops::function::FnOnce::call_once::h988114cd0747524f
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   24:     0x575a7fdd4b6b - core::ops::function::FnOnce::call_once::h109cf8051a59b34e
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   25:     0x575a7fdd4b6b - test::__rust_begin_short_backtrace::hf4fff89d377446ba
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/test/src/lib.rs:621:18
[INFO] [stdout]   26:     0x575a7fdd43a7 - test::run_test_in_process::{{closure}}::h0e39181dd7ee5a43
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/test/src/lib.rs:644:60
[INFO] [stdout]   27:     0x575a7fdd43a7 - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::hc5a66a30f0bdfd1f
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/core/src/panic/unwind_safe.rs:272:9
[INFO] [stdout]   28:     0x575a7fdd43a7 - std::panicking::try::do_call::h873b7cf639554a5e
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/std/src/panicking.rs:557:40
[INFO] [stdout]   29:     0x575a7fdd43a7 - std::panicking::try::hdb19862fad9c8bd1
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/std/src/panicking.rs:520:19
[INFO] [stdout]   30:     0x575a7fdd43a7 - std::panic::catch_unwind::h281fe732d236d260
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/std/src/panic.rs:358:14
[INFO] [stdout]   31:     0x575a7fdd43a7 - test::run_test_in_process::h949b6df8457ed338
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/test/src/lib.rs:644:27
[INFO] [stdout]   32:     0x575a7fdd43a7 - test::run_test::{{closure}}::h52c556a6d4740e10
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/test/src/lib.rs:565:43
[INFO] [stdout]   33:     0x575a7fd99684 - test::run_test::{{closure}}::h4237f6381c45ccb9
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/test/src/lib.rs:595:41
[INFO] [stdout]   34:     0x575a7fd99684 - std::sys::backtrace::__rust_begin_short_backtrace::h505c97a579eca628
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/std/src/sys/backtrace.rs:154:18
[INFO] [stdout]   35:     0x575a7fd9cd4e - std::thread::Builder::spawn_unchecked_::{{closure}}::{{closure}}::h9e86b2e2bc107ea3
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/std/src/thread/mod.rs:538:17
[INFO] [stdout]   36:     0x575a7fd9cd4e - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::h8b06ddb275ff4a25
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/core/src/panic/unwind_safe.rs:272:9
[INFO] [stdout]   37:     0x575a7fd9cd4e - std::panicking::try::do_call::hb26ecd7cd9a9355d
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/std/src/panicking.rs:557:40
[INFO] [stdout]   38:     0x575a7fd9cd4e - std::panicking::try::h8ddeca9d705f9069
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/std/src/panicking.rs:520:19
[INFO] [stdout]   39:     0x575a7fd9cd4e - std::panic::catch_unwind::h49e1c33078844c46
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/std/src/panic.rs:358:14
[INFO] [stdout]   40:     0x575a7fd9cd4e - std::thread::Builder::spawn_unchecked_::{{closure}}::h6073db6ff56ad35d
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/std/src/thread/mod.rs:537:30
[INFO] [stdout]   41:     0x575a7fd9cd4e - core::ops::function::FnOnce::call_once{{vtable.shim}}::h2c5a5f3779c774f1
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   42:     0x575a7fe0b58b - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::hf75717d9f28faebf
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/alloc/src/boxed.rs:2454:9
[INFO] [stdout]   43:     0x575a7fe0b58b - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h7bd883a5f3c5f3c1
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/alloc/src/boxed.rs:2454:9
[INFO] [stdout]   44:     0x575a7fe0b58b - std::sys::pal::unix::thread::Thread::new::thread_start::hcc78f3943333fa94
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/std/src/sys/pal/unix/thread.rs:105:17
[INFO] [stdout]   45:     0x702612092ac3 - <unknown>
[INFO] [stdout]   46:     0x702612123a04 - clone
[INFO] [stdout]   47:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- tokenizer::test::tokenizer_keyword stdout ----
[INFO] [stdout] thread 'tokenizer::test::tokenizer_keyword' panicked at wa1-lexer/src/tokenizer/mod.rs:1219:22:
[INFO] [stdout] function was not parsed as a keyword
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x575a7fe05d3a - std::backtrace_rs::backtrace::libunwind::trace::h5a5b8284f2d0c266
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/std/src/../../backtrace/src/backtrace/libunwind.rs:116:5
[INFO] [stdout]    1:     0x575a7fe05d3a - std::backtrace_rs::backtrace::trace_unsynchronized::h76d4f1c9b0b875e3
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5
[INFO] [stdout]    2:     0x575a7fe05d3a - std::sys::backtrace::_print_fmt::hc4546b8364a537c6
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/std/src/sys/backtrace.rs:66:9
[INFO] [stdout]    3:     0x575a7fe05d3a - <std::sys::backtrace::BacktraceLock::print::DisplayBacktrace as core::fmt::Display>::fmt::h5b6bd5631a6d1f6b
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/std/src/sys/backtrace.rs:39:26
[INFO] [stdout]    4:     0x575a7fe2b133 - core::fmt::rt::Argument::fmt::h270f6602a2b96f62
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/core/src/fmt/rt.rs:177:76
[INFO] [stdout]    5:     0x575a7fe2b133 - core::fmt::write::h7550c97b06c86515
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/core/src/fmt/mod.rs:1186:21
[INFO] [stdout]    6:     0x575a7fe02f03 - std::io::Write::write_fmt::h509ff860e5956e5e
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/std/src/io/mod.rs:1839:15
[INFO] [stdout]    7:     0x575a7fe05b82 - std::sys::backtrace::BacktraceLock::print::h2395ccd2c84ba3aa
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/std/src/sys/backtrace.rs:42:9
[INFO] [stdout]    8:     0x575a7fe0719a - std::panicking::default_hook::{{closure}}::he19d4c7230e07961
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/std/src/panicking.rs:268:22
[INFO] [stdout]    9:     0x575a7fe06fa4 - std::panicking::default_hook::hf614597d3c67bbdb
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/std/src/panicking.rs:292:9
[INFO] [stdout]   10:     0x575a7fdd01a9 - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::h39b51ce4599c23d1
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/alloc/src/boxed.rs:2468:9
[INFO] [stdout]   11:     0x575a7fdd01a9 - test::test_main::{{closure}}::he977ae839a582784
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/test/src/lib.rs:133:21
[INFO] [stdout]   12:     0x575a7fe07838 - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::h9455091b6b06f9fb
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/alloc/src/boxed.rs:2468:9
[INFO] [stdout]   13:     0x575a7fe07838 - std::panicking::rust_panic_with_hook::h8942133a8b252070
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/std/src/panicking.rs:809:13
[INFO] [stdout]   14:     0x575a7fe075fa - std::panicking::begin_panic_handler::{{closure}}::hb5f5963570096b29
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/std/src/panicking.rs:674:13
[INFO] [stdout]   15:     0x575a7fe06219 - std::sys::backtrace::__rust_end_short_backtrace::h6208cedc1922feda
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/std/src/sys/backtrace.rs:170:18
[INFO] [stdout]   16:     0x575a7fe0728c - rust_begin_unwind
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/std/src/panicking.rs:665:5
[INFO] [stdout]   17:     0x575a7fd67a60 - core::panicking::panic_fmt::h0c3082644d1bf418
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/core/src/panicking.rs:74:14
[INFO] [stdout]   18:     0x575a7fd90c3f - wa1_lexer::tokenizer::test::tokenizer_keyword::h40d2cd643ab0a027
[INFO] [stdout]                                at /opt/rustwide/workdir/wa1-lexer/src/tokenizer/mod.rs:1219:22
[INFO] [stdout]   19:     0x575a7fd90987 - wa1_lexer::tokenizer::test::tokenizer_keyword::{{closure}}::hfce2ad3f36fdcdf7
[INFO] [stdout]                                at /opt/rustwide/workdir/wa1-lexer/src/tokenizer/mod.rs:1171:27
[INFO] [stdout]   20:     0x575a7fd8bba6 - core::ops::function::FnOnce::call_once::hc872c4bec82ca103
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   21:     0x575a7fdd4b6b - core::ops::function::FnOnce::call_once::h109cf8051a59b34e
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   22:     0x575a7fdd4b6b - test::__rust_begin_short_backtrace::hf4fff89d377446ba
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/test/src/lib.rs:621:18
[INFO] [stdout]   23:     0x575a7fdd43a7 - test::run_test_in_process::{{closure}}::h0e39181dd7ee5a43
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/test/src/lib.rs:644:60
[INFO] [stdout]   24:     0x575a7fdd43a7 - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::hc5a66a30f0bdfd1f
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/core/src/panic/unwind_safe.rs:272:9
[INFO] [stdout]   25:     0x575a7fdd43a7 - std::panicking::try::do_call::h873b7cf639554a5e
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/std/src/panicking.rs:557:40
[INFO] [stdout]   26:     0x575a7fdd43a7 - std::panicking::try::hdb19862fad9c8bd1
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/std/src/panicking.rs:520:19
[INFO] [stdout]   27:     0x575a7fdd43a7 - std::panic::catch_unwind::h281fe732d236d260
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/std/src/panic.rs:358:14
[INFO] [stdout]   28:     0x575a7fdd43a7 - test::run_test_in_process::h949b6df8457ed338
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/test/src/lib.rs:644:27
[INFO] [stdout]   29:     0x575a7fdd43a7 - test::run_test::{{closure}}::h52c556a6d4740e10
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/test/src/lib.rs:565:43
[INFO] [stdout]   30:     0x575a7fd99684 - test::run_test::{{closure}}::h4237f6381c45ccb9
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/test/src/lib.rs:595:41
[INFO] [stdout]   31:     0x575a7fd99684 - std::sys::backtrace::__rust_begin_short_backtrace::h505c97a579eca628
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/std/src/sys/backtrace.rs:154:18
[INFO] [stdout]   32:     0x575a7fd9cd4e - std::thread::Builder::spawn_unchecked_::{{closure}}::{{closure}}::h9e86b2e2bc107ea3
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/std/src/thread/mod.rs:538:17
[INFO] [stdout]   33:     0x575a7fd9cd4e - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::h8b06ddb275ff4a25
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/core/src/panic/unwind_safe.rs:272:9
[INFO] [stdout]   34:     0x575a7fd9cd4e - std::panicking::try::do_call::hb26ecd7cd9a9355d
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/std/src/panicking.rs:557:40
[INFO] [stdout]   35:     0x575a7fd9cd4e - std::panicking::try::h8ddeca9d705f9069
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/std/src/panicking.rs:520:19
[INFO] [stdout]   36:     0x575a7fd9cd4e - std::panic::catch_unwind::h49e1c33078844c46
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/std/src/panic.rs:358:14
[INFO] [stdout]   37:     0x575a7fd9cd4e - std::thread::Builder::spawn_unchecked_::{{closure}}::h6073db6ff56ad35d
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/std/src/thread/mod.rs:537:30
[INFO] [stdout]   38:     0x575a7fd9cd4e - core::ops::function::FnOnce::call_once{{vtable.shim}}::h2c5a5f3779c774f1
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   39:     0x575a7fe0b58b - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::hf75717d9f28faebf
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/alloc/src/boxed.rs:2454:9
[INFO] [stdout]   40:     0x575a7fe0b58b - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h7bd883a5f3c5f3c1
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/alloc/src/boxed.rs:2454:9
[INFO] [stdout]   41:     0x575a7fe0b58b - std::sys::pal::unix::thread::Thread::new::thread_start::hcc78f3943333fa94
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/std/src/sys/pal/unix/thread.rs:105:17
[INFO] [stdout]   42:     0x702612092ac3 - <unknown>
[INFO] [stdout]   43:     0x702612123a04 - clone
[INFO] [stdout]   44:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- test::tokenizer stdout ----
[INFO] [stdout] thread 'test::tokenizer' panicked at wa1-lexer/src/lib.rs:475:13:
[INFO] [stdout] assertion `left == right` failed
[INFO] [stdout]   left: Ident(Ident("function"))
[INFO] [stdout]  right: Keyword(Fn)
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x575a7fe05d3a - std::backtrace_rs::backtrace::libunwind::trace::h5a5b8284f2d0c266
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/std/src/../../backtrace/src/backtrace/libunwind.rs:116:5
[INFO] [stdout]    1:     0x575a7fe05d3a - std::backtrace_rs::backtrace::trace_unsynchronized::h76d4f1c9b0b875e3
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5
[INFO] [stdout]    2:     0x575a7fe05d3a - std::sys::backtrace::_print_fmt::hc4546b8364a537c6
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/std/src/sys/backtrace.rs:66:9
[INFO] [stdout]    3:     0x575a7fe05d3a - <std::sys::backtrace::BacktraceLock::print::DisplayBacktrace as core::fmt::Display>::fmt::h5b6bd5631a6d1f6b
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/std/src/sys/backtrace.rs:39:26
[INFO] [stdout]    4:     0x575a7fe2b133 - core::fmt::rt::Argument::fmt::h270f6602a2b96f62
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/core/src/fmt/rt.rs:177:76
[INFO] [stdout]    5:     0x575a7fe2b133 - core::fmt::write::h7550c97b06c86515
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/core/src/fmt/mod.rs:1186:21
[INFO] [stdout]    6:     0x575a7fe02f03 - std::io::Write::write_fmt::h509ff860e5956e5e
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/std/src/io/mod.rs:1839:15
[INFO] [stdout]    7:     0x575a7fe05b82 - std::sys::backtrace::BacktraceLock::print::h2395ccd2c84ba3aa
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/std/src/sys/backtrace.rs:42:9
[INFO] [stdout]    8:     0x575a7fe0719a - std::panicking::default_hook::{{closure}}::he19d4c7230e07961
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/std/src/panicking.rs:268:22
[INFO] [stdout]    9:     0x575a7fe06fa4 - std::panicking::default_hook::hf614597d3c67bbdb
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/std/src/panicking.rs:292:9
[INFO] [stdout]   10:     0x575a7fdd01a9 - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::h39b51ce4599c23d1
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/alloc/src/boxed.rs:2468:9
[INFO] [stdout]   11:     0x575a7fdd01a9 - test::test_main::{{closure}}::he977ae839a582784
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/test/src/lib.rs:133:21
[INFO] [stdout]   12:     0x575a7fe07838 - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::h9455091b6b06f9fb
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/alloc/src/boxed.rs:2468:9
[INFO] [stdout]   13:     0x575a7fe07838 - std::panicking::rust_panic_with_hook::h8942133a8b252070
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/std/src/panicking.rs:809:13
[INFO] [stdout]   14:     0x575a7fe075fa - std::panicking::begin_panic_handler::{{closure}}::hb5f5963570096b29
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/std/src/panicking.rs:674:13
[INFO] [stdout]   15:     0x575a7fe06219 - std::sys::backtrace::__rust_end_short_backtrace::h6208cedc1922feda
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/std/src/sys/backtrace.rs:170:18
[INFO] [stdout]   16:     0x575a7fe0728c - rust_begin_unwind
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/std/src/panicking.rs:665:5
[INFO] [stdout]   17:     0x575a7fd67a60 - core::panicking::panic_fmt::h0c3082644d1bf418
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/core/src/panicking.rs:74:14
[INFO] [stdout]   18:     0x575a7fd67e2b - core::panicking::assert_failed_inner::h2ddf1fcc067fa858
[INFO] [stdout]   19:     0x575a7fd82476 - core::panicking::assert_failed::h643d8e9d4729afa8
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/core/src/panicking.rs:367:5
[INFO] [stdout]   20:     0x575a7fd88bb3 - wa1_lexer::test::tokenizer::hab393a9a5716a78e
[INFO] [stdout]                                at /opt/rustwide/workdir/wa1-lexer/src/lib.rs:475:13
[INFO] [stdout]   21:     0x575a7fd880a7 - wa1_lexer::test::tokenizer::{{closure}}::h7e3862da741f7427
[INFO] [stdout]                                at /opt/rustwide/workdir/wa1-lexer/src/lib.rs:445:19
[INFO] [stdout]   22:     0x575a7fd8b956 - core::ops::function::FnOnce::call_once::h6b4c9bbeff168ab3
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   23:     0x575a7fdd4b6b - core::ops::function::FnOnce::call_once::h109cf8051a59b34e
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   24:     0x575a7fdd4b6b - test::__rust_begin_short_backtrace::hf4fff89d377446ba
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/test/src/lib.rs:621:18
[INFO] [stdout]   25:     0x575a7fdd43a7 - test::run_test_in_process::{{closure}}::h0e39181dd7ee5a43
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/test/src/lib.rs:644:60
[INFO] [stdout]   26:     0x575a7fdd43a7 - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::hc5a66a30f0bdfd1f
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/core/src/panic/unwind_safe.rs:272:9
[INFO] [stdout]   27:     0x575a7fdd43a7 - std::panicking::try::do_call::h873b7cf639554a5e
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/std/src/panicking.rs:557:40
[INFO] [stdout]   28:     0x575a7fdd43a7 - std::panicking::try::hdb19862fad9c8bd1
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/std/src/panicking.rs:520:19
[INFO] [stdout]   29:     0x575a7fdd43a7 - std::panic::catch_unwind::h281fe732d236d260
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/std/src/panic.rs:358:14
[INFO] [stdout]   30:     0x575a7fdd43a7 - test::run_test_in_process::h949b6df8457ed338
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/test/src/lib.rs:644:27
[INFO] [stdout]   31:     0x575a7fdd43a7 - test::run_test::{{closure}}::h52c556a6d4740e10
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/test/src/lib.rs:565:43
[INFO] [stdout]   32:     0x575a7fd99684 - test::run_test::{{closure}}::h4237f6381c45ccb9
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/test/src/lib.rs:595:41
[INFO] [stdout]   33:     0x575a7fd99684 - std::sys::backtrace::__rust_begin_short_backtrace::h505c97a579eca628
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/std/src/sys/backtrace.rs:154:18
[INFO] [stdout]   34:     0x575a7fd9cd4e - std::thread::Builder::spawn_unchecked_::{{closure}}::{{closure}}::h9e86b2e2bc107ea3
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/std/src/thread/mod.rs:538:17
[INFO] [stdout]   35:     0x575a7fd9cd4e - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::h8b06ddb275ff4a25
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/core/src/panic/unwind_safe.rs:272:9
[INFO] [stdout]   36:     0x575a7fd9cd4e - std::panicking::try::do_call::hb26ecd7cd9a9355d
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/std/src/panicking.rs:557:40
[INFO] [stdout]   37:     0x575a7fd9cd4e - std::panicking::try::h8ddeca9d705f9069
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/std/src/panicking.rs:520:19
[INFO] [stdout]   38:     0x575a7fd9cd4e - std::panic::catch_unwind::h49e1c33078844c46
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/std/src/panic.rs:358:14
[INFO] [stdout]   39:     0x575a7fd9cd4e - std::thread::Builder::spawn_unchecked_::{{closure}}::h6073db6ff56ad35d
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/std/src/thread/mod.rs:537:30
[INFO] [stdout]   40:     0x575a7fd9cd4e - core::ops::function::FnOnce::call_once{{vtable.shim}}::h2c5a5f3779c774f1
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   41:     0x575a7fe0b58b - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::hf75717d9f28faebf
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/alloc/src/boxed.rs:2454:9
[INFO] [stdout]   42:     0x575a7fe0b58b - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h7bd883a5f3c5f3c1
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/alloc/src/boxed.rs:2454:9
[INFO] [stdout]   43:     0x575a7fe0b58b - std::sys::pal::unix::thread::Thread::new::thread_start::hcc78f3943333fa94
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/std/src/sys/pal/unix/thread.rs:105:17
[INFO] [stdout]   44:     0x702612092ac3 - <unknown>
[INFO] [stdout]   45:     0x702612123a04 - clone
[INFO] [stdout]   46:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- tokenizer::test::tokenizer_null stdout ----
[INFO] [stdout] thread 'tokenizer::test::tokenizer_null' panicked at wa1-lexer/src/tokenizer/mod.rs:1166:9:
[INFO] [stdout] assertion `left == right` failed
[INFO] [stdout]   left: Ident
[INFO] [stdout]  right: Null
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x575a7fe05d3a - std::backtrace_rs::backtrace::libunwind::trace::h5a5b8284f2d0c266
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/std/src/../../backtrace/src/backtrace/libunwind.rs:116:5
[INFO] [stdout]    1:     0x575a7fe05d3a - std::backtrace_rs::backtrace::trace_unsynchronized::h76d4f1c9b0b875e3
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5
[INFO] [stdout]    2:     0x575a7fe05d3a - std::sys::backtrace::_print_fmt::hc4546b8364a537c6
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/std/src/sys/backtrace.rs:66:9
[INFO] [stdout]    3:     0x575a7fe05d3a - <std::sys::backtrace::BacktraceLock::print::DisplayBacktrace as core::fmt::Display>::fmt::h5b6bd5631a6d1f6b
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/std/src/sys/backtrace.rs:39:26
[INFO] [stdout]    4:     0x575a7fe2b133 - core::fmt::rt::Argument::fmt::h270f6602a2b96f62
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/core/src/fmt/rt.rs:177:76
[INFO] [stdout]    5:     0x575a7fe2b133 - core::fmt::write::h7550c97b06c86515
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/core/src/fmt/mod.rs:1186:21
[INFO] [stdout]    6:     0x575a7fe02f03 - std::io::Write::write_fmt::h509ff860e5956e5e
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/std/src/io/mod.rs:1839:15
[INFO] [stdout]    7:     0x575a7fe05b82 - std::sys::backtrace::BacktraceLock::print::h2395ccd2c84ba3aa
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/std/src/sys/backtrace.rs:42:9
[INFO] [stdout]    8:     0x575a7fe0719a - std::panicking::default_hook::{{closure}}::he19d4c7230e07961
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/std/src/panicking.rs:268:22
[INFO] [stdout]    9:     0x575a7fe06fa4 - std::panicking::default_hook::hf614597d3c67bbdb
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/std/src/panicking.rs:292:9
[INFO] [stdout]   10:     0x575a7fdd01a9 - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::h39b51ce4599c23d1
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/alloc/src/boxed.rs:2468:9
[INFO] [stdout]   11:     0x575a7fdd01a9 - test::test_main::{{closure}}::he977ae839a582784
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/test/src/lib.rs:133:21
[INFO] [stdout]   12:     0x575a7fe07838 - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::h9455091b6b06f9fb
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/alloc/src/boxed.rs:2468:9
[INFO] [stdout]   13:     0x575a7fe07838 - std::panicking::rust_panic_with_hook::h8942133a8b252070
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/std/src/panicking.rs:809:13
[INFO] [stdout]   14:     0x575a7fe075fa - std::panicking::begin_panic_handler::{{closure}}::hb5f5963570096b29
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/std/src/panicking.rs:674:13
[INFO] [stdout]   15:     0x575a7fe06219 - std::sys::backtrace::__rust_end_short_backtrace::h6208cedc1922feda
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/std/src/sys/backtrace.rs:170:18
[INFO] [stdout]   16:     0x575a7fe0728c - rust_begin_unwind
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/std/src/panicking.rs:665:5
[INFO] [stdout]   17:     0x575a7fd67a60 - core::panicking::panic_fmt::h0c3082644d1bf418
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/core/src/panicking.rs:74:14
[INFO] [stdout]   18:     0x575a7fd67e2b - core::panicking::assert_failed_inner::h2ddf1fcc067fa858
[INFO] [stdout]   19:     0x575a7fd82530 - core::panicking::assert_failed::hdd1151141705a8bb
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/core/src/panicking.rs:367:5
[INFO] [stdout]   20:     0x575a7fd90908 - wa1_lexer::tokenizer::test::tokenizer_null::h0cb2c6a9f9c99c5d
[INFO] [stdout]                                at /opt/rustwide/workdir/wa1-lexer/src/tokenizer/mod.rs:1166:9
[INFO] [stdout]   21:     0x575a7fd90747 - wa1_lexer::tokenizer::test::tokenizer_null::{{closure}}::h0a14faf9d1cf162e
[INFO] [stdout]                                at /opt/rustwide/workdir/wa1-lexer/src/tokenizer/mod.rs:1163:24
[INFO] [stdout]   22:     0x575a7fd8b816 - core::ops::function::FnOnce::call_once::h378e6326eb951962
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   23:     0x575a7fdd4b6b - core::ops::function::FnOnce::call_once::h109cf8051a59b34e
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   24:     0x575a7fdd4b6b - test::__rust_begin_short_backtrace::hf4fff89d377446ba
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/test/src/lib.rs:621:18
[INFO] [stdout]   25:     0x575a7fdd43a7 - test::run_test_in_process::{{closure}}::h0e39181dd7ee5a43
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/test/src/lib.rs:644:60
[INFO] [stdout]   26:     0x575a7fdd43a7 - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::hc5a66a30f0bdfd1f
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/core/src/panic/unwind_safe.rs:272:9
[INFO] [stdout]   27:     0x575a7fdd43a7 - std::panicking::try::do_call::h873b7cf639554a5e
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/std/src/panicking.rs:557:40
[INFO] [stdout]   28:     0x575a7fdd43a7 - std::panicking::try::hdb19862fad9c8bd1
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/std/src/panicking.rs:520:19
[INFO] [stdout]   29:     0x575a7fdd43a7 - std::panic::catch_unwind::h281fe732d236d260
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/std/src/panic.rs:358:14
[INFO] [stdout]   30:     0x575a7fdd43a7 - test::run_test_in_process::h949b6df8457ed338
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/test/src/lib.rs:644:27
[INFO] [stdout]   31:     0x575a7fdd43a7 - test::run_test::{{closure}}::h52c556a6d4740e10
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/test/src/lib.rs:565:43
[INFO] [stdout]   32:     0x575a7fd99684 - test::run_test::{{closure}}::h4237f6381c45ccb9
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/test/src/lib.rs:595:41
[INFO] [stdout]   33:     0x575a7fd99684 - std::sys::backtrace::__rust_begin_short_backtrace::h505c97a579eca628
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/std/src/sys/backtrace.rs:154:18
[INFO] [stdout]   34:     0x575a7fd9cd4e - std::thread::Builder::spawn_unchecked_::{{closure}}::{{closure}}::h9e86b2e2bc107ea3
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/std/src/thread/mod.rs:538:17
[INFO] [stdout]   35:     0x575a7fd9cd4e - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::h8b06ddb275ff4a25
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/core/src/panic/unwind_safe.rs:272:9
[INFO] [stdout]   36:     0x575a7fd9cd4e - std::panicking::try::do_call::hb26ecd7cd9a9355d
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/std/src/panicking.rs:557:40
[INFO] [stdout]   37:     0x575a7fd9cd4e - std::panicking::try::h8ddeca9d705f9069
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/std/src/panicking.rs:520:19
[INFO] [stdout]   38:     0x575a7fd9cd4e - std::panic::catch_unwind::h49e1c33078844c46
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/std/src/panic.rs:358:14
[INFO] [stdout]   39:     0x575a7fd9cd4e - std::thread::Builder::spawn_unchecked_::{{closure}}::h6073db6ff56ad35d
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/std/src/thread/mod.rs:537:30
[INFO] [stdout]   40:     0x575a7fd9cd4e - core::ops::function::FnOnce::call_once{{vtable.shim}}::h2c5a5f3779c774f1
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   41:     0x575a7fe0b58b - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::hf75717d9f28faebf
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/alloc/src/boxed.rs:2454:9
[INFO] [stdout]   42:     0x575a7fe0b58b - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h7bd883a5f3c5f3c1
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/alloc/src/boxed.rs:2454:9
[INFO] [stdout]   43:     0x575a7fe0b58b - std::sys::pal::unix::thread::Thread::new::thread_start::hcc78f3943333fa94
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/std/src/sys/pal/unix/thread.rs:105:17
[INFO] [stdout]   44:     0x702612092ac3 - <unknown>
[INFO] [stdout]   45:     0x702612123a04 - clone
[INFO] [stdout]   46:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- tokenizer::test::tokenizer_punct stdout ----
[INFO] [stdout] thread 'tokenizer::test::tokenizer_punct' panicked at wa1-lexer/src/tokenizer/mod.rs:958:13:
[INFO] [stdout] assertion failed: t.stream.at_end()
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x575a7fe05d3a - std::backtrace_rs::backtrace::libunwind::trace::h5a5b8284f2d0c266
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/std/src/../../backtrace/src/backtrace/libunwind.rs:116:5
[INFO] [stdout]    1:     0x575a7fe05d3a - std::backtrace_rs::backtrace::trace_unsynchronized::h76d4f1c9b0b875e3
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5
[INFO] [stdout]    2:     0x575a7fe05d3a - std::sys::backtrace::_print_fmt::hc4546b8364a537c6
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/std/src/sys/backtrace.rs:66:9
[INFO] [stdout]    3:     0x575a7fe05d3a - <std::sys::backtrace::BacktraceLock::print::DisplayBacktrace as core::fmt::Display>::fmt::h5b6bd5631a6d1f6b
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/std/src/sys/backtrace.rs:39:26
[INFO] [stdout]    4:     0x575a7fe2b133 - core::fmt::rt::Argument::fmt::h270f6602a2b96f62
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/core/src/fmt/rt.rs:177:76
[INFO] [stdout]    5:     0x575a7fe2b133 - core::fmt::write::h7550c97b06c86515
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/core/src/fmt/mod.rs:1186:21
[INFO] [stdout]    6:     0x575a7fe02f03 - std::io::Write::write_fmt::h509ff860e5956e5e
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/std/src/io/mod.rs:1839:15
[INFO] [stdout]    7:     0x575a7fe05b82 - std::sys::backtrace::BacktraceLock::print::h2395ccd2c84ba3aa
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/std/src/sys/backtrace.rs:42:9
[INFO] [stdout]    8:     0x575a7fe0719a - std::panicking::default_hook::{{closure}}::he19d4c7230e07961
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/std/src/panicking.rs:268:22
[INFO] [stdout]    9:     0x575a7fe06fa4 - std::panicking::default_hook::hf614597d3c67bbdb
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/std/src/panicking.rs:292:9
[INFO] [stdout]   10:     0x575a7fdd01a9 - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::h39b51ce4599c23d1
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/alloc/src/boxed.rs:2468:9
[INFO] [stdout]   11:     0x575a7fdd01a9 - test::test_main::{{closure}}::he977ae839a582784
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/test/src/lib.rs:133:21
[INFO] [stdout]   12:     0x575a7fe07838 - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::h9455091b6b06f9fb
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/alloc/src/boxed.rs:2468:9
[INFO] [stdout]   13:     0x575a7fe07838 - std::panicking::rust_panic_with_hook::h8942133a8b252070
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/std/src/panicking.rs:809:13
[INFO] [stdout]   14:     0x575a7fe075c6 - std::panicking::begin_panic_handler::{{closure}}::hb5f5963570096b29
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/std/src/panicking.rs:667:13
[INFO] [stdout]   15:     0x575a7fe06219 - std::sys::backtrace::__rust_end_short_backtrace::h6208cedc1922feda
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/std/src/sys/backtrace.rs:170:18
[INFO] [stdout]   16:     0x575a7fe0728c - rust_begin_unwind
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/std/src/panicking.rs:665:5
[INFO] [stdout]   17:     0x575a7fd67a60 - core::panicking::panic_fmt::h0c3082644d1bf418
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/core/src/panicking.rs:74:14
[INFO] [stdout]   18:     0x575a7fd67aec - core::panicking::panic::h957f98c65a3b3074
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/core/src/panicking.rs:148:5
[INFO] [stdout]   19:     0x575a7fd8e442 - wa1_lexer::tokenizer::test::tokenizer_punct::h6988e2022e7c6c32
[INFO] [stdout]                                at /opt/rustwide/workdir/wa1-lexer/src/tokenizer/mod.rs:958:13
[INFO] [stdout]   20:     0x575a7fd8e227 - wa1_lexer::tokenizer::test::tokenizer_punct::{{closure}}::h431342cd945621ae
[INFO] [stdout]                                at /opt/rustwide/workdir/wa1-lexer/src/tokenizer/mod.rs:946:25
[INFO] [stdout]   21:     0x575a7fd8bb26 - core::ops::function::FnOnce::call_once::ha712f90b48b73dec
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   22:     0x575a7fdd4b6b - core::ops::function::FnOnce::call_once::h109cf8051a59b34e
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   23:     0x575a7fdd4b6b - test::__rust_begin_short_backtrace::hf4fff89d377446ba
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/test/src/lib.rs:621:18
[INFO] [stdout]   24:     0x575a7fdd43a7 - test::run_test_in_process::{{closure}}::h0e39181dd7ee5a43
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/test/src/lib.rs:644:60
[INFO] [stdout]   25:     0x575a7fdd43a7 - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::hc5a66a30f0bdfd1f
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/core/src/panic/unwind_safe.rs:272:9
[INFO] [stdout]   26:     0x575a7fdd43a7 - std::panicking::try::do_call::h873b7cf639554a5e
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/std/src/panicking.rs:557:40
[INFO] [stdout]   27:     0x575a7fdd43a7 - std::panicking::try::hdb19862fad9c8bd1
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/std/src/panicking.rs:520:19
[INFO] [stdout]   28:     0x575a7fdd43a7 - std::panic::catch_unwind::h281fe732d236d260
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/std/src/panic.rs:358:14
[INFO] [stdout]   29:     0x575a7fdd43a7 - test::run_test_in_process::h949b6df8457ed338
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/test/src/lib.rs:644:27
[INFO] [stdout]   30:     0x575a7fdd43a7 - test::run_test::{{closure}}::h52c556a6d4740e10
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/test/src/lib.rs:565:43
[INFO] [stdout]   31:     0x575a7fd99684 - test::run_test::{{closure}}::h4237f6381c45ccb9
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/test/src/lib.rs:595:41
[INFO] [stdout]   32:     0x575a7fd99684 - std::sys::backtrace::__rust_begin_short_backtrace::h505c97a579eca628
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/std/src/sys/backtrace.rs:154:18
[INFO] [stdout]   33:     0x575a7fd9cd4e - std::thread::Builder::spawn_unchecked_::{{closure}}::{{closure}}::h9e86b2e2bc107ea3
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/std/src/thread/mod.rs:538:17
[INFO] [stdout]   34:     0x575a7fd9cd4e - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::h8b06ddb275ff4a25
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/core/src/panic/unwind_safe.rs:272:9
[INFO] [stdout]   35:     0x575a7fd9cd4e - std::panicking::try::do_call::hb26ecd7cd9a9355d
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/std/src/panicking.rs:557:40
[INFO] [stdout]   36:     0x575a7fd9cd4e - std::panicking::try::h8ddeca9d705f9069
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/std/src/panicking.rs:520:19
[INFO] [stdout]   37:     0x575a7fd9cd4e - std::panic::catch_unwind::h49e1c33078844c46
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/std/src/panic.rs:358:14
[INFO] [stdout]   38:     0x575a7fd9cd4e - std::thread::Builder::spawn_unchecked_::{{closure}}::h6073db6ff56ad35d
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/std/src/thread/mod.rs:537:30
[INFO] [stdout]   39:     0x575a7fd9cd4e - core::ops::function::FnOnce::call_once{{vtable.shim}}::h2c5a5f3779c774f1
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   40:     0x575a7fe0b58b - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::hf75717d9f28faebf
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/alloc/src/boxed.rs:2454:9
[INFO] [stdout]   41:     0x575a7fe0b58b - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h7bd883a5f3c5f3c1
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/alloc/src/boxed.rs:2454:9
[INFO] [stdout]   42:     0x575a7fe0b58b - std::sys::pal::unix::thread::Thread::new::thread_start::hcc78f3943333fa94
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/std/src/sys/pal/unix/thread.rs:105:17
[INFO] [stdout]   43:     0x702612092ac3 - <unknown>
[INFO] [stdout]   44:     0x702612123a04 - clone
[INFO] [stdout]   45:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     test::tok_scanner
[INFO] [stdout]     test::tokenizer
[INFO] [stdout]     tokenizer::test::tokenizer_keyword
[INFO] [stdout]     tokenizer::test::tokenizer_null
[INFO] [stdout]     tokenizer::test::tokenizer_punct
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 17 passed; 5 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.03s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "8b74c996c89371d1e37d2bcabc49e9cc38515cd607bca2e1fe8a7be0ddafa824", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "8b74c996c89371d1e37d2bcabc49e9cc38515cd607bca2e1fe8a7be0ddafa824", kill_on_drop: false }`
[INFO] [stdout] 8b74c996c89371d1e37d2bcabc49e9cc38515cd607bca2e1fe8a7be0ddafa824
