[INFO] fetching crate elm_rs 0.2.3...
[INFO] testing elm_rs-0.2.3 against 1.100.0-beta.1+cargoflags=--release for beta-release-1.100-2
[INFO] extracting crate elm_rs 0.2.3 into /workspace/builds/worker-0-tc2/source
[INFO] started tweaking crates.io crate elm_rs 0.2.3
[INFO] removed 0 missing examples
[INFO] finished tweaking crates.io crate elm_rs 0.2.3
[INFO] tweaked toml for crates.io crate elm_rs 0.2.3 written to /workspace/builds/worker-0-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate elm_rs 0.2.3 on toolchain 1.100.0-beta.1
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.100.0-beta.1" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate elm_rs 0.2.3 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.100.0-beta.1" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,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" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:77db811e55d90add9212f6832c23229e3de5f1c1f9905e8cb07319ea15df73ac" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 09f2703829c227a5a561670393f12ab9876e02acf6b174a98de4380164cc7872
[INFO] running `Command { std: "docker" "start" "09f2703829c227a5a561670393f12ab9876e02acf6b174a98de4380164cc7872", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "09f2703829c227a5a561670393f12ab9876e02acf6b174a98de4380164cc7872", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "09f2703829c227a5a561670393f12ab9876e02acf6b174a98de4380164cc7872" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "09f2703829c227a5a561670393f12ab9876e02acf6b174a98de4380164cc7872", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-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" "-w" "/opt/rustwide/workdir" "--user" "0:0" "09f2703829c227a5a561670393f12ab9876e02acf6b174a98de4380164cc7872" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "build" "--frozen" "--message-format=json" "--release", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.93
[INFO] [stderr]    Compiling unicode-ident v1.0.17
[INFO] [stderr]    Compiling quote v1.0.38
[INFO] [stderr]    Compiling syn v2.0.98
[INFO] [stderr]    Compiling elm_rs_derive v0.2.3
[INFO] [stderr]    Compiling elm_rs v0.2.3 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `release` profile [optimized] target(s) in 4.24s
[INFO] running `Command { std: "docker" "inspect" "09f2703829c227a5a561670393f12ab9876e02acf6b174a98de4380164cc7872", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-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" "-w" "/opt/rustwide/workdir" "--user" "0:0" "09f2703829c227a5a561670393f12ab9876e02acf6b174a98de4380164cc7872" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "test" "--frozen" "--no-run" "--message-format=json" "--release", kill_on_drop: false }`
[INFO] [stderr]    Compiling serde v1.0.218
[INFO] [stderr]    Compiling serde_json v1.0.139
[INFO] [stderr]    Compiling ryu v1.0.19
[INFO] [stderr]    Compiling unescape v0.1.0
[INFO] [stderr]    Compiling serde_derive v1.0.218
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling uuid v1.15.1
[INFO] [stderr]    Compiling chrono v0.4.40
[INFO] [stderr]    Compiling elm_rs v0.2.3 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `release` profile [optimized] target(s) in 19.32s
[INFO] running `Command { std: "docker" "inspect" "09f2703829c227a5a561670393f12ab9876e02acf6b174a98de4380164cc7872", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-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" "-w" "/opt/rustwide/workdir" "--user" "0:0" "09f2703829c227a5a561670393f12ab9876e02acf6b174a98de4380164cc7872" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "test" "--frozen" "--release", kill_on_drop: false }`
[INFO] [stderr]     Finished `release` profile [optimized] target(s) in 0.04s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/release/build/elm_rs/660b9394c7c72fde/out/elm_rs-660b9394c7c72fde)
[INFO] [stdout] 
[INFO] [stdout] running 36 tests
[INFO] [stdout] test test::enums_untagged::named ... FAILED
[INFO] [stdout] test test::complex::complex ... FAILED
[INFO] [stdout] test test::enums_adjacent::newtype ... FAILED
[INFO] [stdout] test test::enums_external::newtype ... FAILED
[INFO] [stdout] test test::enums_external::named ... FAILED
[INFO] [stdout] test test::enums_adjacent::unit ... FAILED
[INFO] [stdout] test test::enums_untagged::tuple ... FAILED
[INFO] [stdout] test test::etc_serde::skip ... FAILED
[INFO] [stdout] test test::enums_untagged::unit ... FAILED
[INFO] [stdout] test test::enums_untagged::newtype ... FAILED
[INFO] [stdout] test test::enums_internal::named ... FAILED
[INFO] [stdout] test test::enums_adjacent::named ... FAILED
[INFO] [stdout] test test::etc_serde::other ... FAILED
[INFO] [stdout] test test::enums_external::unit ... FAILED
[INFO] [stdout] test test::enums_adjacent::tuple ... FAILED
[INFO] [stdout] test test::query::query_struct ... FAILED
[INFO] [stdout] test test::etc_serde::transparent_newtype ... FAILED
[INFO] [stdout] test test::enums_internal::unit ... FAILED
[INFO] [stdout] test test::etc_serde::rename_struct ... FAILED
[INFO] [stdout] test test::etc_serde::transparent_struct ... FAILED
[INFO] [stdout] test test::regression::regression_2 ... FAILED
[INFO] [stdout] test test::etc_serde::rename_enum ... FAILED
[INFO] [stdout] test test::regression::regression_4 ... FAILED
[INFO] [stdout] test test::structs_serde::named ... FAILED
[INFO] [stdout] test test::query::query_enum ... FAILED
[INFO] [stdout] test test::nested::nestedtypes ... FAILED
[INFO] [stdout] test test::structs_serde::tuple ... FAILED
[INFO] [stdout] test test::hygiene::hygiene ... ok
[INFO] [stdout] test test::structs::named ... FAILED
[INFO] [stdout] test test::enums_external::tuple ... FAILED
[INFO] [stdout] test test::structs::tuple ... FAILED
[INFO] [stdout] test test::structs_serde::unit ... FAILED
[INFO] [stdout] test test::types::types ... FAILED
[INFO] [stdout] test test::structs::unit ... FAILED
[INFO] [stdout] test test::structs_serde::newtype ... FAILED
[INFO] [stdout] test test::structs::newtype ... FAILED
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- test::enums_untagged::named stdout ----
[INFO] [stdout] 
[INFO] [stdout] import Json.Decode
[INFO] [stdout] import Json.Encode
[INFO] [stdout] import Dict exposing (Dict)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] resultDecoder : Json.Decode.Decoder e -> Json.Decode.Decoder t -> Json.Decode.Decoder (Result e t)
[INFO] [stdout] resultDecoder errDecoder okDecoder =
[INFO] [stdout]     Json.Decode.oneOf
[INFO] [stdout]         [ Json.Decode.map Ok (Json.Decode.field "Ok" okDecoder)
[INFO] [stdout]         , Json.Decode.map Err (Json.Decode.field "Err" errDecoder)
[INFO] [stdout]         ]
[INFO] [stdout] 
[INFO] [stdout] resultEncoder : (e -> Json.Encode.Value) -> (t -> Json.Encode.Value) -> (Result e t -> Json.Encode.Value)
[INFO] [stdout] resultEncoder errEncoder okEncoder enum =
[INFO] [stdout]     case enum of
[INFO] [stdout]         Ok inner ->
[INFO] [stdout]             Json.Encode.object [ ( "Ok", okEncoder inner ) ]
[INFO] [stdout]         Err inner ->
[INFO] [stdout]             Json.Encode.object [ ( "Err", errEncoder inner ) ]
[INFO] [stdout] 
[INFO] [stdout] type Enum
[INFO] [stdout]     = Unit1
[INFO] [stdout]     | Unit2
[INFO] [stdout]     | Newtype1 (Int)
[INFO] [stdout]     | Newtype2 (Int)
[INFO] [stdout]     | Tuple1 (Int) (Int)
[INFO] [stdout]     | Tuple2 (Int) (Int)
[INFO] [stdout]     | Named1 { field : Int }
[INFO] [stdout]     | Named2 { field : Int }
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] enumEncoder : Enum -> Json.Encode.Value
[INFO] [stdout] enumEncoder enum =
[INFO] [stdout]     case enum of
[INFO] [stdout]         Unit1 ->
[INFO] [stdout]             Json.Encode.null
[INFO] [stdout]         Unit2 ->
[INFO] [stdout]             Json.Encode.null
[INFO] [stdout]         Newtype1 inner ->
[INFO] [stdout]             Json.Encode.int inner
[INFO] [stdout]         Newtype2 inner ->
[INFO] [stdout]             Json.Encode.int inner
[INFO] [stdout]         Tuple1 t0 t1 -> 
[INFO] [stdout]             Json.Encode.list identity
[INFO] [stdout]             [ (Json.Encode.int) t0
[INFO] [stdout]             , (Json.Encode.int) t1
[INFO] [stdout]             ]
[INFO] [stdout]         Tuple2 t0 t1 -> 
[INFO] [stdout]             Json.Encode.list identity
[INFO] [stdout]             [ (Json.Encode.int) t0
[INFO] [stdout]             , (Json.Encode.int) t1
[INFO] [stdout]             ]
[INFO] [stdout]         Named1 { field } ->
[INFO] [stdout]             Json.Encode.object [ ( "field", (Json.Encode.int) field ) ]
[INFO] [stdout]         Named2 { field } ->
[INFO] [stdout]             Json.Encode.object [ ( "field", (Json.Encode.int) field ) ]
[INFO] [stdout] 
[INFO] [stdout] enumDecoder : Json.Decode.Decoder Enum
[INFO] [stdout] enumDecoder = 
[INFO] [stdout]         let
[INFO] [stdout]             elmRsConstructNamed1 field =
[INFO] [stdout]                         Named1 { field = field }
[INFO] [stdout]             elmRsConstructNamed2 field =
[INFO] [stdout]                         Named2 { field = field }
[INFO] [stdout]         in
[INFO] [stdout]     Json.Decode.oneOf
[INFO] [stdout]         [ Json.Decode.null Unit1
[INFO] [stdout]     , Json.Decode.null Unit2
[INFO] [stdout]     , Json.Decode.map Newtype1 (Json.Decode.int)
[INFO] [stdout]     , Json.Decode.map Newtype2 (Json.Decode.int)
[INFO] [stdout]     , Json.Decode.succeed Tuple1 |> Json.Decode.andThen (\x -> Json.Decode.index 0 (Json.Decode.int) |> Json.Decode.map x) |> Json.Decode.andThen (\x -> Json.Decode.index 1 (Json.Decode.int) |> Json.Decode.map x)
[INFO] [stdout]     , Json.Decode.succeed Tuple2 |> Json.Decode.andThen (\x -> Json.Decode.index 0 (Json.Decode.int) |> Json.Decode.map x) |> Json.Decode.andThen (\x -> Json.Decode.index 1 (Json.Decode.int) |> Json.Decode.map x)
[INFO] [stdout]     , Json.Decode.succeed elmRsConstructNamed1 |> Json.Decode.andThen (\x -> Json.Decode.map x (Json.Decode.field "field" (Json.Decode.int)))
[INFO] [stdout]     , Json.Decode.succeed elmRsConstructNamed2 |> Json.Decode.andThen (\x -> Json.Decode.map x (Json.Decode.field "field" (Json.Decode.int)))
[INFO] [stdout]         ]
[INFO] [stdout] 
[INFO] [stdout] decoded = Json.Decode.decodeString enumDecoder "{\"field\":123}"
[INFO] [stdout] 
[INFO] [stdout] reEncoded = Result.map enumEncoder decoded
[INFO] [stdout] 
[INFO] [stdout] s = case reEncoded of
[INFO] [stdout]     Ok value ->
[INFO] [stdout]         Json.Encode.encode 0 value
[INFO] [stdout]     Err err ->
[INFO] [stdout]         Json.Decode.errorToString err
[INFO] [stdout] 
[INFO] [stdout] "START"
[INFO] [stdout] s
[INFO] [stdout] "END"
[INFO] [stdout] 
[INFO] [stdout] :exit
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] thread 'test::enums_untagged::named' (571) panicked at src/test/mod.rs:179:10:
[INFO] [stdout] called `Result::unwrap()` on an `Err` value: Os { code: 2, kind: NotFound, message: "No such file or directory" }
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x58d7d352dea1 - <<std[617be2ca0a6fd877]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[a373ad73a504971]::fmt::Display>::fmt
[INFO] [stdout]    1:     0x58d7d35429ea - core[a373ad73a504971]::fmt::write
[INFO] [stdout]    2:     0x58d7d35321dc - <alloc[2e1b2a31b91974c5]::vec::Vec<u8> as core[a373ad73a504971]::io::write::Write>::write_fmt
[INFO] [stdout]    3:     0x58d7d3509d96 - std[617be2ca0a6fd877]::panicking::default_hook::{closure#0}
[INFO] [stdout]    4:     0x58d7d3526539 - std[617be2ca0a6fd877]::panicking::default_hook
[INFO] [stdout]    5:     0x58d7d34c1af0 - test[aada8e7e76ba119b]::test_main_inner::{closure#0}
[INFO] [stdout]    6:     0x58d7d35266f2 - std[617be2ca0a6fd877]::panicking::panic_with_hook
[INFO] [stdout]    7:     0x58d7d3509e42 - std[617be2ca0a6fd877]::panicking::panic_handler::{closure#0}
[INFO] [stdout]    8:     0x58d7d3502b29 - std[617be2ca0a6fd877]::sys::backtrace::__rust_end_short_backtrace::<std[617be2ca0a6fd877]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]    9:     0x58d7d350aa4d - __rustc[ea4f61d10b84890b]::rust_begin_unwind
[INFO] [stdout]   10:     0x58d7d354311c - core[a373ad73a504971]::panicking::panic_fmt
[INFO] [stdout]   11:     0x58d7d3542ef2 - core[a373ad73a504971]::result::unwrap_failed
[INFO] [stdout]   12:     0x58d7d3451fe5 - elm_rs[4c59a4dd58a77a5c]::test::run_repl
[INFO] [stdout]   13:     0x58d7d344aeea - elm_rs[4c59a4dd58a77a5c]::test::test_json::<elm_rs[4c59a4dd58a77a5c]::test::enums_untagged::Enum>
[INFO] [stdout]   14:     0x58d7d34a2a91 - <elm_rs[4c59a4dd58a77a5c]::test::enums_untagged::named::{closure#0} as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]   15:     0x58d7d34b4f3b - test[aada8e7e76ba119b]::__rust_begin_short_backtrace::<core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String>, fn() -> core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String>>
[INFO] [stdout]   16:     0x58d7d34c2115 - test[aada8e7e76ba119b]::run_test::{closure#0}
[INFO] [stdout]   17:     0x58d7d34bba04 - std[617be2ca0a6fd877]::sys::backtrace::__rust_begin_short_backtrace::<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>
[INFO] [stdout]   18:     0x58d7d34c51a2 - <std[617be2ca0a6fd877]::thread::lifecycle::spawn_unchecked<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>::{closure#1} as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]   19:     0x58d7d352d6ff - <std[617be2ca0a6fd877]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]   20:     0x7a1f1c968dfa - <unknown>
[INFO] [stdout]   21:     0x7a1f1c9fc3d4 - clone
[INFO] [stdout]   22:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- test::complex::complex stdout ----
[INFO] [stdout] 
[INFO] [stdout] import Json.Decode
[INFO] [stdout] import Json.Encode
[INFO] [stdout] import Dict exposing (Dict)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] type Enum1
[INFO] [stdout]     = Unit11
[INFO] [stdout]     | Unit12
[INFO] [stdout]     | Newtype11 (List (Int))
[INFO] [stdout]     | Newtype12 (List (Int))
[INFO] [stdout]     | Tuple11 (List (Int)) (List (Int))
[INFO] [stdout]     | Tuple12 (List (Int)) (List (Int))
[INFO] [stdout]     | Named11 { t : List (Int) }
[INFO] [stdout]     | Named12 { t : List (Int) }
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] enum1Encoder : Enum1 -> Json.Encode.Value
[INFO] [stdout] enum1Encoder enum =
[INFO] [stdout]     case enum of
[INFO] [stdout]         Unit11 ->
[INFO] [stdout]             Json.Encode.string "Unit11"
[INFO] [stdout]         Unit12 ->
[INFO] [stdout]             Json.Encode.string "Unit12"
[INFO] [stdout]         Newtype11 inner ->
[INFO] [stdout]             Json.Encode.object [ ( "Newtype11", Json.Encode.list (Json.Encode.int) inner ) ]
[INFO] [stdout]         Newtype12 inner ->
[INFO] [stdout]             Json.Encode.object [ ( "Newtype12", Json.Encode.list (Json.Encode.int) inner ) ]
[INFO] [stdout]         Tuple11 t0 t1 ->
[INFO] [stdout]             Json.Encode.object [ ( "Tuple11", Json.Encode.list identity [ Json.Encode.list (Json.Encode.int) t0, Json.Encode.list (Json.Encode.int) t1 ] ) ]
[INFO] [stdout]         Tuple12 t0 t1 ->
[INFO] [stdout]             Json.Encode.object [ ( "Tuple12", Json.Encode.list identity [ Json.Encode.list (Json.Encode.int) t0, Json.Encode.list (Json.Encode.int) t1 ] ) ]
[INFO] [stdout]         Named11 { t } ->
[INFO] [stdout]             Json.Encode.object [ ( "Named11", Json.Encode.object [ ( "t", (Json.Encode.list (Json.Encode.int)) t ) ] ) ]
[INFO] [stdout]         Named12 { t } ->
[INFO] [stdout]             Json.Encode.object [ ( "Named12", Json.Encode.object [ ( "t", (Json.Encode.list (Json.Encode.int)) t ) ] ) ]
[INFO] [stdout] 
[INFO] [stdout] enum1Decoder : Json.Decode.Decoder Enum1
[INFO] [stdout] enum1Decoder = 
[INFO] [stdout]         let
[INFO] [stdout]             elmRsConstructNamed11 t =
[INFO] [stdout]                         Named11 { t = t }
[INFO] [stdout]             elmRsConstructNamed12 t =
[INFO] [stdout]                         Named12 { t = t }
[INFO] [stdout]         in
[INFO] [stdout]     Json.Decode.oneOf
[INFO] [stdout]         [ Json.Decode.string
[INFO] [stdout]             |> Json.Decode.andThen
[INFO] [stdout]                 (\x ->
[INFO] [stdout]                     case x of
[INFO] [stdout]                         "Unit11" ->
[INFO] [stdout]                             Json.Decode.succeed Unit11
[INFO] [stdout]                         unexpected ->
[INFO] [stdout]                             Json.Decode.fail <| "Unexpected variant " ++ unexpected
[INFO] [stdout]                 )
[INFO] [stdout]         , Json.Decode.string
[INFO] [stdout]             |> Json.Decode.andThen
[INFO] [stdout]                 (\x ->
[INFO] [stdout]                     case x of
[INFO] [stdout]                         "Unit12" ->
[INFO] [stdout]                             Json.Decode.succeed Unit12
[INFO] [stdout]                         unexpected ->
[INFO] [stdout]                             Json.Decode.fail <| "Unexpected variant " ++ unexpected
[INFO] [stdout]                 )
[INFO] [stdout]         , Json.Decode.map Newtype11 (Json.Decode.field "Newtype11" (Json.Decode.list (Json.Decode.int)))
[INFO] [stdout]         , Json.Decode.map Newtype12 (Json.Decode.field "Newtype12" (Json.Decode.list (Json.Decode.int)))
[INFO] [stdout]         , Json.Decode.field "Tuple11" (Json.Decode.succeed Tuple11 |> Json.Decode.andThen (\x -> Json.Decode.index 0 (Json.Decode.list (Json.Decode.int)) |> Json.Decode.map x) |> Json.Decode.andThen (\x -> Json.Decode.index 1 (Json.Decode.list (Json.Decode.int)) |> Json.Decode.map x))
[INFO] [stdout]         , Json.Decode.field "Tuple12" (Json.Decode.succeed Tuple12 |> Json.Decode.andThen (\x -> Json.Decode.index 0 (Json.Decode.list (Json.Decode.int)) |> Json.Decode.map x) |> Json.Decode.andThen (\x -> Json.Decode.index 1 (Json.Decode.list (Json.Decode.int)) |> Json.Decode.map x))
[INFO] [stdout]         , Json.Decode.field "Named11" (Json.Decode.succeed elmRsConstructNamed11 |> Json.Decode.andThen (\x -> Json.Decode.map x (Json.Decode.field "t" (Json.Decode.list (Json.Decode.int)))))
[INFO] [stdout]         , Json.Decode.field "Named12" (Json.Decode.succeed elmRsConstructNamed12 |> Json.Decode.andThen (\x -> Json.Decode.map x (Json.Decode.field "t" (Json.Decode.list (Json.Decode.int)))))
[INFO] [stdout]         ]
[INFO] [stdout] 
[INFO] [stdout] type Enum2
[INFO] [stdout]     = Unit21
[INFO] [stdout]     | Unit22
[INFO] [stdout]     | Newtype21 (Enum1)
[INFO] [stdout]     | Newtype22 (Enum1)
[INFO] [stdout]     | Tuple21 (Enum1) (Enum1)
[INFO] [stdout]     | Tuple22 (Enum1) (Enum1)
[INFO] [stdout]     | Named21 { t : Enum1 }
[INFO] [stdout]     | Named22 { t : Enum1 }
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] enum2Encoder : Enum2 -> Json.Encode.Value
[INFO] [stdout] enum2Encoder enum =
[INFO] [stdout]     case enum of
[INFO] [stdout]         Unit21 ->
[INFO] [stdout]             Json.Encode.string "Unit21"
[INFO] [stdout]         Unit22 ->
[INFO] [stdout]             Json.Encode.string "Unit22"
[INFO] [stdout]         Newtype21 inner ->
[INFO] [stdout]             Json.Encode.object [ ( "Newtype21", enum1Encoder inner ) ]
[INFO] [stdout]         Newtype22 inner ->
[INFO] [stdout]             Json.Encode.object [ ( "Newtype22", enum1Encoder inner ) ]
[INFO] [stdout]         Tuple21 t0 t1 ->
[INFO] [stdout]             Json.Encode.object [ ( "Tuple21", Json.Encode.list identity [ enum1Encoder t0, enum1Encoder t1 ] ) ]
[INFO] [stdout]         Tuple22 t0 t1 ->
[INFO] [stdout]             Json.Encode.object [ ( "Tuple22", Json.Encode.list identity [ enum1Encoder t0, enum1Encoder t1 ] ) ]
[INFO] [stdout]         Named21 { t } ->
[INFO] [stdout]             Json.Encode.object [ ( "Named21", Json.Encode.object [ ( "t", (enum1Encoder) t ) ] ) ]
[INFO] [stdout]         Named22 { t } ->
[INFO] [stdout]             Json.Encode.object [ ( "Named22", Json.Encode.object [ ( "t", (enum1Encoder) t ) ] ) ]
[INFO] [stdout] 
[INFO] [stdout] enum2Decoder : Json.Decode.Decoder Enum2
[INFO] [stdout] enum2Decoder = 
[INFO] [stdout]         let
[INFO] [stdout]             elmRsConstructNamed21 t =
[INFO] [stdout]                         Named21 { t = t }
[INFO] [stdout]             elmRsConstructNamed22 t =
[INFO] [stdout]                         Named22 { t = t }
[INFO] [stdout]         in
[INFO] [stdout]     Json.Decode.oneOf
[INFO] [stdout]         [ Json.Decode.string
[INFO] [stdout]             |> Json.Decode.andThen
[INFO] [stdout]                 (\x ->
[INFO] [stdout]                     case x of
[INFO] [stdout]                         "Unit21" ->
[INFO] [stdout]                             Json.Decode.succeed Unit21
[INFO] [stdout]                         unexpected ->
[INFO] [stdout]                             Json.Decode.fail <| "Unexpected variant " ++ unexpected
[INFO] [stdout]                 )
[INFO] [stdout]         , Json.Decode.string
[INFO] [stdout]             |> Json.Decode.andThen
[INFO] [stdout]                 (\x ->
[INFO] [stdout]                     case x of
[INFO] [stdout]                         "Unit22" ->
[INFO] [stdout]                             Json.Decode.succeed Unit22
[INFO] [stdout]                         unexpected ->
[INFO] [stdout]                             Json.Decode.fail <| "Unexpected variant " ++ unexpected
[INFO] [stdout]                 )
[INFO] [stdout]         , Json.Decode.map Newtype21 (Json.Decode.field "Newtype21" (enum1Decoder))
[INFO] [stdout]         , Json.Decode.map Newtype22 (Json.Decode.field "Newtype22" (enum1Decoder))
[INFO] [stdout]         , Json.Decode.field "Tuple21" (Json.Decode.succeed Tuple21 |> Json.Decode.andThen (\x -> Json.Decode.index 0 (enum1Decoder) |> Json.Decode.map x) |> Json.Decode.andThen (\x -> Json.Decode.index 1 (enum1Decoder) |> Json.Decode.map x))
[INFO] [stdout]         , Json.Decode.field "Tuple22" (Json.Decode.succeed Tuple22 |> Json.Decode.andThen (\x -> Json.Decode.index 0 (enum1Decoder) |> Json.Decode.map x) |> Json.Decode.andThen (\x -> Json.Decode.index 1 (enum1Decoder) |> Json.Decode.map x))
[INFO] [stdout]         , Json.Decode.field "Named21" (Json.Decode.succeed elmRsConstructNamed21 |> Json.Decode.andThen (\x -> Json.Decode.map x (Json.Decode.field "t" (enum1Decoder))))
[INFO] [stdout]         , Json.Decode.field "Named22" (Json.Decode.succeed elmRsConstructNamed22 |> Json.Decode.andThen (\x -> Json.Decode.map x (Json.Decode.field "t" (enum1Decoder))))
[INFO] [stdout]         ]
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] resultDecoder : Json.Decode.Decoder e -> Json.Decode.Decoder t -> Json.Decode.Decoder (Result e t)
[INFO] [stdout] resultDecoder errDecoder okDecoder =
[INFO] [stdout]     Json.Decode.oneOf
[INFO] [stdout]         [ Json.Decode.map Ok (Json.Decode.field "Ok" okDecoder)
[INFO] [stdout]         , Json.Decode.map Err (Json.Decode.field "Err" errDecoder)
[INFO] [stdout]         ]
[INFO] [stdout] 
[INFO] [stdout] resultEncoder : (e -> Json.Encode.Value) -> (t -> Json.Encode.Value) -> (Result e t -> Json.Encode.Value)
[INFO] [stdout] resultEncoder errEncoder okEncoder enum =
[INFO] [stdout]     case enum of
[INFO] [stdout]         Ok inner ->
[INFO] [stdout]             Json.Encode.object [ ( "Ok", okEncoder inner ) ]
[INFO] [stdout]         Err inner ->
[INFO] [stdout]             Json.Encode.object [ ( "Err", errEncoder inner ) ]
[INFO] [stdout] 
[INFO] [stdout] type alias Struct =
[INFO] [stdout]     { unit : Enum1
[INFO] [stdout]     , newtype : Enum1
[INFO] [stdout]     , tuple : Enum1
[INFO] [stdout]     , named : Enum1
[INFO] [stdout]     , namedUnit : Enum2
[INFO] [stdout]     , namedNewtype : Enum2
[INFO] [stdout]     , namedTuple : Enum2
[INFO] [stdout]     , namedNamed : Enum2
[INFO] [stdout]     }
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] structEncoder : Struct -> Json.Encode.Value
[INFO] [stdout] structEncoder struct =
[INFO] [stdout]     Json.Encode.object
[INFO] [stdout]         [ ( "unit", (enum1Encoder) struct.unit )
[INFO] [stdout]         , ( "newtype", (enum1Encoder) struct.newtype )
[INFO] [stdout]         , ( "tuple", (enum1Encoder) struct.tuple )
[INFO] [stdout]         , ( "named", (enum1Encoder) struct.named )
[INFO] [stdout]         , ( "named_unit", (enum2Encoder) struct.namedUnit )
[INFO] [stdout]         , ( "named_newtype", (enum2Encoder) struct.namedNewtype )
[INFO] [stdout]         , ( "named_tuple", (enum2Encoder) struct.namedTuple )
[INFO] [stdout]         , ( "named_named", (enum2Encoder) struct.namedNamed )
[INFO] [stdout]         ]
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] structDecoder : Json.Decode.Decoder Struct
[INFO] [stdout] structDecoder =
[INFO] [stdout]     Json.Decode.succeed Struct
[INFO] [stdout]         |> Json.Decode.andThen (\x -> Json.Decode.map x (Json.Decode.field "unit" (enum1Decoder)))
[INFO] [stdout]         |> Json.Decode.andThen (\x -> Json.Decode.map x (Json.Decode.field "newtype" (enum1Decoder)))
[INFO] [stdout]         |> Json.Decode.andThen (\x -> Json.Decode.map x (Json.Decode.field "tuple" (enum1Decoder)))
[INFO] [stdout]         |> Json.Decode.andThen (\x -> Json.Decode.map x (Json.Decode.field "named" (enum1Decoder)))
[INFO] [stdout]         |> Json.Decode.andThen (\x -> Json.Decode.map x (Json.Decode.field "named_unit" (enum2Decoder)))
[INFO] [stdout]         |> Json.Decode.andThen (\x -> Json.Decode.map x (Json.Decode.field "named_newtype" (enum2Decoder)))
[INFO] [stdout]         |> Json.Decode.andThen (\x -> Json.Decode.map x (Json.Decode.field "named_tuple" (enum2Decoder)))
[INFO] [stdout]         |> Json.Decode.andThen (\x -> Json.Decode.map x (Json.Decode.field "named_named" (enum2Decoder)))
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] decoded = Json.Decode.decodeString structDecoder "{\"unit\":\"Unit11\",\"newtype\":{\"Newtype11\":[1,2,3,4]},\"tuple\":{\"Tuple11\":[[1,2,3,4],[1,2,3,4]]},\"named\":{\"Named11\":{\"t\":[1,2,3,4]}},\"named_unit\":{\"Named21\":{\"t\":\"Unit11\"}},\"named_newtype\":{\"Named21\":{\"t\":{\"Newtype11\":[1,2,3,4]}}},\"named_tuple\":{\"Named21\":{\"t\":{\"Tuple11\":[[1,2,3,4],[1,2,3,4]]}}},\"named_named\":{\"Named21\":{\"t\":{\"Named11\":{\"t\":[1,2,3,4]}}}}}"
[INFO] [stdout] 
[INFO] [stdout] reEncoded = Result.map structEncoder decoded
[INFO] [stdout] 
[INFO] [stdout] s = case reEncoded of
[INFO] [stdout]     Ok value ->
[INFO] [stdout]         Json.Encode.encode 0 value
[INFO] [stdout]     Err err ->
[INFO] [stdout]         Json.Decode.errorToString err
[INFO] [stdout] 
[INFO] [stdout] "START"
[INFO] [stdout] s
[INFO] [stdout] "END"
[INFO] [stdout] 
[INFO] [stdout] :exit
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] thread 'test::complex::complex' (557) panicked at src/test/mod.rs:179:10:
[INFO] [stdout] called `Result::unwrap()` on an `Err` value: Os { code: 2, kind: NotFound, message: "No such file or directory" }
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x58d7d352dea1 - <<std[617be2ca0a6fd877]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[a373ad73a504971]::fmt::Display>::fmt
[INFO] [stdout]    1:     0x58d7d35429ea - core[a373ad73a504971]::fmt::write
[INFO] [stdout]    2:     0x58d7d35321dc - <alloc[2e1b2a31b91974c5]::vec::Vec<u8> as core[a373ad73a504971]::io::write::Write>::write_fmt
[INFO] [stdout]    3:     0x58d7d3509d96 - std[617be2ca0a6fd877]::panicking::default_hook::{closure#0}
[INFO] [stdout]    4:     0x58d7d3526539 - std[617be2ca0a6fd877]::panicking::default_hook
[INFO] [stdout]    5:     0x58d7d34c1af0 - test[aada8e7e76ba119b]::test_main_inner::{closure#0}
[INFO] [stdout]    6:     0x58d7d35266f2 - std[617be2ca0a6fd877]::panicking::panic_with_hook
[INFO] [stdout]    7:     0x58d7d3509e42 - std[617be2ca0a6fd877]::panicking::panic_handler::{closure#0}
[INFO] [stdout]    8:     0x58d7d3502b29 - std[617be2ca0a6fd877]::sys::backtrace::__rust_end_short_backtrace::<std[617be2ca0a6fd877]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]    9:     0x58d7d350aa4d - __rustc[ea4f61d10b84890b]::rust_begin_unwind
[INFO] [stdout]   10:     0x58d7d354311c - core[a373ad73a504971]::panicking::panic_fmt
[INFO] [stdout]   11:     0x58d7d3542ef2 - core[a373ad73a504971]::result::unwrap_failed
[INFO] [stdout]   12:     0x58d7d3451fe5 - elm_rs[4c59a4dd58a77a5c]::test::run_repl
[INFO] [stdout]   13:     0x58d7d3444bb2 - elm_rs[4c59a4dd58a77a5c]::test::test_json_with_deps::<elm_rs[4c59a4dd58a77a5c]::test::complex::Struct<alloc[2e1b2a31b91974c5]::vec::Vec<i32>>>
[INFO] [stdout]   14:     0x58d7d346a576 - elm_rs[4c59a4dd58a77a5c]::test::complex::complex
[INFO] [stdout]   15:     0x58d7d346f0b9 - <elm_rs[4c59a4dd58a77a5c]::test::complex::complex::{closure#0} as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]   16:     0x58d7d34b4f3b - test[aada8e7e76ba119b]::__rust_begin_short_backtrace::<core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String>, fn() -> core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String>>
[INFO] [stdout]   17:     0x58d7d34c2115 - test[aada8e7e76ba119b]::run_test::{closure#0}
[INFO] [stdout]   18:     0x58d7d34bba04 - std[617be2ca0a6fd877]::sys::backtrace::__rust_begin_short_backtrace::<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>
[INFO] [stdout]   19:     0x58d7d34c51a2 - <std[617be2ca0a6fd877]::thread::lifecycle::spawn_unchecked<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>::{closure#1} as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]   20:     0x58d7d352d6ff - <std[617be2ca0a6fd877]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]   21:     0x7a1f1c968dfa - <unknown>
[INFO] [stdout]   22:     0x7a1f1c9fc3d4 - clone
[INFO] [stdout]   23:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- test::enums_adjacent::newtype stdout ----
[INFO] [stdout] 
[INFO] [stdout] import Json.Decode
[INFO] [stdout] import Json.Encode
[INFO] [stdout] import Dict exposing (Dict)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] resultDecoder : Json.Decode.Decoder e -> Json.Decode.Decoder t -> Json.Decode.Decoder (Result e t)
[INFO] [stdout] resultDecoder errDecoder okDecoder =
[INFO] [stdout]     Json.Decode.oneOf
[INFO] [stdout]         [ Json.Decode.map Ok (Json.Decode.field "Ok" okDecoder)
[INFO] [stdout]         , Json.Decode.map Err (Json.Decode.field "Err" errDecoder)
[INFO] [stdout]         ]
[INFO] [stdout] 
[INFO] [stdout] resultEncoder : (e -> Json.Encode.Value) -> (t -> Json.Encode.Value) -> (Result e t -> Json.Encode.Value)
[INFO] [stdout] resultEncoder errEncoder okEncoder enum =
[INFO] [stdout]     case enum of
[INFO] [stdout]         Ok inner ->
[INFO] [stdout]             Json.Encode.object [ ( "Ok", okEncoder inner ) ]
[INFO] [stdout]         Err inner ->
[INFO] [stdout]             Json.Encode.object [ ( "Err", errEncoder inner ) ]
[INFO] [stdout] 
[INFO] [stdout] type Enum
[INFO] [stdout]     = Unit1
[INFO] [stdout]     | Unit2
[INFO] [stdout]     | Newtype1 (Int)
[INFO] [stdout]     | Newtype2 (Int)
[INFO] [stdout]     | Tuple1 (Int) (Int)
[INFO] [stdout]     | Tuple2 (Int) (Int)
[INFO] [stdout]     | Named1 { field : Int }
[INFO] [stdout]     | Named2 { field : Int }
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] enumEncoder : Enum -> Json.Encode.Value
[INFO] [stdout] enumEncoder enum =
[INFO] [stdout]     case enum of
[INFO] [stdout]         Unit1 ->
[INFO] [stdout]             Json.Encode.object [ ( "t", Json.Encode.string "Unit1" ) ]
[INFO] [stdout]         Unit2 ->
[INFO] [stdout]             Json.Encode.object [ ( "t", Json.Encode.string "Unit2" ) ]
[INFO] [stdout]         Newtype1 inner ->
[INFO] [stdout]             Json.Encode.object [ ( "t", Json.Encode.string "Newtype1"), ( "c", Json.Encode.int inner ) ]
[INFO] [stdout]         Newtype2 inner ->
[INFO] [stdout]             Json.Encode.object [ ( "t", Json.Encode.string "Newtype2"), ( "c", Json.Encode.int inner ) ]
[INFO] [stdout]         Tuple1 t0 t1 ->
[INFO] [stdout]             Json.Encode.object [ ( "t", Json.Encode.string "Tuple1"), ( "c", Json.Encode.list identity [ Json.Encode.int t0, Json.Encode.int t1 ] ) ]
[INFO] [stdout]         Tuple2 t0 t1 ->
[INFO] [stdout]             Json.Encode.object [ ( "t", Json.Encode.string "Tuple2"), ( "c", Json.Encode.list identity [ Json.Encode.int t0, Json.Encode.int t1 ] ) ]
[INFO] [stdout]         Named1 { field } ->
[INFO] [stdout]             Json.Encode.object [ ( "t", Json.Encode.string "Named1"), ( "c", Json.Encode.object [ ( "field", (Json.Encode.int) field ) ] ) ]
[INFO] [stdout]         Named2 { field } ->
[INFO] [stdout]             Json.Encode.object [ ( "t", Json.Encode.string "Named2"), ( "c", Json.Encode.object [ ( "field", (Json.Encode.int) field ) ] ) ]
[INFO] [stdout] 
[INFO] [stdout] enumDecoder : Json.Decode.Decoder Enum
[INFO] [stdout] enumDecoder = 
[INFO] [stdout]         let
[INFO] [stdout]             elmRsConstructNamed1 field =
[INFO] [stdout]                         Named1 { field = field }
[INFO] [stdout]             elmRsConstructNamed2 field =
[INFO] [stdout]                         Named2 { field = field }
[INFO] [stdout]         in
[INFO] [stdout]     Json.Decode.field "t" Json.Decode.string
[INFO] [stdout]         |> Json.Decode.andThen
[INFO] [stdout]             (\tag ->
[INFO] [stdout]                 case tag of
[INFO] [stdout]                     "Unit1" ->
[INFO] [stdout]                         Json.Decode.succeed Unit1
[INFO] [stdout]                     "Unit2" ->
[INFO] [stdout]                         Json.Decode.succeed Unit2
[INFO] [stdout]                     "Newtype1" ->
[INFO] [stdout]                         Json.Decode.map Newtype1 (Json.Decode.field "c" (Json.Decode.int))
[INFO] [stdout]                     "Newtype2" ->
[INFO] [stdout]                         Json.Decode.map Newtype2 (Json.Decode.field "c" (Json.Decode.int))
[INFO] [stdout]                     "Tuple1" ->
[INFO] [stdout]                         Json.Decode.field "c" (Json.Decode.succeed Tuple1 |> Json.Decode.andThen (\x -> Json.Decode.index 0 (Json.Decode.int) |> Json.Decode.map x) |> Json.Decode.andThen (\x -> Json.Decode.index 1 (Json.Decode.int) |> Json.Decode.map x))
[INFO] [stdout]                     "Tuple2" ->
[INFO] [stdout]                         Json.Decode.field "c" (Json.Decode.succeed Tuple2 |> Json.Decode.andThen (\x -> Json.Decode.index 0 (Json.Decode.int) |> Json.Decode.map x) |> Json.Decode.andThen (\x -> Json.Decode.index 1 (Json.Decode.int) |> Json.Decode.map x))
[INFO] [stdout]                     "Named1" ->
[INFO] [stdout]                         Json.Decode.field "c" (Json.Decode.succeed elmRsConstructNamed1 |> Json.Decode.andThen (\x -> Json.Decode.map x (Json.Decode.field "field" (Json.Decode.int))))
[INFO] [stdout]                     "Named2" ->
[INFO] [stdout]                         Json.Decode.field "c" (Json.Decode.succeed elmRsConstructNamed2 |> Json.Decode.andThen (\x -> Json.Decode.map x (Json.Decode.field "field" (Json.Decode.int))))
[INFO] [stdout]                     unexpected ->
[INFO] [stdout]                         Json.Decode.fail <| "Unexpected variant " ++ unexpected
[INFO] [stdout]             )
[INFO] [stdout] 
[INFO] [stdout] decoded = Json.Decode.decodeString enumDecoder "{\"t\":\"Newtype1\",\"c\":123}"
[INFO] [stdout] 
[INFO] [stdout] reEncoded = Result.map enumEncoder decoded
[INFO] [stdout] 
[INFO] [stdout] s = case reEncoded of
[INFO] [stdout]     Ok value ->
[INFO] [stdout]         Json.Encode.encode 0 value
[INFO] [stdout]     Err err ->
[INFO] [stdout]         Json.Decode.errorToString err
[INFO] [stdout] 
[INFO] [stdout] "START"
[INFO] [stdout] s
[INFO] [stdout] "END"
[INFO] [stdout] 
[INFO] [stdout] :exit
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] thread 'test::enums_adjacent::newtype' (559) panicked at src/test/mod.rs:179:10:
[INFO] [stdout] called `Result::unwrap()` on an `Err` value: Os { code: 2, kind: NotFound, message: "No such file or directory" }
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x58d7d352dea1 - <<std[617be2ca0a6fd877]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[a373ad73a504971]::fmt::Display>::fmt
[INFO] [stdout]    1:     0x58d7d35429ea - core[a373ad73a504971]::fmt::write
[INFO] [stdout]    2:     0x58d7d35321dc - <alloc[2e1b2a31b91974c5]::vec::Vec<u8> as core[a373ad73a504971]::io::write::Write>::write_fmt
[INFO] [stdout]    3:     0x58d7d3509d96 - std[617be2ca0a6fd877]::panicking::default_hook::{closure#0}
[INFO] [stdout]    4:     0x58d7d3526539 - std[617be2ca0a6fd877]::panicking::default_hook
[INFO] [stdout]    5:     0x58d7d34c1af0 - test[aada8e7e76ba119b]::test_main_inner::{closure#0}
[INFO] [stdout]    6:     0x58d7d35266f2 - std[617be2ca0a6fd877]::panicking::panic_with_hook
[INFO] [stdout]    7:     0x58d7d3509e42 - std[617be2ca0a6fd877]::panicking::panic_handler::{closure#0}
[INFO] [stdout]    8:     0x58d7d3502b29 - std[617be2ca0a6fd877]::sys::backtrace::__rust_end_short_backtrace::<std[617be2ca0a6fd877]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]    9:     0x58d7d350aa4d - __rustc[ea4f61d10b84890b]::rust_begin_unwind
[INFO] [stdout]   10:     0x58d7d354311c - core[a373ad73a504971]::panicking::panic_fmt
[INFO] [stdout]   11:     0x58d7d3542ef2 - core[a373ad73a504971]::result::unwrap_failed
[INFO] [stdout]   12:     0x58d7d3451fe5 - elm_rs[4c59a4dd58a77a5c]::test::run_repl
[INFO] [stdout]   13:     0x58d7d34493ba - elm_rs[4c59a4dd58a77a5c]::test::test_json::<elm_rs[4c59a4dd58a77a5c]::test::enums_adjacent::Enum>
[INFO] [stdout]   14:     0x58d7d3487641 - <elm_rs[4c59a4dd58a77a5c]::test::enums_adjacent::newtype::{closure#0} as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]   15:     0x58d7d34b4f3b - test[aada8e7e76ba119b]::__rust_begin_short_backtrace::<core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String>, fn() -> core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String>>
[INFO] [stdout]   16:     0x58d7d34c2115 - test[aada8e7e76ba119b]::run_test::{closure#0}
[INFO] [stdout]   17:     0x58d7d34bba04 - std[617be2ca0a6fd877]::sys::backtrace::__rust_begin_short_backtrace::<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>
[INFO] [stdout]   18:     0x58d7d34c51a2 - <std[617be2ca0a6fd877]::thread::lifecycle::spawn_unchecked<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>::{closure#1} as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]   19:     0x58d7d352d6ff - <std[617be2ca0a6fd877]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]   20:     0x7a1f1c968dfa - <unknown>
[INFO] [stdout]   21:     0x7a1f1c9fc3d4 - clone
[INFO] [stdout]   22:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- test::enums_external::newtype stdout ----
[INFO] [stdout] 
[INFO] [stdout] import Json.Decode
[INFO] [stdout] import Json.Encode
[INFO] [stdout] import Dict exposing (Dict)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] resultDecoder : Json.Decode.Decoder e -> Json.Decode.Decoder t -> Json.Decode.Decoder (Result e t)
[INFO] [stdout] resultDecoder errDecoder okDecoder =
[INFO] [stdout]     Json.Decode.oneOf
[INFO] [stdout]         [ Json.Decode.map Ok (Json.Decode.field "Ok" okDecoder)
[INFO] [stdout]         , Json.Decode.map Err (Json.Decode.field "Err" errDecoder)
[INFO] [stdout]         ]
[INFO] [stdout] 
[INFO] [stdout] resultEncoder : (e -> Json.Encode.Value) -> (t -> Json.Encode.Value) -> (Result e t -> Json.Encode.Value)
[INFO] [stdout] resultEncoder errEncoder okEncoder enum =
[INFO] [stdout]     case enum of
[INFO] [stdout]         Ok inner ->
[INFO] [stdout]             Json.Encode.object [ ( "Ok", okEncoder inner ) ]
[INFO] [stdout]         Err inner ->
[INFO] [stdout]             Json.Encode.object [ ( "Err", errEncoder inner ) ]
[INFO] [stdout] 
[INFO] [stdout] type Enum
[INFO] [stdout]     = Unit1
[INFO] [stdout]     | Unit2
[INFO] [stdout]     | Newtype1 (Int)
[INFO] [stdout]     | Newtype2 (Int)
[INFO] [stdout]     | Tuple1 (Int) (Int)
[INFO] [stdout]     | Tuple2 (Int) (Int)
[INFO] [stdout]     | Named1 { field : Int }
[INFO] [stdout]     | Named2 { field : Int }
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] enumEncoder : Enum -> Json.Encode.Value
[INFO] [stdout] enumEncoder enum =
[INFO] [stdout]     case enum of
[INFO] [stdout]         Unit1 ->
[INFO] [stdout]             Json.Encode.string "Unit1"
[INFO] [stdout]         Unit2 ->
[INFO] [stdout]             Json.Encode.string "Unit2"
[INFO] [stdout]         Newtype1 inner ->
[INFO] [stdout]             Json.Encode.object [ ( "Newtype1", Json.Encode.int inner ) ]
[INFO] [stdout]         Newtype2 inner ->
[INFO] [stdout]             Json.Encode.object [ ( "Newtype2", Json.Encode.int inner ) ]
[INFO] [stdout]         Tuple1 t0 t1 ->
[INFO] [stdout]             Json.Encode.object [ ( "Tuple1", Json.Encode.list identity [ Json.Encode.int t0, Json.Encode.int t1 ] ) ]
[INFO] [stdout]         Tuple2 t0 t1 ->
[INFO] [stdout]             Json.Encode.object [ ( "Tuple2", Json.Encode.list identity [ Json.Encode.int t0, Json.Encode.int t1 ] ) ]
[INFO] [stdout]         Named1 { field } ->
[INFO] [stdout]             Json.Encode.object [ ( "Named1", Json.Encode.object [ ( "field", (Json.Encode.int) field ) ] ) ]
[INFO] [stdout]         Named2 { field } ->
[INFO] [stdout]             Json.Encode.object [ ( "Named2", Json.Encode.object [ ( "field", (Json.Encode.int) field ) ] ) ]
[INFO] [stdout] 
[INFO] [stdout] enumDecoder : Json.Decode.Decoder Enum
[INFO] [stdout] enumDecoder = 
[INFO] [stdout]         let
[INFO] [stdout]             elmRsConstructNamed1 field =
[INFO] [stdout]                         Named1 { field = field }
[INFO] [stdout]             elmRsConstructNamed2 field =
[INFO] [stdout]                         Named2 { field = field }
[INFO] [stdout]         in
[INFO] [stdout]     Json.Decode.oneOf
[INFO] [stdout]         [ Json.Decode.string
[INFO] [stdout]             |> Json.Decode.andThen
[INFO] [stdout]                 (\x ->
[INFO] [stdout]                     case x of
[INFO] [stdout]                         "Unit1" ->
[INFO] [stdout]                             Json.Decode.succeed Unit1
[INFO] [stdout]                         unexpected ->
[INFO] [stdout]                             Json.Decode.fail <| "Unexpected variant " ++ unexpected
[INFO] [stdout]                 )
[INFO] [stdout]         , Json.Decode.string
[INFO] [stdout]             |> Json.Decode.andThen
[INFO] [stdout]                 (\x ->
[INFO] [stdout]                     case x of
[INFO] [stdout]                         "Unit2" ->
[INFO] [stdout]                             Json.Decode.succeed Unit2
[INFO] [stdout]                         unexpected ->
[INFO] [stdout]                             Json.Decode.fail <| "Unexpected variant " ++ unexpected
[INFO] [stdout]                 )
[INFO] [stdout]         , Json.Decode.map Newtype1 (Json.Decode.field "Newtype1" (Json.Decode.int))
[INFO] [stdout]         , Json.Decode.map Newtype2 (Json.Decode.field "Newtype2" (Json.Decode.int))
[INFO] [stdout]         , Json.Decode.field "Tuple1" (Json.Decode.succeed Tuple1 |> Json.Decode.andThen (\x -> Json.Decode.index 0 (Json.Decode.int) |> Json.Decode.map x) |> Json.Decode.andThen (\x -> Json.Decode.index 1 (Json.Decode.int) |> Json.Decode.map x))
[INFO] [stdout]         , Json.Decode.field "Tuple2" (Json.Decode.succeed Tuple2 |> Json.Decode.andThen (\x -> Json.Decode.index 0 (Json.Decode.int) |> Json.Decode.map x) |> Json.Decode.andThen (\x -> Json.Decode.index 1 (Json.Decode.int) |> Json.Decode.map x))
[INFO] [stdout]         , Json.Decode.field "Named1" (Json.Decode.succeed elmRsConstructNamed1 |> Json.Decode.andThen (\x -> Json.Decode.map x (Json.Decode.field "field" (Json.Decode.int))))
[INFO] [stdout]         , Json.Decode.field "Named2" (Json.Decode.succeed elmRsConstructNamed2 |> Json.Decode.andThen (\x -> Json.Decode.map x (Json.Decode.field "field" (Json.Decode.int))))
[INFO] [stdout]         ]
[INFO] [stdout] 
[INFO] [stdout] decoded = Json.Decode.decodeString enumDecoder "{\"Newtype1\":123}"
[INFO] [stdout] 
[INFO] [stdout] reEncoded = Result.map enumEncoder decoded
[INFO] [stdout] 
[INFO] [stdout] s = case reEncoded of
[INFO] [stdout]     Ok value ->
[INFO] [stdout]         Json.Encode.encode 0 value
[INFO] [stdout]     Err err ->
[INFO] [stdout]         Json.Decode.errorToString err
[INFO] [stdout] 
[INFO] [stdout] "START"
[INFO] [stdout] s
[INFO] [stdout] "END"
[INFO] [stdout] 
[INFO] [stdout] :exit
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] thread 'test::enums_external::newtype' (565) panicked at src/test/mod.rs:179:10:
[INFO] [stdout] called `Result::unwrap()` on an `Err` value: Os { code: 2, kind: NotFound, message: "No such file or directory" }
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x58d7d352dea1 - <<std[617be2ca0a6fd877]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[a373ad73a504971]::fmt::Display>::fmt
[INFO] [stdout]    1:     0x58d7d35429ea - core[a373ad73a504971]::fmt::write
[INFO] [stdout]    2:     0x58d7d35321dc - <alloc[2e1b2a31b91974c5]::vec::Vec<u8> as core[a373ad73a504971]::io::write::Write>::write_fmt
[INFO] [stdout]    3:     0x58d7d3509d96 - std[617be2ca0a6fd877]::panicking::default_hook::{closure#0}
[INFO] [stdout]    4:     0x58d7d3526539 - std[617be2ca0a6fd877]::panicking::default_hook
[INFO] [stdout]    5:     0x58d7d34c1af0 - test[aada8e7e76ba119b]::test_main_inner::{closure#0}
[INFO] [stdout]    6:     0x58d7d35266f2 - std[617be2ca0a6fd877]::panicking::panic_with_hook
[INFO] [stdout]    7:     0x58d7d3509e42 - std[617be2ca0a6fd877]::panicking::panic_handler::{closure#0}
[INFO] [stdout]    8:     0x58d7d3502b29 - std[617be2ca0a6fd877]::sys::backtrace::__rust_end_short_backtrace::<std[617be2ca0a6fd877]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]    9:     0x58d7d350aa4d - __rustc[ea4f61d10b84890b]::rust_begin_unwind
[INFO] [stdout]   10:     0x58d7d354311c - core[a373ad73a504971]::panicking::panic_fmt
[INFO] [stdout]   11:     0x58d7d3542ef2 - core[a373ad73a504971]::result::unwrap_failed
[INFO] [stdout]   12:     0x58d7d3451fe5 - elm_rs[4c59a4dd58a77a5c]::test::run_repl
[INFO] [stdout]   13:     0x58d7d3449cca - elm_rs[4c59a4dd58a77a5c]::test::test_json::<elm_rs[4c59a4dd58a77a5c]::test::enums_external::Enum>
[INFO] [stdout]   14:     0x58d7d348de61 - <elm_rs[4c59a4dd58a77a5c]::test::enums_external::newtype::{closure#0} as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]   15:     0x58d7d34b4f3b - test[aada8e7e76ba119b]::__rust_begin_short_backtrace::<core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String>, fn() -> core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String>>
[INFO] [stdout]   16:     0x58d7d34c2115 - test[aada8e7e76ba119b]::run_test::{closure#0}
[INFO] [stdout]   17:     0x58d7d34bba04 - std[617be2ca0a6fd877]::sys::backtrace::__rust_begin_short_backtrace::<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>
[INFO] [stdout]   18:     0x58d7d34c51a2 - <std[617be2ca0a6fd877]::thread::lifecycle::spawn_unchecked<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>::{closure#1} as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]   19:     0x58d7d352d6ff - <std[617be2ca0a6fd877]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]   20:     0x7a1f1c968dfa - <unknown>
[INFO] [stdout]   21:     0x7a1f1c9fc3d4 - clone
[INFO] [stdout]   22:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- test::enums_external::named stdout ----
[INFO] [stdout] 
[INFO] [stdout] import Json.Decode
[INFO] [stdout] import Json.Encode
[INFO] [stdout] import Dict exposing (Dict)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] resultDecoder : Json.Decode.Decoder e -> Json.Decode.Decoder t -> Json.Decode.Decoder (Result e t)
[INFO] [stdout] resultDecoder errDecoder okDecoder =
[INFO] [stdout]     Json.Decode.oneOf
[INFO] [stdout]         [ Json.Decode.map Ok (Json.Decode.field "Ok" okDecoder)
[INFO] [stdout]         , Json.Decode.map Err (Json.Decode.field "Err" errDecoder)
[INFO] [stdout]         ]
[INFO] [stdout] 
[INFO] [stdout] resultEncoder : (e -> Json.Encode.Value) -> (t -> Json.Encode.Value) -> (Result e t -> Json.Encode.Value)
[INFO] [stdout] resultEncoder errEncoder okEncoder enum =
[INFO] [stdout]     case enum of
[INFO] [stdout]         Ok inner ->
[INFO] [stdout]             Json.Encode.object [ ( "Ok", okEncoder inner ) ]
[INFO] [stdout]         Err inner ->
[INFO] [stdout]             Json.Encode.object [ ( "Err", errEncoder inner ) ]
[INFO] [stdout] 
[INFO] [stdout] type Enum
[INFO] [stdout]     = Unit1
[INFO] [stdout]     | Unit2
[INFO] [stdout]     | Newtype1 (Int)
[INFO] [stdout]     | Newtype2 (Int)
[INFO] [stdout]     | Tuple1 (Int) (Int)
[INFO] [stdout]     | Tuple2 (Int) (Int)
[INFO] [stdout]     | Named1 { field : Int }
[INFO] [stdout]     | Named2 { field : Int }
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] enumEncoder : Enum -> Json.Encode.Value
[INFO] [stdout] enumEncoder enum =
[INFO] [stdout]     case enum of
[INFO] [stdout]         Unit1 ->
[INFO] [stdout]             Json.Encode.string "Unit1"
[INFO] [stdout]         Unit2 ->
[INFO] [stdout]             Json.Encode.string "Unit2"
[INFO] [stdout]         Newtype1 inner ->
[INFO] [stdout]             Json.Encode.object [ ( "Newtype1", Json.Encode.int inner ) ]
[INFO] [stdout]         Newtype2 inner ->
[INFO] [stdout]             Json.Encode.object [ ( "Newtype2", Json.Encode.int inner ) ]
[INFO] [stdout]         Tuple1 t0 t1 ->
[INFO] [stdout]             Json.Encode.object [ ( "Tuple1", Json.Encode.list identity [ Json.Encode.int t0, Json.Encode.int t1 ] ) ]
[INFO] [stdout]         Tuple2 t0 t1 ->
[INFO] [stdout]             Json.Encode.object [ ( "Tuple2", Json.Encode.list identity [ Json.Encode.int t0, Json.Encode.int t1 ] ) ]
[INFO] [stdout]         Named1 { field } ->
[INFO] [stdout]             Json.Encode.object [ ( "Named1", Json.Encode.object [ ( "field", (Json.Encode.int) field ) ] ) ]
[INFO] [stdout]         Named2 { field } ->
[INFO] [stdout]             Json.Encode.object [ ( "Named2", Json.Encode.object [ ( "field", (Json.Encode.int) field ) ] ) ]
[INFO] [stdout] 
[INFO] [stdout] enumDecoder : Json.Decode.Decoder Enum
[INFO] [stdout] enumDecoder = 
[INFO] [stdout]         let
[INFO] [stdout]             elmRsConstructNamed1 field =
[INFO] [stdout]                         Named1 { field = field }
[INFO] [stdout]             elmRsConstructNamed2 field =
[INFO] [stdout]                         Named2 { field = field }
[INFO] [stdout]         in
[INFO] [stdout]     Json.Decode.oneOf
[INFO] [stdout]         [ Json.Decode.string
[INFO] [stdout]             |> Json.Decode.andThen
[INFO] [stdout]                 (\x ->
[INFO] [stdout]                     case x of
[INFO] [stdout]                         "Unit1" ->
[INFO] [stdout]                             Json.Decode.succeed Unit1
[INFO] [stdout]                         unexpected ->
[INFO] [stdout]                             Json.Decode.fail <| "Unexpected variant " ++ unexpected
[INFO] [stdout]                 )
[INFO] [stdout]         , Json.Decode.string
[INFO] [stdout]             |> Json.Decode.andThen
[INFO] [stdout]                 (\x ->
[INFO] [stdout]                     case x of
[INFO] [stdout]                         "Unit2" ->
[INFO] [stdout]                             Json.Decode.succeed Unit2
[INFO] [stdout]                         unexpected ->
[INFO] [stdout]                             Json.Decode.fail <| "Unexpected variant " ++ unexpected
[INFO] [stdout]                 )
[INFO] [stdout]         , Json.Decode.map Newtype1 (Json.Decode.field "Newtype1" (Json.Decode.int))
[INFO] [stdout]         , Json.Decode.map Newtype2 (Json.Decode.field "Newtype2" (Json.Decode.int))
[INFO] [stdout]         , Json.Decode.field "Tuple1" (Json.Decode.succeed Tuple1 |> Json.Decode.andThen (\x -> Json.Decode.index 0 (Json.Decode.int) |> Json.Decode.map x) |> Json.Decode.andThen (\x -> Json.Decode.index 1 (Json.Decode.int) |> Json.Decode.map x))
[INFO] [stdout]         , Json.Decode.field "Tuple2" (Json.Decode.succeed Tuple2 |> Json.Decode.andThen (\x -> Json.Decode.index 0 (Json.Decode.int) |> Json.Decode.map x) |> Json.Decode.andThen (\x -> Json.Decode.index 1 (Json.Decode.int) |> Json.Decode.map x))
[INFO] [stdout]         , Json.Decode.field "Named1" (Json.Decode.succeed elmRsConstructNamed1 |> Json.Decode.andThen (\x -> Json.Decode.map x (Json.Decode.field "field" (Json.Decode.int))))
[INFO] [stdout]         , Json.Decode.field "Named2" (Json.Decode.succeed elmRsConstructNamed2 |> Json.Decode.andThen (\x -> Json.Decode.map x (Json.Decode.field "field" (Json.Decode.int))))
[INFO] [stdout]         ]
[INFO] [stdout] 
[INFO] [stdout] decoded = Json.Decode.decodeString enumDecoder "{\"Named1\":{\"field\":123}}"
[INFO] [stdout] 
[INFO] [stdout] reEncoded = Result.map enumEncoder decoded
[INFO] [stdout] 
[INFO] [stdout] s = case reEncoded of
[INFO] [stdout]     Ok value ->
[INFO] [stdout]         Json.Encode.encode 0 value
[INFO] [stdout]     Err err ->
[INFO] [stdout]         Json.Decode.errorToString err
[INFO] [stdout] 
[INFO] [stdout] "START"
[INFO] [stdout] s
[INFO] [stdout] "END"
[INFO] [stdout] 
[INFO] [stdout] :exit
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] thread 'test::enums_external::named' (564) panicked at src/test/mod.rs:179:10:
[INFO] [stdout] called `Result::unwrap()` on an `Err` value: Os { code: 2, kind: NotFound, message: "No such file or directory" }
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x58d7d352dea1 - <<std[617be2ca0a6fd877]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[a373ad73a504971]::fmt::Display>::fmt
[INFO] [stdout]    1:     0x58d7d35429ea - core[a373ad73a504971]::fmt::write
[INFO] [stdout]    2:     0x58d7d35321dc - <alloc[2e1b2a31b91974c5]::vec::Vec<u8> as core[a373ad73a504971]::io::write::Write>::write_fmt
[INFO] [stdout]    3:     0x58d7d3509d96 - std[617be2ca0a6fd877]::panicking::default_hook::{closure#0}
[INFO] [stdout]    4:     0x58d7d3526539 - std[617be2ca0a6fd877]::panicking::default_hook
[INFO] [stdout]    5:     0x58d7d34c1af0 - test[aada8e7e76ba119b]::test_main_inner::{closure#0}
[INFO] [stdout]    6:     0x58d7d35266f2 - std[617be2ca0a6fd877]::panicking::panic_with_hook
[INFO] [stdout]    7:     0x58d7d3509e42 - std[617be2ca0a6fd877]::panicking::panic_handler::{closure#0}
[INFO] [stdout]    8:     0x58d7d3502b29 - std[617be2ca0a6fd877]::sys::backtrace::__rust_end_short_backtrace::<std[617be2ca0a6fd877]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]    9:     0x58d7d350aa4d - __rustc[ea4f61d10b84890b]::rust_begin_unwind
[INFO] [stdout]   10:     0x58d7d354311c - core[a373ad73a504971]::panicking::panic_fmt
[INFO] [stdout]   11:     0x58d7d3542ef2 - core[a373ad73a504971]::result::unwrap_failed
[INFO] [stdout]   12:     0x58d7d3451fe5 - elm_rs[4c59a4dd58a77a5c]::test::run_repl
[INFO] [stdout]   13:     0x58d7d3449cca - elm_rs[4c59a4dd58a77a5c]::test::test_json::<elm_rs[4c59a4dd58a77a5c]::test::enums_external::Enum>
[INFO] [stdout]   14:     0x58d7d348dde1 - <elm_rs[4c59a4dd58a77a5c]::test::enums_external::named::{closure#0} as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]   15:     0x58d7d34b4f3b - test[aada8e7e76ba119b]::__rust_begin_short_backtrace::<core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String>, fn() -> core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String>>
[INFO] [stdout]   16:     0x58d7d34c2115 - test[aada8e7e76ba119b]::run_test::{closure#0}
[INFO] [stdout]   17:     0x58d7d34bba04 - std[617be2ca0a6fd877]::sys::backtrace::__rust_begin_short_backtrace::<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>
[INFO] [stdout]   18:     0x58d7d34c51a2 - <std[617be2ca0a6fd877]::thread::lifecycle::spawn_unchecked<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>::{closure#1} as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]   19:     0x58d7d352d6ff - <std[617be2ca0a6fd877]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]   20:     0x7a1f1c968dfa - <unknown>
[INFO] [stdout]   21:     0x7a1f1c9fc3d4 - clone
[INFO] [stdout]   22:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- test::enums_adjacent::unit stdout ----
[INFO] [stdout] 
[INFO] [stdout] import Json.Decode
[INFO] [stdout] import Json.Encode
[INFO] [stdout] import Dict exposing (Dict)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] resultDecoder : Json.Decode.Decoder e -> Json.Decode.Decoder t -> Json.Decode.Decoder (Result e t)
[INFO] [stdout] resultDecoder errDecoder okDecoder =
[INFO] [stdout]     Json.Decode.oneOf
[INFO] [stdout]         [ Json.Decode.map Ok (Json.Decode.field "Ok" okDecoder)
[INFO] [stdout]         , Json.Decode.map Err (Json.Decode.field "Err" errDecoder)
[INFO] [stdout]         ]
[INFO] [stdout] 
[INFO] [stdout] resultEncoder : (e -> Json.Encode.Value) -> (t -> Json.Encode.Value) -> (Result e t -> Json.Encode.Value)
[INFO] [stdout] resultEncoder errEncoder okEncoder enum =
[INFO] [stdout]     case enum of
[INFO] [stdout]         Ok inner ->
[INFO] [stdout]             Json.Encode.object [ ( "Ok", okEncoder inner ) ]
[INFO] [stdout]         Err inner ->
[INFO] [stdout]             Json.Encode.object [ ( "Err", errEncoder inner ) ]
[INFO] [stdout] 
[INFO] [stdout] type Enum
[INFO] [stdout]     = Unit1
[INFO] [stdout]     | Unit2
[INFO] [stdout]     | Newtype1 (Int)
[INFO] [stdout]     | Newtype2 (Int)
[INFO] [stdout]     | Tuple1 (Int) (Int)
[INFO] [stdout]     | Tuple2 (Int) (Int)
[INFO] [stdout]     | Named1 { field : Int }
[INFO] [stdout]     | Named2 { field : Int }
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] enumEncoder : Enum -> Json.Encode.Value
[INFO] [stdout] enumEncoder enum =
[INFO] [stdout]     case enum of
[INFO] [stdout]         Unit1 ->
[INFO] [stdout]             Json.Encode.object [ ( "t", Json.Encode.string "Unit1" ) ]
[INFO] [stdout]         Unit2 ->
[INFO] [stdout]             Json.Encode.object [ ( "t", Json.Encode.string "Unit2" ) ]
[INFO] [stdout]         Newtype1 inner ->
[INFO] [stdout]             Json.Encode.object [ ( "t", Json.Encode.string "Newtype1"), ( "c", Json.Encode.int inner ) ]
[INFO] [stdout]         Newtype2 inner ->
[INFO] [stdout]             Json.Encode.object [ ( "t", Json.Encode.string "Newtype2"), ( "c", Json.Encode.int inner ) ]
[INFO] [stdout]         Tuple1 t0 t1 ->
[INFO] [stdout]             Json.Encode.object [ ( "t", Json.Encode.string "Tuple1"), ( "c", Json.Encode.list identity [ Json.Encode.int t0, Json.Encode.int t1 ] ) ]
[INFO] [stdout]         Tuple2 t0 t1 ->
[INFO] [stdout]             Json.Encode.object [ ( "t", Json.Encode.string "Tuple2"), ( "c", Json.Encode.list identity [ Json.Encode.int t0, Json.Encode.int t1 ] ) ]
[INFO] [stdout]         Named1 { field } ->
[INFO] [stdout]             Json.Encode.object [ ( "t", Json.Encode.string "Named1"), ( "c", Json.Encode.object [ ( "field", (Json.Encode.int) field ) ] ) ]
[INFO] [stdout]         Named2 { field } ->
[INFO] [stdout]             Json.Encode.object [ ( "t", Json.Encode.string "Named2"), ( "c", Json.Encode.object [ ( "field", (Json.Encode.int) field ) ] ) ]
[INFO] [stdout] 
[INFO] [stdout] enumDecoder : Json.Decode.Decoder Enum
[INFO] [stdout] enumDecoder = 
[INFO] [stdout]         let
[INFO] [stdout]             elmRsConstructNamed1 field =
[INFO] [stdout]                         Named1 { field = field }
[INFO] [stdout]             elmRsConstructNamed2 field =
[INFO] [stdout]                         Named2 { field = field }
[INFO] [stdout]         in
[INFO] [stdout]     Json.Decode.field "t" Json.Decode.string
[INFO] [stdout]         |> Json.Decode.andThen
[INFO] [stdout]             (\tag ->
[INFO] [stdout]                 case tag of
[INFO] [stdout]                     "Unit1" ->
[INFO] [stdout]                         Json.Decode.succeed Unit1
[INFO] [stdout]                     "Unit2" ->
[INFO] [stdout]                         Json.Decode.succeed Unit2
[INFO] [stdout]                     "Newtype1" ->
[INFO] [stdout]                         Json.Decode.map Newtype1 (Json.Decode.field "c" (Json.Decode.int))
[INFO] [stdout]                     "Newtype2" ->
[INFO] [stdout]                         Json.Decode.map Newtype2 (Json.Decode.field "c" (Json.Decode.int))
[INFO] [stdout]                     "Tuple1" ->
[INFO] [stdout]                         Json.Decode.field "c" (Json.Decode.succeed Tuple1 |> Json.Decode.andThen (\x -> Json.Decode.index 0 (Json.Decode.int) |> Json.Decode.map x) |> Json.Decode.andThen (\x -> Json.Decode.index 1 (Json.Decode.int) |> Json.Decode.map x))
[INFO] [stdout]                     "Tuple2" ->
[INFO] [stdout]                         Json.Decode.field "c" (Json.Decode.succeed Tuple2 |> Json.Decode.andThen (\x -> Json.Decode.index 0 (Json.Decode.int) |> Json.Decode.map x) |> Json.Decode.andThen (\x -> Json.Decode.index 1 (Json.Decode.int) |> Json.Decode.map x))
[INFO] [stdout]                     "Named1" ->
[INFO] [stdout]                         Json.Decode.field "c" (Json.Decode.succeed elmRsConstructNamed1 |> Json.Decode.andThen (\x -> Json.Decode.map x (Json.Decode.field "field" (Json.Decode.int))))
[INFO] [stdout]                     "Named2" ->
[INFO] [stdout]                         Json.Decode.field "c" (Json.Decode.succeed elmRsConstructNamed2 |> Json.Decode.andThen (\x -> Json.Decode.map x (Json.Decode.field "field" (Json.Decode.int))))
[INFO] [stdout]                     unexpected ->
[INFO] [stdout]                         Json.Decode.fail <| "Unexpected variant " ++ unexpected
[INFO] [stdout]             )
[INFO] [stdout] 
[INFO] [stdout] decoded = Json.Decode.decodeString enumDecoder "{\"t\":\"Unit1\"}"
[INFO] [stdout] 
[INFO] [stdout] reEncoded = Result.map enumEncoder decoded
[INFO] [stdout] 
[INFO] [stdout] s = case reEncoded of
[INFO] [stdout]     Ok value ->
[INFO] [stdout]         Json.Encode.encode 0 value
[INFO] [stdout]     Err err ->
[INFO] [stdout]         Json.Decode.errorToString err
[INFO] [stdout] 
[INFO] [stdout] "START"
[INFO] [stdout] s
[INFO] [stdout] "END"
[INFO] [stdout] 
[INFO] [stdout] :exit
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] thread 'test::enums_adjacent::unit' (563) panicked at src/test/mod.rs:179:10:
[INFO] [stdout] called `Result::unwrap()` on an `Err` value: Os { code: 2, kind: NotFound, message: "No such file or directory" }
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x58d7d352dea1 - <<std[617be2ca0a6fd877]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[a373ad73a504971]::fmt::Display>::fmt
[INFO] [stdout]    1:     0x58d7d35429ea - core[a373ad73a504971]::fmt::write
[INFO] [stdout]    2:     0x58d7d35321dc - <alloc[2e1b2a31b91974c5]::vec::Vec<u8> as core[a373ad73a504971]::io::write::Write>::write_fmt
[INFO] [stdout]    3:     0x58d7d3509d96 - std[617be2ca0a6fd877]::panicking::default_hook::{closure#0}
[INFO] [stdout]    4:     0x58d7d3526539 - std[617be2ca0a6fd877]::panicking::default_hook
[INFO] [stdout]    5:     0x58d7d34c1af0 - test[aada8e7e76ba119b]::test_main_inner::{closure#0}
[INFO] [stdout]    6:     0x58d7d35266f2 - std[617be2ca0a6fd877]::panicking::panic_with_hook
[INFO] [stdout]    7:     0x58d7d3509e42 - std[617be2ca0a6fd877]::panicking::panic_handler::{closure#0}
[INFO] [stdout]    8:     0x58d7d3502b29 - std[617be2ca0a6fd877]::sys::backtrace::__rust_end_short_backtrace::<std[617be2ca0a6fd877]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]    9:     0x58d7d350aa4d - __rustc[ea4f61d10b84890b]::rust_begin_unwind
[INFO] [stdout]   10:     0x58d7d354311c - core[a373ad73a504971]::panicking::panic_fmt
[INFO] [stdout]   11:     0x58d7d3542ef2 - core[a373ad73a504971]::result::unwrap_failed
[INFO] [stdout]   12:     0x58d7d3451fe5 - elm_rs[4c59a4dd58a77a5c]::test::run_repl
[INFO] [stdout]   13:     0x58d7d34493ba - elm_rs[4c59a4dd58a77a5c]::test::test_json::<elm_rs[4c59a4dd58a77a5c]::test::enums_adjacent::Enum>
[INFO] [stdout]   14:     0x58d7d348758a - <elm_rs[4c59a4dd58a77a5c]::test::enums_adjacent::unit::{closure#0} as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]   15:     0x58d7d34b4f3b - test[aada8e7e76ba119b]::__rust_begin_short_backtrace::<core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String>, fn() -> core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String>>
[INFO] [stdout]   16:     0x58d7d34c2115 - test[aada8e7e76ba119b]::run_test::{closure#0}
[INFO] [stdout]   17:     0x58d7d34bba04 - std[617be2ca0a6fd877]::sys::backtrace::__rust_begin_short_backtrace::<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>
[INFO] [stdout]   18:     0x58d7d34c51a2 - <std[617be2ca0a6fd877]::thread::lifecycle::spawn_unchecked<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>::{closure#1} as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]   19:     0x58d7d352d6ff - <std[617be2ca0a6fd877]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]   20:     0x7a1f1c968dfa - <unknown>
[INFO] [stdout]   21:     0x7a1f1c9fc3d4 - clone
[INFO] [stdout]   22:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- test::enums_untagged::tuple stdout ----
[INFO] [stdout] 
[INFO] [stdout] import Json.Decode
[INFO] [stdout] import Json.Encode
[INFO] [stdout] import Dict exposing (Dict)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] resultDecoder : Json.Decode.Decoder e -> Json.Decode.Decoder t -> Json.Decode.Decoder (Result e t)
[INFO] [stdout] resultDecoder errDecoder okDecoder =
[INFO] [stdout]     Json.Decode.oneOf
[INFO] [stdout]         [ Json.Decode.map Ok (Json.Decode.field "Ok" okDecoder)
[INFO] [stdout]         , Json.Decode.map Err (Json.Decode.field "Err" errDecoder)
[INFO] [stdout]         ]
[INFO] [stdout] 
[INFO] [stdout] resultEncoder : (e -> Json.Encode.Value) -> (t -> Json.Encode.Value) -> (Result e t -> Json.Encode.Value)
[INFO] [stdout] resultEncoder errEncoder okEncoder enum =
[INFO] [stdout]     case enum of
[INFO] [stdout]         Ok inner ->
[INFO] [stdout]             Json.Encode.object [ ( "Ok", okEncoder inner ) ]
[INFO] [stdout]         Err inner ->
[INFO] [stdout]             Json.Encode.object [ ( "Err", errEncoder inner ) ]
[INFO] [stdout] 
[INFO] [stdout] type Enum
[INFO] [stdout]     = Unit1
[INFO] [stdout]     | Unit2
[INFO] [stdout]     | Newtype1 (Int)
[INFO] [stdout]     | Newtype2 (Int)
[INFO] [stdout]     | Tuple1 (Int) (Int)
[INFO] [stdout]     | Tuple2 (Int) (Int)
[INFO] [stdout]     | Named1 { field : Int }
[INFO] [stdout]     | Named2 { field : Int }
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] enumEncoder : Enum -> Json.Encode.Value
[INFO] [stdout] enumEncoder enum =
[INFO] [stdout]     case enum of
[INFO] [stdout]         Unit1 ->
[INFO] [stdout]             Json.Encode.null
[INFO] [stdout]         Unit2 ->
[INFO] [stdout]             Json.Encode.null
[INFO] [stdout]         Newtype1 inner ->
[INFO] [stdout]             Json.Encode.int inner
[INFO] [stdout]         Newtype2 inner ->
[INFO] [stdout]             Json.Encode.int inner
[INFO] [stdout]         Tuple1 t0 t1 -> 
[INFO] [stdout]             Json.Encode.list identity
[INFO] [stdout]             [ (Json.Encode.int) t0
[INFO] [stdout]             , (Json.Encode.int) t1
[INFO] [stdout]             ]
[INFO] [stdout]         Tuple2 t0 t1 -> 
[INFO] [stdout]             Json.Encode.list identity
[INFO] [stdout]             [ (Json.Encode.int) t0
[INFO] [stdout]             , (Json.Encode.int) t1
[INFO] [stdout]             ]
[INFO] [stdout]         Named1 { field } ->
[INFO] [stdout]             Json.Encode.object [ ( "field", (Json.Encode.int) field ) ]
[INFO] [stdout]         Named2 { field } ->
[INFO] [stdout]             Json.Encode.object [ ( "field", (Json.Encode.int) field ) ]
[INFO] [stdout] 
[INFO] [stdout] enumDecoder : Json.Decode.Decoder Enum
[INFO] [stdout] enumDecoder = 
[INFO] [stdout]         let
[INFO] [stdout]             elmRsConstructNamed1 field =
[INFO] [stdout]                         Named1 { field = field }
[INFO] [stdout]             elmRsConstructNamed2 field =
[INFO] [stdout]                         Named2 { field = field }
[INFO] [stdout]         in
[INFO] [stdout]     Json.Decode.oneOf
[INFO] [stdout]         [ Json.Decode.null Unit1
[INFO] [stdout]     , Json.Decode.null Unit2
[INFO] [stdout]     , Json.Decode.map Newtype1 (Json.Decode.int)
[INFO] [stdout]     , Json.Decode.map Newtype2 (Json.Decode.int)
[INFO] [stdout]     , Json.Decode.succeed Tuple1 |> Json.Decode.andThen (\x -> Json.Decode.index 0 (Json.Decode.int) |> Json.Decode.map x) |> Json.Decode.andThen (\x -> Json.Decode.index 1 (Json.Decode.int) |> Json.Decode.map x)
[INFO] [stdout]     , Json.Decode.succeed Tuple2 |> Json.Decode.andThen (\x -> Json.Decode.index 0 (Json.Decode.int) |> Json.Decode.map x) |> Json.Decode.andThen (\x -> Json.Decode.index 1 (Json.Decode.int) |> Json.Decode.map x)
[INFO] [stdout]     , Json.Decode.succeed elmRsConstructNamed1 |> Json.Decode.andThen (\x -> Json.Decode.map x (Json.Decode.field "field" (Json.Decode.int)))
[INFO] [stdout]     , Json.Decode.succeed elmRsConstructNamed2 |> Json.Decode.andThen (\x -> Json.Decode.map x (Json.Decode.field "field" (Json.Decode.int)))
[INFO] [stdout]         ]
[INFO] [stdout] 
[INFO] [stdout] decoded = Json.Decode.decodeString enumDecoder "[123,234]"
[INFO] [stdout] 
[INFO] [stdout] reEncoded = Result.map enumEncoder decoded
[INFO] [stdout] 
[INFO] [stdout] s = case reEncoded of
[INFO] [stdout]     Ok value ->
[INFO] [stdout]         Json.Encode.encode 0 value
[INFO] [stdout]     Err err ->
[INFO] [stdout]         Json.Decode.errorToString err
[INFO] [stdout] 
[INFO] [stdout] "START"
[INFO] [stdout] s
[INFO] [stdout] "END"
[INFO] [stdout] 
[INFO] [stdout] :exit
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] thread 'test::enums_untagged::tuple' (573) panicked at src/test/mod.rs:179:10:
[INFO] [stdout] called `Result::unwrap()` on an `Err` value: Os { code: 2, kind: NotFound, message: "No such file or directory" }
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x58d7d352dea1 - <<std[617be2ca0a6fd877]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[a373ad73a504971]::fmt::Display>::fmt
[INFO] [stdout]    1:     0x58d7d35429ea - core[a373ad73a504971]::fmt::write
[INFO] [stdout]    2:     0x58d7d35321dc - <alloc[2e1b2a31b91974c5]::vec::Vec<u8> as core[a373ad73a504971]::io::write::Write>::write_fmt
[INFO] [stdout]    3:     0x58d7d3509d96 - std[617be2ca0a6fd877]::panicking::default_hook::{closure#0}
[INFO] [stdout]    4:     0x58d7d3526539 - std[617be2ca0a6fd877]::panicking::default_hook
[INFO] [stdout]    5:     0x58d7d34c1af0 - test[aada8e7e76ba119b]::test_main_inner::{closure#0}
[INFO] [stdout]    6:     0x58d7d35266f2 - std[617be2ca0a6fd877]::panicking::panic_with_hook
[INFO] [stdout]    7:     0x58d7d3509e42 - std[617be2ca0a6fd877]::panicking::panic_handler::{closure#0}
[INFO] [stdout]    8:     0x58d7d3502b29 - std[617be2ca0a6fd877]::sys::backtrace::__rust_end_short_backtrace::<std[617be2ca0a6fd877]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]    9:     0x58d7d350aa4d - __rustc[ea4f61d10b84890b]::rust_begin_unwind
[INFO] [stdout]   10:     0x58d7d354311c - core[a373ad73a504971]::panicking::panic_fmt
[INFO] [stdout]   11:     0x58d7d3542ef2 - core[a373ad73a504971]::result::unwrap_failed
[INFO] [stdout]   12:     0x58d7d3451fe5 - elm_rs[4c59a4dd58a77a5c]::test::run_repl
[INFO] [stdout]   13:     0x58d7d344aeea - elm_rs[4c59a4dd58a77a5c]::test::test_json::<elm_rs[4c59a4dd58a77a5c]::test::enums_untagged::Enum>
[INFO] [stdout]   14:     0x58d7d34a2ad9 - <elm_rs[4c59a4dd58a77a5c]::test::enums_untagged::tuple::{closure#0} as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]   15:     0x58d7d34b4f3b - test[aada8e7e76ba119b]::__rust_begin_short_backtrace::<core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String>, fn() -> core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String>>
[INFO] [stdout]   16:     0x58d7d34c2115 - test[aada8e7e76ba119b]::run_test::{closure#0}
[INFO] [stdout]   17:     0x58d7d34bba04 - std[617be2ca0a6fd877]::sys::backtrace::__rust_begin_short_backtrace::<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>
[INFO] [stdout]   18:     0x58d7d34c51a2 - <std[617be2ca0a6fd877]::thread::lifecycle::spawn_unchecked<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>::{closure#1} as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]   19:     0x58d7d352d6ff - <std[617be2ca0a6fd877]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]   20:     0x7a1f1c968dfa - <unknown>
[INFO] [stdout]   21:     0x7a1f1c9fc3d4 - clone
[INFO] [stdout]   22:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- test::etc_serde::skip stdout ----
[INFO] [stdout] 
[INFO] [stdout] import Json.Decode
[INFO] [stdout] import Json.Encode
[INFO] [stdout] import Dict exposing (Dict)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] resultDecoder : Json.Decode.Decoder e -> Json.Decode.Decoder t -> Json.Decode.Decoder (Result e t)
[INFO] [stdout] resultDecoder errDecoder okDecoder =
[INFO] [stdout]     Json.Decode.oneOf
[INFO] [stdout]         [ Json.Decode.map Ok (Json.Decode.field "Ok" okDecoder)
[INFO] [stdout]         , Json.Decode.map Err (Json.Decode.field "Err" errDecoder)
[INFO] [stdout]         ]
[INFO] [stdout] 
[INFO] [stdout] resultEncoder : (e -> Json.Encode.Value) -> (t -> Json.Encode.Value) -> (Result e t -> Json.Encode.Value)
[INFO] [stdout] resultEncoder errEncoder okEncoder enum =
[INFO] [stdout]     case enum of
[INFO] [stdout]         Ok inner ->
[INFO] [stdout]             Json.Encode.object [ ( "Ok", okEncoder inner ) ]
[INFO] [stdout]         Err inner ->
[INFO] [stdout]             Json.Encode.object [ ( "Err", errEncoder inner ) ]
[INFO] [stdout] 
[INFO] [stdout] type alias Skip =
[INFO] [stdout]     { notSkipped : Int
[INFO] [stdout]     }
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] skipEncoder : Skip -> Json.Encode.Value
[INFO] [stdout] skipEncoder struct =
[INFO] [stdout]     Json.Encode.object
[INFO] [stdout]         [ ( "not_skipped", (Json.Encode.int) struct.notSkipped )
[INFO] [stdout]         ]
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] skipDecoder : Json.Decode.Decoder Skip
[INFO] [stdout] skipDecoder =
[INFO] [stdout]     Json.Decode.succeed Skip
[INFO] [stdout]         |> Json.Decode.andThen (\x -> Json.Decode.map x (Json.Decode.field "not_skipped" (Json.Decode.int)))
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] decoded = Json.Decode.decodeString skipDecoder "{\"not_skipped\":0}"
[INFO] [stdout] 
[INFO] [stdout] reEncoded = Result.map skipEncoder decoded
[INFO] [stdout] 
[INFO] [stdout] s = case reEncoded of
[INFO] [stdout]     Ok value ->
[INFO] [stdout]         Json.Encode.encode 0 value
[INFO] [stdout]     Err err ->
[INFO] [stdout]         Json.Decode.errorToString err
[INFO] [stdout] 
[INFO] [stdout] "START"
[INFO] [stdout] s
[INFO] [stdout] "END"
[INFO] [stdout] 
[INFO] [stdout] :exit
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] thread 'test::etc_serde::skip' (591) panicked at src/test/mod.rs:179:10:
[INFO] [stdout] called `Result::unwrap()` on an `Err` value: Os { code: 2, kind: NotFound, message: "No such file or directory" }
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x58d7d352dea1 - <<std[617be2ca0a6fd877]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[a373ad73a504971]::fmt::Display>::fmt
[INFO] [stdout]    1:     0x58d7d35429ea - core[a373ad73a504971]::fmt::write
[INFO] [stdout]    2:     0x58d7d35321dc - <alloc[2e1b2a31b91974c5]::vec::Vec<u8> as core[a373ad73a504971]::io::write::Write>::write_fmt
[INFO] [stdout]    3:     0x58d7d3509d96 - std[617be2ca0a6fd877]::panicking::default_hook::{closure#0}
[INFO] [stdout]    4:     0x58d7d3526539 - std[617be2ca0a6fd877]::panicking::default_hook
[INFO] [stdout]    5:     0x58d7d34c1af0 - test[aada8e7e76ba119b]::test_main_inner::{closure#0}
[INFO] [stdout]    6:     0x58d7d35266f2 - std[617be2ca0a6fd877]::panicking::panic_with_hook
[INFO] [stdout]    7:     0x58d7d3509e42 - std[617be2ca0a6fd877]::panicking::panic_handler::{closure#0}
[INFO] [stdout]    8:     0x58d7d3502b29 - std[617be2ca0a6fd877]::sys::backtrace::__rust_end_short_backtrace::<std[617be2ca0a6fd877]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]    9:     0x58d7d350aa4d - __rustc[ea4f61d10b84890b]::rust_begin_unwind
[INFO] [stdout]   10:     0x58d7d354311c - core[a373ad73a504971]::panicking::panic_fmt
[INFO] [stdout]   11:     0x58d7d3542ef2 - core[a373ad73a504971]::result::unwrap_failed
[INFO] [stdout]   12:     0x58d7d3451fe5 - elm_rs[4c59a4dd58a77a5c]::test::run_repl
[INFO] [stdout]   13:     0x58d7d3450a2d - elm_rs[4c59a4dd58a77a5c]::test::test_json::<elm_rs[4c59a4dd58a77a5c]::test::etc_serde::Skip>
[INFO] [stdout]   14:     0x58d7d3497f3d - <elm_rs[4c59a4dd58a77a5c]::test::etc_serde::skip::{closure#0} as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]   15:     0x58d7d34b4f3b - test[aada8e7e76ba119b]::__rust_begin_short_backtrace::<core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String>, fn() -> core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String>>
[INFO] [stdout]   16:     0x58d7d34c2115 - test[aada8e7e76ba119b]::run_test::{closure#0}
[INFO] [stdout]   17:     0x58d7d34bba04 - std[617be2ca0a6fd877]::sys::backtrace::__rust_begin_short_backtrace::<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>
[INFO] [stdout]   18:     0x58d7d34c51a2 - <std[617be2ca0a6fd877]::thread::lifecycle::spawn_unchecked<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>::{closure#1} as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]   19:     0x58d7d352d6ff - <std[617be2ca0a6fd877]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]   20:     0x7a1f1c968dfa - <unknown>
[INFO] [stdout]   21:     0x7a1f1c9fc3d4 - clone
[INFO] [stdout]   22:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- test::enums_untagged::unit stdout ----
[INFO] [stdout] 
[INFO] [stdout] import Json.Decode
[INFO] [stdout] import Json.Encode
[INFO] [stdout] import Dict exposing (Dict)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] resultDecoder : Json.Decode.Decoder e -> Json.Decode.Decoder t -> Json.Decode.Decoder (Result e t)
[INFO] [stdout] resultDecoder errDecoder okDecoder =
[INFO] [stdout]     Json.Decode.oneOf
[INFO] [stdout]         [ Json.Decode.map Ok (Json.Decode.field "Ok" okDecoder)
[INFO] [stdout]         , Json.Decode.map Err (Json.Decode.field "Err" errDecoder)
[INFO] [stdout]         ]
[INFO] [stdout] 
[INFO] [stdout] resultEncoder : (e -> Json.Encode.Value) -> (t -> Json.Encode.Value) -> (Result e t -> Json.Encode.Value)
[INFO] [stdout] resultEncoder errEncoder okEncoder enum =
[INFO] [stdout]     case enum of
[INFO] [stdout]         Ok inner ->
[INFO] [stdout]             Json.Encode.object [ ( "Ok", okEncoder inner ) ]
[INFO] [stdout]         Err inner ->
[INFO] [stdout]             Json.Encode.object [ ( "Err", errEncoder inner ) ]
[INFO] [stdout] 
[INFO] [stdout] type Enum
[INFO] [stdout]     = Unit1
[INFO] [stdout]     | Unit2
[INFO] [stdout]     | Newtype1 (Int)
[INFO] [stdout]     | Newtype2 (Int)
[INFO] [stdout]     | Tuple1 (Int) (Int)
[INFO] [stdout]     | Tuple2 (Int) (Int)
[INFO] [stdout]     | Named1 { field : Int }
[INFO] [stdout]     | Named2 { field : Int }
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] enumEncoder : Enum -> Json.Encode.Value
[INFO] [stdout] enumEncoder enum =
[INFO] [stdout]     case enum of
[INFO] [stdout]         Unit1 ->
[INFO] [stdout]             Json.Encode.null
[INFO] [stdout]         Unit2 ->
[INFO] [stdout]             Json.Encode.null
[INFO] [stdout]         Newtype1 inner ->
[INFO] [stdout]             Json.Encode.int inner
[INFO] [stdout]         Newtype2 inner ->
[INFO] [stdout]             Json.Encode.int inner
[INFO] [stdout]         Tuple1 t0 t1 -> 
[INFO] [stdout]             Json.Encode.list identity
[INFO] [stdout]             [ (Json.Encode.int) t0
[INFO] [stdout]             , (Json.Encode.int) t1
[INFO] [stdout]             ]
[INFO] [stdout]         Tuple2 t0 t1 -> 
[INFO] [stdout]             Json.Encode.list identity
[INFO] [stdout]             [ (Json.Encode.int) t0
[INFO] [stdout]             , (Json.Encode.int) t1
[INFO] [stdout]             ]
[INFO] [stdout]         Named1 { field } ->
[INFO] [stdout]             Json.Encode.object [ ( "field", (Json.Encode.int) field ) ]
[INFO] [stdout]         Named2 { field } ->
[INFO] [stdout]             Json.Encode.object [ ( "field", (Json.Encode.int) field ) ]
[INFO] [stdout] 
[INFO] [stdout] enumDecoder : Json.Decode.Decoder Enum
[INFO] [stdout] enumDecoder = 
[INFO] [stdout]         let
[INFO] [stdout]             elmRsConstructNamed1 field =
[INFO] [stdout]                         Named1 { field = field }
[INFO] [stdout]             elmRsConstructNamed2 field =
[INFO] [stdout]                         Named2 { field = field }
[INFO] [stdout]         in
[INFO] [stdout]     Json.Decode.oneOf
[INFO] [stdout]         [ Json.Decode.null Unit1
[INFO] [stdout]     , Json.Decode.null Unit2
[INFO] [stdout]     , Json.Decode.map Newtype1 (Json.Decode.int)
[INFO] [stdout]     , Json.Decode.map Newtype2 (Json.Decode.int)
[INFO] [stdout]     , Json.Decode.succeed Tuple1 |> Json.Decode.andThen (\x -> Json.Decode.index 0 (Json.Decode.int) |> Json.Decode.map x) |> Json.Decode.andThen (\x -> Json.Decode.index 1 (Json.Decode.int) |> Json.Decode.map x)
[INFO] [stdout]     , Json.Decode.succeed Tuple2 |> Json.Decode.andThen (\x -> Json.Decode.index 0 (Json.Decode.int) |> Json.Decode.map x) |> Json.Decode.andThen (\x -> Json.Decode.index 1 (Json.Decode.int) |> Json.Decode.map x)
[INFO] [stdout]     , Json.Decode.succeed elmRsConstructNamed1 |> Json.Decode.andThen (\x -> Json.Decode.map x (Json.Decode.field "field" (Json.Decode.int)))
[INFO] [stdout]     , Json.Decode.succeed elmRsConstructNamed2 |> Json.Decode.andThen (\x -> Json.Decode.map x (Json.Decode.field "field" (Json.Decode.int)))
[INFO] [stdout]         ]
[INFO] [stdout] 
[INFO] [stdout] decoded = Json.Decode.decodeString enumDecoder "null"
[INFO] [stdout] 
[INFO] [stdout] reEncoded = Result.map enumEncoder decoded
[INFO] [stdout] 
[INFO] [stdout] s = case reEncoded of
[INFO] [stdout]     Ok value ->
[INFO] [stdout]         Json.Encode.encode 0 value
[INFO] [stdout]     Err err ->
[INFO] [stdout]         Json.Decode.errorToString err
[INFO] [stdout] 
[INFO] [stdout] "START"
[INFO] [stdout] s
[INFO] [stdout] "END"
[INFO] [stdout] 
[INFO] [stdout] :exit
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] thread 'test::enums_untagged::unit' (574) panicked at src/test/mod.rs:179:10:
[INFO] [stdout] called `Result::unwrap()` on an `Err` value: Os { code: 2, kind: NotFound, message: "No such file or directory" }
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x58d7d352dea1 - <<std[617be2ca0a6fd877]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[a373ad73a504971]::fmt::Display>::fmt
[INFO] [stdout]    1:     0x58d7d35429ea - core[a373ad73a504971]::fmt::write
[INFO] [stdout]    2:     0x58d7d35321dc - <alloc[2e1b2a31b91974c5]::vec::Vec<u8> as core[a373ad73a504971]::io::write::Write>::write_fmt
[INFO] [stdout]    3:     0x58d7d3509d96 - std[617be2ca0a6fd877]::panicking::default_hook::{closure#0}
[INFO] [stdout]    4:     0x58d7d3526539 - std[617be2ca0a6fd877]::panicking::default_hook
[INFO] [stdout]    5:     0x58d7d34c1af0 - test[aada8e7e76ba119b]::test_main_inner::{closure#0}
[INFO] [stdout]    6:     0x58d7d35266f2 - std[617be2ca0a6fd877]::panicking::panic_with_hook
[INFO] [stdout]    7:     0x58d7d3509e42 - std[617be2ca0a6fd877]::panicking::panic_handler::{closure#0}
[INFO] [stdout]    8:     0x58d7d3502b29 - std[617be2ca0a6fd877]::sys::backtrace::__rust_end_short_backtrace::<std[617be2ca0a6fd877]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]    9:     0x58d7d350aa4d - __rustc[ea4f61d10b84890b]::rust_begin_unwind
[INFO] [stdout]   10:     0x58d7d354311c - core[a373ad73a504971]::panicking::panic_fmt
[INFO] [stdout]   11:     0x58d7d3542ef2 - core[a373ad73a504971]::result::unwrap_failed
[INFO] [stdout]   12:     0x58d7d3451fe5 - elm_rs[4c59a4dd58a77a5c]::test::run_repl
[INFO] [stdout]   13:     0x58d7d344aeea - elm_rs[4c59a4dd58a77a5c]::test::test_json::<elm_rs[4c59a4dd58a77a5c]::test::enums_untagged::Enum>
[INFO] [stdout]   14:     0x58d7d34a2a5a - <elm_rs[4c59a4dd58a77a5c]::test::enums_untagged::unit::{closure#0} as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]   15:     0x58d7d34b4f3b - test[aada8e7e76ba119b]::__rust_begin_short_backtrace::<core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String>, fn() -> core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String>>
[INFO] [stdout]   16:     0x58d7d34c2115 - test[aada8e7e76ba119b]::run_test::{closure#0}
[INFO] [stdout]   17:     0x58d7d34bba04 - std[617be2ca0a6fd877]::sys::backtrace::__rust_begin_short_backtrace::<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>
[INFO] [stdout]   18:     0x58d7d34c51a2 - <std[617be2ca0a6fd877]::thread::lifecycle::spawn_unchecked<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>::{closure#1} as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]   19:     0x58d7d352d6ff - <std[617be2ca0a6fd877]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]   20:     0x7a1f1c968dfa - <unknown>
[INFO] [stdout]   21:     0x7a1f1c9fc3d4 - clone
[INFO] [stdout]   22:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- test::enums_untagged::newtype stdout ----
[INFO] [stdout] 
[INFO] [stdout] import Json.Decode
[INFO] [stdout] import Json.Encode
[INFO] [stdout] import Dict exposing (Dict)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] resultDecoder : Json.Decode.Decoder e -> Json.Decode.Decoder t -> Json.Decode.Decoder (Result e t)
[INFO] [stdout] resultDecoder errDecoder okDecoder =
[INFO] [stdout]     Json.Decode.oneOf
[INFO] [stdout]         [ Json.Decode.map Ok (Json.Decode.field "Ok" okDecoder)
[INFO] [stdout]         , Json.Decode.map Err (Json.Decode.field "Err" errDecoder)
[INFO] [stdout]         ]
[INFO] [stdout] 
[INFO] [stdout] resultEncoder : (e -> Json.Encode.Value) -> (t -> Json.Encode.Value) -> (Result e t -> Json.Encode.Value)
[INFO] [stdout] resultEncoder errEncoder okEncoder enum =
[INFO] [stdout]     case enum of
[INFO] [stdout]         Ok inner ->
[INFO] [stdout]             Json.Encode.object [ ( "Ok", okEncoder inner ) ]
[INFO] [stdout]         Err inner ->
[INFO] [stdout]             Json.Encode.object [ ( "Err", errEncoder inner ) ]
[INFO] [stdout] 
[INFO] [stdout] type Enum
[INFO] [stdout]     = Unit1
[INFO] [stdout]     | Unit2
[INFO] [stdout]     | Newtype1 (Int)
[INFO] [stdout]     | Newtype2 (Int)
[INFO] [stdout]     | Tuple1 (Int) (Int)
[INFO] [stdout]     | Tuple2 (Int) (Int)
[INFO] [stdout]     | Named1 { field : Int }
[INFO] [stdout]     | Named2 { field : Int }
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] enumEncoder : Enum -> Json.Encode.Value
[INFO] [stdout] enumEncoder enum =
[INFO] [stdout]     case enum of
[INFO] [stdout]         Unit1 ->
[INFO] [stdout]             Json.Encode.null
[INFO] [stdout]         Unit2 ->
[INFO] [stdout]             Json.Encode.null
[INFO] [stdout]         Newtype1 inner ->
[INFO] [stdout]             Json.Encode.int inner
[INFO] [stdout]         Newtype2 inner ->
[INFO] [stdout]             Json.Encode.int inner
[INFO] [stdout]         Tuple1 t0 t1 -> 
[INFO] [stdout]             Json.Encode.list identity
[INFO] [stdout]             [ (Json.Encode.int) t0
[INFO] [stdout]             , (Json.Encode.int) t1
[INFO] [stdout]             ]
[INFO] [stdout]         Tuple2 t0 t1 -> 
[INFO] [stdout]             Json.Encode.list identity
[INFO] [stdout]             [ (Json.Encode.int) t0
[INFO] [stdout]             , (Json.Encode.int) t1
[INFO] [stdout]             ]
[INFO] [stdout]         Named1 { field } ->
[INFO] [stdout]             Json.Encode.object [ ( "field", (Json.Encode.int) field ) ]
[INFO] [stdout]         Named2 { field } ->
[INFO] [stdout]             Json.Encode.object [ ( "field", (Json.Encode.int) field ) ]
[INFO] [stdout] 
[INFO] [stdout] enumDecoder : Json.Decode.Decoder Enum
[INFO] [stdout] enumDecoder = 
[INFO] [stdout]         let
[INFO] [stdout]             elmRsConstructNamed1 field =
[INFO] [stdout]                         Named1 { field = field }
[INFO] [stdout]             elmRsConstructNamed2 field =
[INFO] [stdout]                         Named2 { field = field }
[INFO] [stdout]         in
[INFO] [stdout]     Json.Decode.oneOf
[INFO] [stdout]         [ Json.Decode.null Unit1
[INFO] [stdout]     , Json.Decode.null Unit2
[INFO] [stdout]     , Json.Decode.map Newtype1 (Json.Decode.int)
[INFO] [stdout]     , Json.Decode.map Newtype2 (Json.Decode.int)
[INFO] [stdout]     , Json.Decode.succeed Tuple1 |> Json.Decode.andThen (\x -> Json.Decode.index 0 (Json.Decode.int) |> Json.Decode.map x) |> Json.Decode.andThen (\x -> Json.Decode.index 1 (Json.Decode.int) |> Json.Decode.map x)
[INFO] [stdout]     , Json.Decode.succeed Tuple2 |> Json.Decode.andThen (\x -> Json.Decode.index 0 (Json.Decode.int) |> Json.Decode.map x) |> Json.Decode.andThen (\x -> Json.Decode.index 1 (Json.Decode.int) |> Json.Decode.map x)
[INFO] [stdout]     , Json.Decode.succeed elmRsConstructNamed1 |> Json.Decode.andThen (\x -> Json.Decode.map x (Json.Decode.field "field" (Json.Decode.int)))
[INFO] [stdout]     , Json.Decode.succeed elmRsConstructNamed2 |> Json.Decode.andThen (\x -> Json.Decode.map x (Json.Decode.field "field" (Json.Decode.int)))
[INFO] [stdout]         ]
[INFO] [stdout] 
[INFO] [stdout] decoded = Json.Decode.decodeString enumDecoder "123"
[INFO] [stdout] 
[INFO] [stdout] reEncoded = Result.map enumEncoder decoded
[INFO] [stdout] 
[INFO] [stdout] s = case reEncoded of
[INFO] [stdout]     Ok value ->
[INFO] [stdout]         Json.Encode.encode 0 value
[INFO] [stdout]     Err err ->
[INFO] [stdout]         Json.Decode.errorToString err
[INFO] [stdout] 
[INFO] [stdout] "START"
[INFO] [stdout] s
[INFO] [stdout] "END"
[INFO] [stdout] 
[INFO] [stdout] :exit
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] thread 'test::enums_untagged::newtype' (572) panicked at src/test/mod.rs:179:10:
[INFO] [stdout] called `Result::unwrap()` on an `Err` value: Os { code: 2, kind: NotFound, message: "No such file or directory" }
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x58d7d352dea1 - <<std[617be2ca0a6fd877]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[a373ad73a504971]::fmt::Display>::fmt
[INFO] [stdout]    1:     0x58d7d35429ea - core[a373ad73a504971]::fmt::write
[INFO] [stdout]    2:     0x58d7d35321dc - <alloc[2e1b2a31b91974c5]::vec::Vec<u8> as core[a373ad73a504971]::io::write::Write>::write_fmt
[INFO] [stdout]    3:     0x58d7d3509d96 - std[617be2ca0a6fd877]::panicking::default_hook::{closure#0}
[INFO] [stdout]    4:     0x58d7d3526539 - std[617be2ca0a6fd877]::panicking::default_hook
[INFO] [stdout]    5:     0x58d7d34c1af0 - test[aada8e7e76ba119b]::test_main_inner::{closure#0}
[INFO] [stdout]    6:     0x58d7d35266f2 - std[617be2ca0a6fd877]::panicking::panic_with_hook
[INFO] [stdout]    7:     0x58d7d3509e42 - std[617be2ca0a6fd877]::panicking::panic_handler::{closure#0}
[INFO] [stdout]    8:     0x58d7d3502b29 - std[617be2ca0a6fd877]::sys::backtrace::__rust_end_short_backtrace::<std[617be2ca0a6fd877]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]    9:     0x58d7d350aa4d - __rustc[ea4f61d10b84890b]::rust_begin_unwind
[INFO] [stdout]   10:     0x58d7d354311c - core[a373ad73a504971]::panicking::panic_fmt
[INFO] [stdout]   11:     0x58d7d3542ef2 - core[a373ad73a504971]::result::unwrap_failed
[INFO] [stdout]   12:     0x58d7d3451fe5 - elm_rs[4c59a4dd58a77a5c]::test::run_repl
[INFO] [stdout]   13:     0x58d7d344aeea - elm_rs[4c59a4dd58a77a5c]::test::test_json::<elm_rs[4c59a4dd58a77a5c]::test::enums_untagged::Enum>
[INFO] [stdout]   14:     0x58d7d34a2b11 - <elm_rs[4c59a4dd58a77a5c]::test::enums_untagged::newtype::{closure#0} as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]   15:     0x58d7d34b4f3b - test[aada8e7e76ba119b]::__rust_begin_short_backtrace::<core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String>, fn() -> core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String>>
[INFO] [stdout]   16:     0x58d7d34c2115 - test[aada8e7e76ba119b]::run_test::{closure#0}
[INFO] [stdout]   17:     0x58d7d34bba04 - std[617be2ca0a6fd877]::sys::backtrace::__rust_begin_short_backtrace::<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>
[INFO] [stdout]   18:     0x58d7d34c51a2 - <std[617be2ca0a6fd877]::thread::lifecycle::spawn_unchecked<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>::{closure#1} as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]   19:     0x58d7d352d6ff - <std[617be2ca0a6fd877]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]   20:     0x7a1f1c968dfa - <unknown>
[INFO] [stdout]   21:     0x7a1f1c9fc3d4 - clone
[INFO] [stdout]   22:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- test::enums_internal::named stdout ----
[INFO] [stdout] 
[INFO] [stdout] import Json.Decode
[INFO] [stdout] import Json.Encode
[INFO] [stdout] import Dict exposing (Dict)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] resultDecoder : Json.Decode.Decoder e -> Json.Decode.Decoder t -> Json.Decode.Decoder (Result e t)
[INFO] [stdout] resultDecoder errDecoder okDecoder =
[INFO] [stdout]     Json.Decode.oneOf
[INFO] [stdout]         [ Json.Decode.map Ok (Json.Decode.field "Ok" okDecoder)
[INFO] [stdout]         , Json.Decode.map Err (Json.Decode.field "Err" errDecoder)
[INFO] [stdout]         ]
[INFO] [stdout] 
[INFO] [stdout] resultEncoder : (e -> Json.Encode.Value) -> (t -> Json.Encode.Value) -> (Result e t -> Json.Encode.Value)
[INFO] [stdout] resultEncoder errEncoder okEncoder enum =
[INFO] [stdout]     case enum of
[INFO] [stdout]         Ok inner ->
[INFO] [stdout]             Json.Encode.object [ ( "Ok", okEncoder inner ) ]
[INFO] [stdout]         Err inner ->
[INFO] [stdout]             Json.Encode.object [ ( "Err", errEncoder inner ) ]
[INFO] [stdout] 
[INFO] [stdout] type Enum
[INFO] [stdout]     = Unit1
[INFO] [stdout]     | Unit2
[INFO] [stdout]     | Named1 { field : Int }
[INFO] [stdout]     | Named2 { field : Int }
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] enumEncoder : Enum -> Json.Encode.Value
[INFO] [stdout] enumEncoder enum =
[INFO] [stdout]     case enum of
[INFO] [stdout]         Unit1 ->
[INFO] [stdout]             Json.Encode.object [ ( "t", Json.Encode.string "Unit1" ) ]
[INFO] [stdout]         Unit2 ->
[INFO] [stdout]             Json.Encode.object [ ( "t", Json.Encode.string "Unit2" ) ]
[INFO] [stdout]         Named1 { field } ->
[INFO] [stdout]             Json.Encode.object [ ( "t", Json.Encode.string "Named1" ), ( "field", (Json.Encode.int) field ) ]
[INFO] [stdout]         Named2 { field } ->
[INFO] [stdout]             Json.Encode.object [ ( "t", Json.Encode.string "Named2" ), ( "field", (Json.Encode.int) field ) ]
[INFO] [stdout] 
[INFO] [stdout] enumDecoder : Json.Decode.Decoder Enum
[INFO] [stdout] enumDecoder = 
[INFO] [stdout]         let
[INFO] [stdout]             elmRsConstructNamed1 field =
[INFO] [stdout]                         Named1 { field = field }
[INFO] [stdout]             elmRsConstructNamed2 field =
[INFO] [stdout]                         Named2 { field = field }
[INFO] [stdout]         in
[INFO] [stdout]     Json.Decode.field "t" Json.Decode.string
[INFO] [stdout]         |> Json.Decode.andThen
[INFO] [stdout]             (\tag ->
[INFO] [stdout]                 case tag of
[INFO] [stdout]                     "Unit1" ->
[INFO] [stdout]                         Json.Decode.succeed Unit1
[INFO] [stdout]                     "Unit2" ->
[INFO] [stdout]                         Json.Decode.succeed Unit2
[INFO] [stdout]                     "Named1" ->
[INFO] [stdout]                         Json.Decode.succeed elmRsConstructNamed1 |> Json.Decode.andThen (\x -> Json.Decode.map x (Json.Decode.field "field" (Json.Decode.int)))
[INFO] [stdout]                     "Named2" ->
[INFO] [stdout]                         Json.Decode.succeed elmRsConstructNamed2 |> Json.Decode.andThen (\x -> Json.Decode.map x (Json.Decode.field "field" (Json.Decode.int)))
[INFO] [stdout]                     unexpected ->
[INFO] [stdout]                         Json.Decode.fail <| "Unexpected variant " ++ unexpected
[INFO] [stdout]             )
[INFO] [stdout] 
[INFO] [stdout] decoded = Json.Decode.decodeString enumDecoder "{\"t\":\"Named1\",\"field\":123}"
[INFO] [stdout] 
[INFO] [stdout] reEncoded = Result.map enumEncoder decoded
[INFO] [stdout] 
[INFO] [stdout] s = case reEncoded of
[INFO] [stdout]     Ok value ->
[INFO] [stdout]         Json.Encode.encode 0 value
[INFO] [stdout]     Err err ->
[INFO] [stdout]         Json.Decode.errorToString err
[INFO] [stdout] 
[INFO] [stdout] "START"
[INFO] [stdout] s
[INFO] [stdout] "END"
[INFO] [stdout] 
[INFO] [stdout] :exit
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] thread 'test::enums_internal::named' (568) panicked at src/test/mod.rs:179:10:
[INFO] [stdout] called `Result::unwrap()` on an `Err` value: Os { code: 2, kind: NotFound, message: "No such file or directory" }
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x58d7d352dea1 - <<std[617be2ca0a6fd877]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[a373ad73a504971]::fmt::Display>::fmt
[INFO] [stdout]    1:     0x58d7d35429ea - core[a373ad73a504971]::fmt::write
[INFO] [stdout]    2:     0x58d7d35321dc - <alloc[2e1b2a31b91974c5]::vec::Vec<u8> as core[a373ad73a504971]::io::write::Write>::write_fmt
[INFO] [stdout]    3:     0x58d7d3509d96 - std[617be2ca0a6fd877]::panicking::default_hook::{closure#0}
[INFO] [stdout]    4:     0x58d7d3526539 - std[617be2ca0a6fd877]::panicking::default_hook
[INFO] [stdout]    5:     0x58d7d34c1af0 - test[aada8e7e76ba119b]::test_main_inner::{closure#0}
[INFO] [stdout]    6:     0x58d7d35266f2 - std[617be2ca0a6fd877]::panicking::panic_with_hook
[INFO] [stdout]    7:     0x58d7d3509e42 - std[617be2ca0a6fd877]::panicking::panic_handler::{closure#0}
[INFO] [stdout]    8:     0x58d7d3502b29 - std[617be2ca0a6fd877]::sys::backtrace::__rust_end_short_backtrace::<std[617be2ca0a6fd877]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]    9:     0x58d7d350aa4d - __rustc[ea4f61d10b84890b]::rust_begin_unwind
[INFO] [stdout]   10:     0x58d7d354311c - core[a373ad73a504971]::panicking::panic_fmt
[INFO] [stdout]   11:     0x58d7d3542ef2 - core[a373ad73a504971]::result::unwrap_failed
[INFO] [stdout]   12:     0x58d7d3451fe5 - elm_rs[4c59a4dd58a77a5c]::test::run_repl
[INFO] [stdout]   13:     0x58d7d344a5f9 - elm_rs[4c59a4dd58a77a5c]::test::test_json::<elm_rs[4c59a4dd58a77a5c]::test::enums_internal::Enum>
[INFO] [stdout]   14:     0x58d7d34a9c13 - <elm_rs[4c59a4dd58a77a5c]::test::enums_internal::named::{closure#0} as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]   15:     0x58d7d34b4f3b - test[aada8e7e76ba119b]::__rust_begin_short_backtrace::<core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String>, fn() -> core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String>>
[INFO] [stdout]   16:     0x58d7d34c2115 - test[aada8e7e76ba119b]::run_test::{closure#0}
[INFO] [stdout]   17:     0x58d7d34bba04 - std[617be2ca0a6fd877]::sys::backtrace::__rust_begin_short_backtrace::<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>
[INFO] [stdout]   18:     0x58d7d34c51a2 - <std[617be2ca0a6fd877]::thread::lifecycle::spawn_unchecked<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>::{closure#1} as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]   19:     0x58d7d352d6ff - <std[617be2ca0a6fd877]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]   20:     0x7a1f1c968dfa - <unknown>
[INFO] [stdout]   21:     0x7a1f1c9fc3d4 - clone
[INFO] [stdout]   22:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- test::enums_adjacent::named stdout ----
[INFO] [stdout] 
[INFO] [stdout] import Json.Decode
[INFO] [stdout] import Json.Encode
[INFO] [stdout] import Dict exposing (Dict)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] resultDecoder : Json.Decode.Decoder e -> Json.Decode.Decoder t -> Json.Decode.Decoder (Result e t)
[INFO] [stdout] resultDecoder errDecoder okDecoder =
[INFO] [stdout]     Json.Decode.oneOf
[INFO] [stdout]         [ Json.Decode.map Ok (Json.Decode.field "Ok" okDecoder)
[INFO] [stdout]         , Json.Decode.map Err (Json.Decode.field "Err" errDecoder)
[INFO] [stdout]         ]
[INFO] [stdout] 
[INFO] [stdout] resultEncoder : (e -> Json.Encode.Value) -> (t -> Json.Encode.Value) -> (Result e t -> Json.Encode.Value)
[INFO] [stdout] resultEncoder errEncoder okEncoder enum =
[INFO] [stdout]     case enum of
[INFO] [stdout]         Ok inner ->
[INFO] [stdout]             Json.Encode.object [ ( "Ok", okEncoder inner ) ]
[INFO] [stdout]         Err inner ->
[INFO] [stdout]             Json.Encode.object [ ( "Err", errEncoder inner ) ]
[INFO] [stdout] 
[INFO] [stdout] type Enum
[INFO] [stdout]     = Unit1
[INFO] [stdout]     | Unit2
[INFO] [stdout]     | Newtype1 (Int)
[INFO] [stdout]     | Newtype2 (Int)
[INFO] [stdout]     | Tuple1 (Int) (Int)
[INFO] [stdout]     | Tuple2 (Int) (Int)
[INFO] [stdout]     | Named1 { field : Int }
[INFO] [stdout]     | Named2 { field : Int }
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] enumEncoder : Enum -> Json.Encode.Value
[INFO] [stdout] enumEncoder enum =
[INFO] [stdout]     case enum of
[INFO] [stdout]         Unit1 ->
[INFO] [stdout]             Json.Encode.object [ ( "t", Json.Encode.string "Unit1" ) ]
[INFO] [stdout]         Unit2 ->
[INFO] [stdout]             Json.Encode.object [ ( "t", Json.Encode.string "Unit2" ) ]
[INFO] [stdout]         Newtype1 inner ->
[INFO] [stdout]             Json.Encode.object [ ( "t", Json.Encode.string "Newtype1"), ( "c", Json.Encode.int inner ) ]
[INFO] [stdout]         Newtype2 inner ->
[INFO] [stdout]             Json.Encode.object [ ( "t", Json.Encode.string "Newtype2"), ( "c", Json.Encode.int inner ) ]
[INFO] [stdout]         Tuple1 t0 t1 ->
[INFO] [stdout]             Json.Encode.object [ ( "t", Json.Encode.string "Tuple1"), ( "c", Json.Encode.list identity [ Json.Encode.int t0, Json.Encode.int t1 ] ) ]
[INFO] [stdout]         Tuple2 t0 t1 ->
[INFO] [stdout]             Json.Encode.object [ ( "t", Json.Encode.string "Tuple2"), ( "c", Json.Encode.list identity [ Json.Encode.int t0, Json.Encode.int t1 ] ) ]
[INFO] [stdout]         Named1 { field } ->
[INFO] [stdout]             Json.Encode.object [ ( "t", Json.Encode.string "Named1"), ( "c", Json.Encode.object [ ( "field", (Json.Encode.int) field ) ] ) ]
[INFO] [stdout]         Named2 { field } ->
[INFO] [stdout]             Json.Encode.object [ ( "t", Json.Encode.string "Named2"), ( "c", Json.Encode.object [ ( "field", (Json.Encode.int) field ) ] ) ]
[INFO] [stdout] 
[INFO] [stdout] enumDecoder : Json.Decode.Decoder Enum
[INFO] [stdout] enumDecoder = 
[INFO] [stdout]         let
[INFO] [stdout]             elmRsConstructNamed1 field =
[INFO] [stdout]                         Named1 { field = field }
[INFO] [stdout]             elmRsConstructNamed2 field =
[INFO] [stdout]                         Named2 { field = field }
[INFO] [stdout]         in
[INFO] [stdout]     Json.Decode.field "t" Json.Decode.string
[INFO] [stdout]         |> Json.Decode.andThen
[INFO] [stdout]             (\tag ->
[INFO] [stdout]                 case tag of
[INFO] [stdout]                     "Unit1" ->
[INFO] [stdout]                         Json.Decode.succeed Unit1
[INFO] [stdout]                     "Unit2" ->
[INFO] [stdout]                         Json.Decode.succeed Unit2
[INFO] [stdout]                     "Newtype1" ->
[INFO] [stdout]                         Json.Decode.map Newtype1 (Json.Decode.field "c" (Json.Decode.int))
[INFO] [stdout]                     "Newtype2" ->
[INFO] [stdout]                         Json.Decode.map Newtype2 (Json.Decode.field "c" (Json.Decode.int))
[INFO] [stdout]                     "Tuple1" ->
[INFO] [stdout]                         Json.Decode.field "c" (Json.Decode.succeed Tuple1 |> Json.Decode.andThen (\x -> Json.Decode.index 0 (Json.Decode.int) |> Json.Decode.map x) |> Json.Decode.andThen (\x -> Json.Decode.index 1 (Json.Decode.int) |> Json.Decode.map x))
[INFO] [stdout]                     "Tuple2" ->
[INFO] [stdout]                         Json.Decode.field "c" (Json.Decode.succeed Tuple2 |> Json.Decode.andThen (\x -> Json.Decode.index 0 (Json.Decode.int) |> Json.Decode.map x) |> Json.Decode.andThen (\x -> Json.Decode.index 1 (Json.Decode.int) |> Json.Decode.map x))
[INFO] [stdout]                     "Named1" ->
[INFO] [stdout]                         Json.Decode.field "c" (Json.Decode.succeed elmRsConstructNamed1 |> Json.Decode.andThen (\x -> Json.Decode.map x (Json.Decode.field "field" (Json.Decode.int))))
[INFO] [stdout]                     "Named2" ->
[INFO] [stdout]                         Json.Decode.field "c" (Json.Decode.succeed elmRsConstructNamed2 |> Json.Decode.andThen (\x -> Json.Decode.map x (Json.Decode.field "field" (Json.Decode.int))))
[INFO] [stdout]                     unexpected ->
[INFO] [stdout]                         Json.Decode.fail <| "Unexpected variant " ++ unexpected
[INFO] [stdout]             )
[INFO] [stdout] 
[INFO] [stdout] decoded = Json.Decode.decodeString enumDecoder "{\"t\":\"Named1\",\"c\":{\"field\":123}}"
[INFO] [stdout] 
[INFO] [stdout] reEncoded = Result.map enumEncoder decoded
[INFO] [stdout] 
[INFO] [stdout] s = case reEncoded of
[INFO] [stdout]     Ok value ->
[INFO] [stdout]         Json.Encode.encode 0 value
[INFO] [stdout]     Err err ->
[INFO] [stdout]         Json.Decode.errorToString err
[INFO] [stdout] 
[INFO] [stdout] "START"
[INFO] [stdout] s
[INFO] [stdout] "END"
[INFO] [stdout] 
[INFO] [stdout] :exit
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] thread 'test::enums_adjacent::named' (558) panicked at src/test/mod.rs:179:10:
[INFO] [stdout] called `Result::unwrap()` on an `Err` value: Os { code: 2, kind: NotFound, message: "No such file or directory" }
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x58d7d352dea1 - <<std[617be2ca0a6fd877]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[a373ad73a504971]::fmt::Display>::fmt
[INFO] [stdout]    1:     0x58d7d35429ea - core[a373ad73a504971]::fmt::write
[INFO] [stdout]    2:     0x58d7d35321dc - <alloc[2e1b2a31b91974c5]::vec::Vec<u8> as core[a373ad73a504971]::io::write::Write>::write_fmt
[INFO] [stdout]    3:     0x58d7d3509d96 - std[617be2ca0a6fd877]::panicking::default_hook::{closure#0}
[INFO] [stdout]    4:     0x58d7d3526539 - std[617be2ca0a6fd877]::panicking::default_hook
[INFO] [stdout]    5:     0x58d7d34c1af0 - test[aada8e7e76ba119b]::test_main_inner::{closure#0}
[INFO] [stdout]    6:     0x58d7d35266f2 - std[617be2ca0a6fd877]::panicking::panic_with_hook
[INFO] [stdout]    7:     0x58d7d3509e42 - std[617be2ca0a6fd877]::panicking::panic_handler::{closure#0}
[INFO] [stdout]    8:     0x58d7d3502b29 - std[617be2ca0a6fd877]::sys::backtrace::__rust_end_short_backtrace::<std[617be2ca0a6fd877]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]    9:     0x58d7d350aa4d - __rustc[ea4f61d10b84890b]::rust_begin_unwind
[INFO] [stdout]   10:     0x58d7d354311c - core[a373ad73a504971]::panicking::panic_fmt
[INFO] [stdout]   11:     0x58d7d3542ef2 - core[a373ad73a504971]::result::unwrap_failed
[INFO] [stdout]   12:     0x58d7d3451fe5 - elm_rs[4c59a4dd58a77a5c]::test::run_repl
[INFO] [stdout]   13:     0x58d7d34493ba - elm_rs[4c59a4dd58a77a5c]::test::test_json::<elm_rs[4c59a4dd58a77a5c]::test::enums_adjacent::Enum>
[INFO] [stdout]   14:     0x58d7d34875c1 - <elm_rs[4c59a4dd58a77a5c]::test::enums_adjacent::named::{closure#0} as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]   15:     0x58d7d34b4f3b - test[aada8e7e76ba119b]::__rust_begin_short_backtrace::<core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String>, fn() -> core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String>>
[INFO] [stdout]   16:     0x58d7d34c2115 - test[aada8e7e76ba119b]::run_test::{closure#0}
[INFO] [stdout]   17:     0x58d7d34bba04 - std[617be2ca0a6fd877]::sys::backtrace::__rust_begin_short_backtrace::<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>
[INFO] [stdout]   18:     0x58d7d34c51a2 - <std[617be2ca0a6fd877]::thread::lifecycle::spawn_unchecked<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>::{closure#1} as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]   19:     0x58d7d352d6ff - <std[617be2ca0a6fd877]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]   20:     0x7a1f1c968dfa - <unknown>
[INFO] [stdout]   21:     0x7a1f1c9fc3d4 - clone
[INFO] [stdout]   22:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- test::etc_serde::other stdout ----
[INFO] [stdout] 
[INFO] [stdout] import Json.Decode
[INFO] [stdout] import Json.Encode
[INFO] [stdout] import Dict exposing (Dict)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] resultDecoder : Json.Decode.Decoder e -> Json.Decode.Decoder t -> Json.Decode.Decoder (Result e t)
[INFO] [stdout] resultDecoder errDecoder okDecoder =
[INFO] [stdout]     Json.Decode.oneOf
[INFO] [stdout]         [ Json.Decode.map Ok (Json.Decode.field "Ok" okDecoder)
[INFO] [stdout]         , Json.Decode.map Err (Json.Decode.field "Err" errDecoder)
[INFO] [stdout]         ]
[INFO] [stdout] 
[INFO] [stdout] resultEncoder : (e -> Json.Encode.Value) -> (t -> Json.Encode.Value) -> (Result e t -> Json.Encode.Value)
[INFO] [stdout] resultEncoder errEncoder okEncoder enum =
[INFO] [stdout]     case enum of
[INFO] [stdout]         Ok inner ->
[INFO] [stdout]             Json.Encode.object [ ( "Ok", okEncoder inner ) ]
[INFO] [stdout]         Err inner ->
[INFO] [stdout]             Json.Encode.object [ ( "Err", errEncoder inner ) ]
[INFO] [stdout] 
[INFO] [stdout] type Other
[INFO] [stdout]     = A
[INFO] [stdout]     | B
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] otherEncoder : Other -> Json.Encode.Value
[INFO] [stdout] otherEncoder enum =
[INFO] [stdout]     case enum of
[INFO] [stdout]         A ->
[INFO] [stdout]             Json.Encode.string "A"
[INFO] [stdout]         B ->
[INFO] [stdout]             Json.Encode.string "B"
[INFO] [stdout] 
[INFO] [stdout] otherDecoder : Json.Decode.Decoder Other
[INFO] [stdout] otherDecoder = 
[INFO] [stdout]     Json.Decode.oneOf
[INFO] [stdout]         [ Json.Decode.string
[INFO] [stdout]             |> Json.Decode.andThen
[INFO] [stdout]                 (\x ->
[INFO] [stdout]                     case x of
[INFO] [stdout]                         "A" ->
[INFO] [stdout]                             Json.Decode.succeed A
[INFO] [stdout]                         unexpected ->
[INFO] [stdout]                             Json.Decode.fail <| "Unexpected variant " ++ unexpected
[INFO] [stdout]                 )
[INFO] [stdout]         , Json.Decode.string
[INFO] [stdout]             |> Json.Decode.andThen
[INFO] [stdout]                 (\x ->
[INFO] [stdout]                     case x of
[INFO] [stdout]                         "B" ->
[INFO] [stdout]                             Json.Decode.succeed B
[INFO] [stdout]                         unexpected ->
[INFO] [stdout]                             Json.Decode.fail <| "Unexpected variant " ++ unexpected
[INFO] [stdout]                 )
[INFO] [stdout]         , Json.Decode.succeed B
[INFO] [stdout]         ]
[INFO] [stdout] 
[INFO] [stdout] decoded = Json.Decode.decodeString otherDecoder "\"other\""
[INFO] [stdout] 
[INFO] [stdout] reEncoded = Result.map otherEncoder decoded
[INFO] [stdout] 
[INFO] [stdout] s = case reEncoded of
[INFO] [stdout]     Ok value ->
[INFO] [stdout]         Json.Encode.encode 0 value
[INFO] [stdout]     Err err ->
[INFO] [stdout]         Json.Decode.errorToString err
[INFO] [stdout] 
[INFO] [stdout] "START"
[INFO] [stdout] s
[INFO] [stdout] "END"
[INFO] [stdout] 
[INFO] [stdout] :exit
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] thread 'test::etc_serde::other' (575) panicked at src/test/mod.rs:179:10:
[INFO] [stdout] called `Result::unwrap()` on an `Err` value: Os { code: 2, kind: NotFound, message: "No such file or directory" }
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x58d7d352dea1 - <<std[617be2ca0a6fd877]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[a373ad73a504971]::fmt::Display>::fmt
[INFO] [stdout]    1:     0x58d7d35429ea - core[a373ad73a504971]::fmt::write
[INFO] [stdout]    2:     0x58d7d35321dc - <alloc[2e1b2a31b91974c5]::vec::Vec<u8> as core[a373ad73a504971]::io::write::Write>::write_fmt
[INFO] [stdout]    3:     0x58d7d3509d96 - std[617be2ca0a6fd877]::panicking::default_hook::{closure#0}
[INFO] [stdout]    4:     0x58d7d3526539 - std[617be2ca0a6fd877]::panicking::default_hook
[INFO] [stdout]    5:     0x58d7d34c1af0 - test[aada8e7e76ba119b]::test_main_inner::{closure#0}
[INFO] [stdout]    6:     0x58d7d35266f2 - std[617be2ca0a6fd877]::panicking::panic_with_hook
[INFO] [stdout]    7:     0x58d7d3509e42 - std[617be2ca0a6fd877]::panicking::panic_handler::{closure#0}
[INFO] [stdout]    8:     0x58d7d3502b29 - std[617be2ca0a6fd877]::sys::backtrace::__rust_end_short_backtrace::<std[617be2ca0a6fd877]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]    9:     0x58d7d350aa4d - __rustc[ea4f61d10b84890b]::rust_begin_unwind
[INFO] [stdout]   10:     0x58d7d354311c - core[a373ad73a504971]::panicking::panic_fmt
[INFO] [stdout]   11:     0x58d7d3542ef2 - core[a373ad73a504971]::result::unwrap_failed
[INFO] [stdout]   12:     0x58d7d3451fe5 - elm_rs[4c59a4dd58a77a5c]::test::run_repl
[INFO] [stdout]   13:     0x58d7d34443c2 - elm_rs[4c59a4dd58a77a5c]::test::test_with_json::<elm_rs[4c59a4dd58a77a5c]::test::etc_serde::Other>
[INFO] [stdout]   14:     0x58d7d3497f70 - <elm_rs[4c59a4dd58a77a5c]::test::etc_serde::other::{closure#0} as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]   15:     0x58d7d34b4f3b - test[aada8e7e76ba119b]::__rust_begin_short_backtrace::<core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String>, fn() -> core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String>>
[INFO] [stdout]   16:     0x58d7d34c2115 - test[aada8e7e76ba119b]::run_test::{closure#0}
[INFO] [stdout]   17:     0x58d7d34bba04 - std[617be2ca0a6fd877]::sys::backtrace::__rust_begin_short_backtrace::<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>
[INFO] [stdout]   18:     0x58d7d34c51a2 - <std[617be2ca0a6fd877]::thread::lifecycle::spawn_unchecked<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>::{closure#1} as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]   19:     0x58d7d352d6ff - <std[617be2ca0a6fd877]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]   20:     0x7a1f1c968dfa - <unknown>
[INFO] [stdout]   21:     0x7a1f1c9fc3d4 - clone
[INFO] [stdout]   22:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- test::enums_external::unit stdout ----
[INFO] [stdout] 
[INFO] [stdout] import Json.Decode
[INFO] [stdout] import Json.Encode
[INFO] [stdout] import Dict exposing (Dict)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] resultDecoder : Json.Decode.Decoder e -> Json.Decode.Decoder t -> Json.Decode.Decoder (Result e t)
[INFO] [stdout] resultDecoder errDecoder okDecoder =
[INFO] [stdout]     Json.Decode.oneOf
[INFO] [stdout]         [ Json.Decode.map Ok (Json.Decode.field "Ok" okDecoder)
[INFO] [stdout]         , Json.Decode.map Err (Json.Decode.field "Err" errDecoder)
[INFO] [stdout]         ]
[INFO] [stdout] 
[INFO] [stdout] resultEncoder : (e -> Json.Encode.Value) -> (t -> Json.Encode.Value) -> (Result e t -> Json.Encode.Value)
[INFO] [stdout] resultEncoder errEncoder okEncoder enum =
[INFO] [stdout]     case enum of
[INFO] [stdout]         Ok inner ->
[INFO] [stdout]             Json.Encode.object [ ( "Ok", okEncoder inner ) ]
[INFO] [stdout]         Err inner ->
[INFO] [stdout]             Json.Encode.object [ ( "Err", errEncoder inner ) ]
[INFO] [stdout] 
[INFO] [stdout] type Enum
[INFO] [stdout]     = Unit1
[INFO] [stdout]     | Unit2
[INFO] [stdout]     | Newtype1 (Int)
[INFO] [stdout]     | Newtype2 (Int)
[INFO] [stdout]     | Tuple1 (Int) (Int)
[INFO] [stdout]     | Tuple2 (Int) (Int)
[INFO] [stdout]     | Named1 { field : Int }
[INFO] [stdout]     | Named2 { field : Int }
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] enumEncoder : Enum -> Json.Encode.Value
[INFO] [stdout] enumEncoder enum =
[INFO] [stdout]     case enum of
[INFO] [stdout]         Unit1 ->
[INFO] [stdout]             Json.Encode.string "Unit1"
[INFO] [stdout]         Unit2 ->
[INFO] [stdout]             Json.Encode.string "Unit2"
[INFO] [stdout]         Newtype1 inner ->
[INFO] [stdout]             Json.Encode.object [ ( "Newtype1", Json.Encode.int inner ) ]
[INFO] [stdout]         Newtype2 inner ->
[INFO] [stdout]             Json.Encode.object [ ( "Newtype2", Json.Encode.int inner ) ]
[INFO] [stdout]         Tuple1 t0 t1 ->
[INFO] [stdout]             Json.Encode.object [ ( "Tuple1", Json.Encode.list identity [ Json.Encode.int t0, Json.Encode.int t1 ] ) ]
[INFO] [stdout]         Tuple2 t0 t1 ->
[INFO] [stdout]             Json.Encode.object [ ( "Tuple2", Json.Encode.list identity [ Json.Encode.int t0, Json.Encode.int t1 ] ) ]
[INFO] [stdout]         Named1 { field } ->
[INFO] [stdout]             Json.Encode.object [ ( "Named1", Json.Encode.object [ ( "field", (Json.Encode.int) field ) ] ) ]
[INFO] [stdout]         Named2 { field } ->
[INFO] [stdout]             Json.Encode.object [ ( "Named2", Json.Encode.object [ ( "field", (Json.Encode.int) field ) ] ) ]
[INFO] [stdout] 
[INFO] [stdout] enumDecoder : Json.Decode.Decoder Enum
[INFO] [stdout] enumDecoder = 
[INFO] [stdout]         let
[INFO] [stdout]             elmRsConstructNamed1 field =
[INFO] [stdout]                         Named1 { field = field }
[INFO] [stdout]             elmRsConstructNamed2 field =
[INFO] [stdout]                         Named2 { field = field }
[INFO] [stdout]         in
[INFO] [stdout]     Json.Decode.oneOf
[INFO] [stdout]         [ Json.Decode.string
[INFO] [stdout]             |> Json.Decode.andThen
[INFO] [stdout]                 (\x ->
[INFO] [stdout]                     case x of
[INFO] [stdout]                         "Unit1" ->
[INFO] [stdout]                             Json.Decode.succeed Unit1
[INFO] [stdout]                         unexpected ->
[INFO] [stdout]                             Json.Decode.fail <| "Unexpected variant " ++ unexpected
[INFO] [stdout]                 )
[INFO] [stdout]         , Json.Decode.string
[INFO] [stdout]             |> Json.Decode.andThen
[INFO] [stdout]                 (\x ->
[INFO] [stdout]                     case x of
[INFO] [stdout]                         "Unit2" ->
[INFO] [stdout]                             Json.Decode.succeed Unit2
[INFO] [stdout]                         unexpected ->
[INFO] [stdout]                             Json.Decode.fail <| "Unexpected variant " ++ unexpected
[INFO] [stdout]                 )
[INFO] [stdout]         , Json.Decode.map Newtype1 (Json.Decode.field "Newtype1" (Json.Decode.int))
[INFO] [stdout]         , Json.Decode.map Newtype2 (Json.Decode.field "Newtype2" (Json.Decode.int))
[INFO] [stdout]         , Json.Decode.field "Tuple1" (Json.Decode.succeed Tuple1 |> Json.Decode.andThen (\x -> Json.Decode.index 0 (Json.Decode.int) |> Json.Decode.map x) |> Json.Decode.andThen (\x -> Json.Decode.index 1 (Json.Decode.int) |> Json.Decode.map x))
[INFO] [stdout]         , Json.Decode.field "Tuple2" (Json.Decode.succeed Tuple2 |> Json.Decode.andThen (\x -> Json.Decode.index 0 (Json.Decode.int) |> Json.Decode.map x) |> Json.Decode.andThen (\x -> Json.Decode.index 1 (Json.Decode.int) |> Json.Decode.map x))
[INFO] [stdout]         , Json.Decode.field "Named1" (Json.Decode.succeed elmRsConstructNamed1 |> Json.Decode.andThen (\x -> Json.Decode.map x (Json.Decode.field "field" (Json.Decode.int))))
[INFO] [stdout]         , Json.Decode.field "Named2" (Json.Decode.succeed elmRsConstructNamed2 |> Json.Decode.andThen (\x -> Json.Decode.map x (Json.Decode.field "field" (Json.Decode.int))))
[INFO] [stdout]         ]
[INFO] [stdout] 
[INFO] [stdout] decoded = Json.Decode.decodeString enumDecoder "\"Unit1\""
[INFO] [stdout] 
[INFO] [stdout] reEncoded = Result.map enumEncoder decoded
[INFO] [stdout] 
[INFO] [stdout] s = case reEncoded of
[INFO] [stdout]     Ok value ->
[INFO] [stdout]         Json.Encode.encode 0 value
[INFO] [stdout]     Err err ->
[INFO] [stdout]         Json.Decode.errorToString err
[INFO] [stdout] 
[INFO] [stdout] "START"
[INFO] [stdout] s
[INFO] [stdout] "END"
[INFO] [stdout] 
[INFO] [stdout] :exit
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] thread 'test::enums_external::unit' (567) panicked at src/test/mod.rs:179:10:
[INFO] [stdout] called `Result::unwrap()` on an `Err` value: Os { code: 2, kind: NotFound, message: "No such file or directory" }
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x58d7d352dea1 - <<std[617be2ca0a6fd877]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[a373ad73a504971]::fmt::Display>::fmt
[INFO] [stdout]    1:     0x58d7d35429ea - core[a373ad73a504971]::fmt::write
[INFO] [stdout]    2:     0x58d7d35321dc - <alloc[2e1b2a31b91974c5]::vec::Vec<u8> as core[a373ad73a504971]::io::write::Write>::write_fmt
[INFO] [stdout]    3:     0x58d7d3509d96 - std[617be2ca0a6fd877]::panicking::default_hook::{closure#0}
[INFO] [stdout]    4:     0x58d7d3526539 - std[617be2ca0a6fd877]::panicking::default_hook
[INFO] [stdout]    5:     0x58d7d34c1af0 - test[aada8e7e76ba119b]::test_main_inner::{closure#0}
[INFO] [stdout]    6:     0x58d7d35266f2 - std[617be2ca0a6fd877]::panicking::panic_with_hook
[INFO] [stdout]    7:     0x58d7d3509e42 - std[617be2ca0a6fd877]::panicking::panic_handler::{closure#0}
[INFO] [stdout]    8:     0x58d7d3502b29 - std[617be2ca0a6fd877]::sys::backtrace::__rust_end_short_backtrace::<std[617be2ca0a6fd877]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]    9:     0x58d7d350aa4d - __rustc[ea4f61d10b84890b]::rust_begin_unwind
[INFO] [stdout]   10:     0x58d7d354311c - core[a373ad73a504971]::panicking::panic_fmt
[INFO] [stdout]   11:     0x58d7d3542ef2 - core[a373ad73a504971]::result::unwrap_failed
[INFO] [stdout]   12:     0x58d7d3451fe5 - elm_rs[4c59a4dd58a77a5c]::test::run_repl
[INFO] [stdout]   13:     0x58d7d3449cca - elm_rs[4c59a4dd58a77a5c]::test::test_json::<elm_rs[4c59a4dd58a77a5c]::test::enums_external::Enum>
[INFO] [stdout]   14:     0x58d7d348ddaa - <elm_rs[4c59a4dd58a77a5c]::test::enums_external::unit::{closure#0} as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]   15:     0x58d7d34b4f3b - test[aada8e7e76ba119b]::__rust_begin_short_backtrace::<core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String>, fn() -> core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String>>
[INFO] [stdout]   16:     0x58d7d34c2115 - test[aada8e7e76ba119b]::run_test::{closure#0}
[INFO] [stdout]   17:     0x58d7d34bba04 - std[617be2ca0a6fd877]::sys::backtrace::__rust_begin_short_backtrace::<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>
[INFO] [stdout]   18:     0x58d7d34c51a2 - <std[617be2ca0a6fd877]::thread::lifecycle::spawn_unchecked<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>::{closure#1} as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]   19:     0x58d7d352d6ff - <std[617be2ca0a6fd877]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]   20:     0x7a1f1c968dfa - <unknown>
[INFO] [stdout]   21:     0x7a1f1c9fc3d4 - clone
[INFO] [stdout]   22:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- test::enums_adjacent::tuple stdout ----
[INFO] [stdout] 
[INFO] [stdout] import Json.Decode
[INFO] [stdout] import Json.Encode
[INFO] [stdout] import Dict exposing (Dict)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] resultDecoder : Json.Decode.Decoder e -> Json.Decode.Decoder t -> Json.Decode.Decoder (Result e t)
[INFO] [stdout] resultDecoder errDecoder okDecoder =
[INFO] [stdout]     Json.Decode.oneOf
[INFO] [stdout]         [ Json.Decode.map Ok (Json.Decode.field "Ok" okDecoder)
[INFO] [stdout]         , Json.Decode.map Err (Json.Decode.field "Err" errDecoder)
[INFO] [stdout]         ]
[INFO] [stdout] 
[INFO] [stdout] resultEncoder : (e -> Json.Encode.Value) -> (t -> Json.Encode.Value) -> (Result e t -> Json.Encode.Value)
[INFO] [stdout] resultEncoder errEncoder okEncoder enum =
[INFO] [stdout]     case enum of
[INFO] [stdout]         Ok inner ->
[INFO] [stdout]             Json.Encode.object [ ( "Ok", okEncoder inner ) ]
[INFO] [stdout]         Err inner ->
[INFO] [stdout]             Json.Encode.object [ ( "Err", errEncoder inner ) ]
[INFO] [stdout] 
[INFO] [stdout] type Enum
[INFO] [stdout]     = Unit1
[INFO] [stdout]     | Unit2
[INFO] [stdout]     | Newtype1 (Int)
[INFO] [stdout]     | Newtype2 (Int)
[INFO] [stdout]     | Tuple1 (Int) (Int)
[INFO] [stdout]     | Tuple2 (Int) (Int)
[INFO] [stdout]     | Named1 { field : Int }
[INFO] [stdout]     | Named2 { field : Int }
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] enumEncoder : Enum -> Json.Encode.Value
[INFO] [stdout] enumEncoder enum =
[INFO] [stdout]     case enum of
[INFO] [stdout]         Unit1 ->
[INFO] [stdout]             Json.Encode.object [ ( "t", Json.Encode.string "Unit1" ) ]
[INFO] [stdout]         Unit2 ->
[INFO] [stdout]             Json.Encode.object [ ( "t", Json.Encode.string "Unit2" ) ]
[INFO] [stdout]         Newtype1 inner ->
[INFO] [stdout]             Json.Encode.object [ ( "t", Json.Encode.string "Newtype1"), ( "c", Json.Encode.int inner ) ]
[INFO] [stdout]         Newtype2 inner ->
[INFO] [stdout]             Json.Encode.object [ ( "t", Json.Encode.string "Newtype2"), ( "c", Json.Encode.int inner ) ]
[INFO] [stdout]         Tuple1 t0 t1 ->
[INFO] [stdout]             Json.Encode.object [ ( "t", Json.Encode.string "Tuple1"), ( "c", Json.Encode.list identity [ Json.Encode.int t0, Json.Encode.int t1 ] ) ]
[INFO] [stdout]         Tuple2 t0 t1 ->
[INFO] [stdout]             Json.Encode.object [ ( "t", Json.Encode.string "Tuple2"), ( "c", Json.Encode.list identity [ Json.Encode.int t0, Json.Encode.int t1 ] ) ]
[INFO] [stdout]         Named1 { field } ->
[INFO] [stdout]             Json.Encode.object [ ( "t", Json.Encode.string "Named1"), ( "c", Json.Encode.object [ ( "field", (Json.Encode.int) field ) ] ) ]
[INFO] [stdout]         Named2 { field } ->
[INFO] [stdout]             Json.Encode.object [ ( "t", Json.Encode.string "Named2"), ( "c", Json.Encode.object [ ( "field", (Json.Encode.int) field ) ] ) ]
[INFO] [stdout] 
[INFO] [stdout] enumDecoder : Json.Decode.Decoder Enum
[INFO] [stdout] enumDecoder = 
[INFO] [stdout]         let
[INFO] [stdout]             elmRsConstructNamed1 field =
[INFO] [stdout]                         Named1 { field = field }
[INFO] [stdout]             elmRsConstructNamed2 field =
[INFO] [stdout]                         Named2 { field = field }
[INFO] [stdout]         in
[INFO] [stdout]     Json.Decode.field "t" Json.Decode.string
[INFO] [stdout]         |> Json.Decode.andThen
[INFO] [stdout]             (\tag ->
[INFO] [stdout]                 case tag of
[INFO] [stdout]                     "Unit1" ->
[INFO] [stdout]                         Json.Decode.succeed Unit1
[INFO] [stdout]                     "Unit2" ->
[INFO] [stdout]                         Json.Decode.succeed Unit2
[INFO] [stdout]                     "Newtype1" ->
[INFO] [stdout]                         Json.Decode.map Newtype1 (Json.Decode.field "c" (Json.Decode.int))
[INFO] [stdout]                     "Newtype2" ->
[INFO] [stdout]                         Json.Decode.map Newtype2 (Json.Decode.field "c" (Json.Decode.int))
[INFO] [stdout]                     "Tuple1" ->
[INFO] [stdout]                         Json.Decode.field "c" (Json.Decode.succeed Tuple1 |> Json.Decode.andThen (\x -> Json.Decode.index 0 (Json.Decode.int) |> Json.Decode.map x) |> Json.Decode.andThen (\x -> Json.Decode.index 1 (Json.Decode.int) |> Json.Decode.map x))
[INFO] [stdout]                     "Tuple2" ->
[INFO] [stdout]                         Json.Decode.field "c" (Json.Decode.succeed Tuple2 |> Json.Decode.andThen (\x -> Json.Decode.index 0 (Json.Decode.int) |> Json.Decode.map x) |> Json.Decode.andThen (\x -> Json.Decode.index 1 (Json.Decode.int) |> Json.Decode.map x))
[INFO] [stdout]                     "Named1" ->
[INFO] [stdout]                         Json.Decode.field "c" (Json.Decode.succeed elmRsConstructNamed1 |> Json.Decode.andThen (\x -> Json.Decode.map x (Json.Decode.field "field" (Json.Decode.int))))
[INFO] [stdout]                     "Named2" ->
[INFO] [stdout]                         Json.Decode.field "c" (Json.Decode.succeed elmRsConstructNamed2 |> Json.Decode.andThen (\x -> Json.Decode.map x (Json.Decode.field "field" (Json.Decode.int))))
[INFO] [stdout]                     unexpected ->
[INFO] [stdout]                         Json.Decode.fail <| "Unexpected variant " ++ unexpected
[INFO] [stdout]             )
[INFO] [stdout] 
[INFO] [stdout] decoded = Json.Decode.decodeString enumDecoder "{\"t\":\"Tuple1\",\"c\":[123,234]}"
[INFO] [stdout] 
[INFO] [stdout] reEncoded = Result.map enumEncoder decoded
[INFO] [stdout] 
[INFO] [stdout] s = case reEncoded of
[INFO] [stdout]     Ok value ->
[INFO] [stdout]         Json.Encode.encode 0 value
[INFO] [stdout]     Err err ->
[INFO] [stdout]         Json.Decode.errorToString err
[INFO] [stdout] 
[INFO] [stdout] "START"
[INFO] [stdout] s
[INFO] [stdout] "END"
[INFO] [stdout] 
[INFO] [stdout] :exit
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] thread 'test::enums_adjacent::tuple' (560) panicked at src/test/mod.rs:179:10:
[INFO] [stdout] called `Result::unwrap()` on an `Err` value: Os { code: 2, kind: NotFound, message: "No such file or directory" }
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x58d7d352dea1 - <<std[617be2ca0a6fd877]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[a373ad73a504971]::fmt::Display>::fmt
[INFO] [stdout]    1:     0x58d7d35429ea - core[a373ad73a504971]::fmt::write
[INFO] [stdout]    2:     0x58d7d35321dc - <alloc[2e1b2a31b91974c5]::vec::Vec<u8> as core[a373ad73a504971]::io::write::Write>::write_fmt
[INFO] [stdout]    3:     0x58d7d3509d96 - std[617be2ca0a6fd877]::panicking::default_hook::{closure#0}
[INFO] [stdout]    4:     0x58d7d3526539 - std[617be2ca0a6fd877]::panicking::default_hook
[INFO] [stdout]    5:     0x58d7d34c1af0 - test[aada8e7e76ba119b]::test_main_inner::{closure#0}
[INFO] [stdout]    6:     0x58d7d35266f2 - std[617be2ca0a6fd877]::panicking::panic_with_hook
[INFO] [stdout]    7:     0x58d7d3509e42 - std[617be2ca0a6fd877]::panicking::panic_handler::{closure#0}
[INFO] [stdout]    8:     0x58d7d3502b29 - std[617be2ca0a6fd877]::sys::backtrace::__rust_end_short_backtrace::<std[617be2ca0a6fd877]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]    9:     0x58d7d350aa4d - __rustc[ea4f61d10b84890b]::rust_begin_unwind
[INFO] [stdout]   10:     0x58d7d354311c - core[a373ad73a504971]::panicking::panic_fmt
[INFO] [stdout]   11:     0x58d7d3542ef2 - core[a373ad73a504971]::result::unwrap_failed
[INFO] [stdout]   12:     0x58d7d3451fe5 - elm_rs[4c59a4dd58a77a5c]::test::run_repl
[INFO] [stdout]   13:     0x58d7d34493ba - elm_rs[4c59a4dd58a77a5c]::test::test_json::<elm_rs[4c59a4dd58a77a5c]::test::enums_adjacent::Enum>
[INFO] [stdout]   14:     0x58d7d3487609 - <elm_rs[4c59a4dd58a77a5c]::test::enums_adjacent::tuple::{closure#0} as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]   15:     0x58d7d34b4f3b - test[aada8e7e76ba119b]::__rust_begin_short_backtrace::<core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String>, fn() -> core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String>>
[INFO] [stdout]   16:     0x58d7d34c2115 - test[aada8e7e76ba119b]::run_test::{closure#0}
[INFO] [stdout]   17:     0x58d7d34bba04 - std[617be2ca0a6fd877]::sys::backtrace::__rust_begin_short_backtrace::<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>
[INFO] [stdout]   18:     0x58d7d34c51a2 - <std[617be2ca0a6fd877]::thread::lifecycle::spawn_unchecked<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>::{closure#1} as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]   19:     0x58d7d352d6ff - <std[617be2ca0a6fd877]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]   20:     0x7a1f1c968dfa - <unknown>
[INFO] [stdout]   21:     0x7a1f1c9fc3d4 - clone
[INFO] [stdout]   22:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- test::query::query_struct stdout ----
[INFO] [stdout] 
[INFO] [stdout] import Json.Decode
[INFO] [stdout] import Url.Builder
[INFO] [stdout] 
[INFO] [stdout] type Enum
[INFO] [stdout]     = First
[INFO] [stdout]     | Second
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] type alias Named =
[INFO] [stdout]     { first : Int
[INFO] [stdout]     , second : String
[INFO] [stdout]     , e : Enum
[INFO] [stdout]     }
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] enumDecoder : Json.Decode.Decoder Enum
[INFO] [stdout] enumDecoder = 
[INFO] [stdout]     Json.Decode.oneOf
[INFO] [stdout]         [ Json.Decode.string
[INFO] [stdout]             |> Json.Decode.andThen
[INFO] [stdout]                 (\x ->
[INFO] [stdout]                     case x of
[INFO] [stdout]                         "First" ->
[INFO] [stdout]                             Json.Decode.succeed First
[INFO] [stdout]                         unexpected ->
[INFO] [stdout]                             Json.Decode.fail <| "Unexpected variant " ++ unexpected
[INFO] [stdout]                 )
[INFO] [stdout]         , Json.Decode.string
[INFO] [stdout]             |> Json.Decode.andThen
[INFO] [stdout]                 (\x ->
[INFO] [stdout]                     case x of
[INFO] [stdout]                         "Second" ->
[INFO] [stdout]                             Json.Decode.succeed Second
[INFO] [stdout]                         unexpected ->
[INFO] [stdout]                             Json.Decode.fail <| "Unexpected variant " ++ unexpected
[INFO] [stdout]                 )
[INFO] [stdout]         ]
[INFO] [stdout] 
[INFO] [stdout] namedDecoder : Json.Decode.Decoder Named
[INFO] [stdout] namedDecoder =
[INFO] [stdout]     Json.Decode.succeed Named
[INFO] [stdout]         |> Json.Decode.andThen (\x -> Json.Decode.map x (Json.Decode.field "first" (Json.Decode.int)))
[INFO] [stdout]         |> Json.Decode.andThen (\x -> Json.Decode.map x (Json.Decode.field "second" (Json.Decode.string)))
[INFO] [stdout]         |> Json.Decode.andThen (\x -> Json.Decode.map x (Json.Decode.field "e" (enumDecoder)))
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] queryFieldEncoderEnum : Enum -> String
[INFO] [stdout] queryFieldEncoderEnum var =
[INFO] [stdout]     case var of
[INFO] [stdout]         First -> "First"
[INFO] [stdout]         Second -> "Second"
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] urlEncodeNamed : Named -> List Url.Builder.QueryParameter
[INFO] [stdout] urlEncodeNamed struct =
[INFO] [stdout]     [ Url.Builder.int "first" (identity struct.first), Url.Builder.string "second" (identity struct.second), Url.Builder.string "e" (queryFieldEncoderEnum struct.e) ]
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] decoded = Json.Decode.decodeString namedDecoder "{\"first\":123,\"second\":\"234\",\"e\":\"First\"}"
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] s = case decoded of
[INFO] [stdout]     Ok value ->
[INFO] [stdout]         Url.Builder.toQuery (urlEncodeNamed value)
[INFO] [stdout]     Err err ->
[INFO] [stdout]         Json.Decode.errorToString err
[INFO] [stdout] 
[INFO] [stdout] "START"
[INFO] [stdout] s
[INFO] [stdout] "END"
[INFO] [stdout] 
[INFO] [stdout] :exit
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] thread 'test::query::query_struct' (601) panicked at src/test/mod.rs:179:10:
[INFO] [stdout] called `Result::unwrap()` on an `Err` value: Os { code: 2, kind: NotFound, message: "No such file or directory" }
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x58d7d352dea1 - <<std[617be2ca0a6fd877]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[a373ad73a504971]::fmt::Display>::fmt
[INFO] [stdout]    1:     0x58d7d35429ea - core[a373ad73a504971]::fmt::write
[INFO] [stdout]    2:     0x58d7d35321dc - <alloc[2e1b2a31b91974c5]::vec::Vec<u8> as core[a373ad73a504971]::io::write::Write>::write_fmt
[INFO] [stdout]    3:     0x58d7d3509d96 - std[617be2ca0a6fd877]::panicking::default_hook::{closure#0}
[INFO] [stdout]    4:     0x58d7d3526539 - std[617be2ca0a6fd877]::panicking::default_hook
[INFO] [stdout]    5:     0x58d7d34c1af0 - test[aada8e7e76ba119b]::test_main_inner::{closure#0}
[INFO] [stdout]    6:     0x58d7d35266f2 - std[617be2ca0a6fd877]::panicking::panic_with_hook
[INFO] [stdout]    7:     0x58d7d3509e42 - std[617be2ca0a6fd877]::panicking::panic_handler::{closure#0}
[INFO] [stdout]    8:     0x58d7d3502b29 - std[617be2ca0a6fd877]::sys::backtrace::__rust_end_short_backtrace::<std[617be2ca0a6fd877]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]    9:     0x58d7d350aa4d - __rustc[ea4f61d10b84890b]::rust_begin_unwind
[INFO] [stdout]   10:     0x58d7d354311c - core[a373ad73a504971]::panicking::panic_fmt
[INFO] [stdout]   11:     0x58d7d3542ef2 - core[a373ad73a504971]::result::unwrap_failed
[INFO] [stdout]   12:     0x58d7d3451fe5 - elm_rs[4c59a4dd58a77a5c]::test::run_repl
[INFO] [stdout]   13:     0x58d7d3443b81 - elm_rs[4c59a4dd58a77a5c]::test::test_query::<elm_rs[4c59a4dd58a77a5c]::test::query::Named, elm_rs[4c59a4dd58a77a5c]::test::query::Enum>
[INFO] [stdout]   14:     0x58d7d3492d13 - <elm_rs[4c59a4dd58a77a5c]::test::query::query_struct::{closure#0} as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]   15:     0x58d7d34b4f3b - test[aada8e7e76ba119b]::__rust_begin_short_backtrace::<core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String>, fn() -> core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String>>
[INFO] [stdout]   16:     0x58d7d34c2115 - test[aada8e7e76ba119b]::run_test::{closure#0}
[INFO] [stdout]   17:     0x58d7d34bba04 - std[617be2ca0a6fd877]::sys::backtrace::__rust_begin_short_backtrace::<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>
[INFO] [stdout]   18:     0x58d7d34c51a2 - <std[617be2ca0a6fd877]::thread::lifecycle::spawn_unchecked<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>::{closure#1} as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]   19:     0x58d7d352d6ff - <std[617be2ca0a6fd877]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]   20:     0x7a1f1c968dfa - <unknown>
[INFO] [stdout]   21:     0x7a1f1c9fc3d4 - clone
[INFO] [stdout]   22:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- test::etc_serde::transparent_newtype stdout ----
[INFO] [stdout] 
[INFO] [stdout] import Json.Decode
[INFO] [stdout] import Json.Encode
[INFO] [stdout] import Dict exposing (Dict)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] resultDecoder : Json.Decode.Decoder e -> Json.Decode.Decoder t -> Json.Decode.Decoder (Result e t)
[INFO] [stdout] resultDecoder errDecoder okDecoder =
[INFO] [stdout]     Json.Decode.oneOf
[INFO] [stdout]         [ Json.Decode.map Ok (Json.Decode.field "Ok" okDecoder)
[INFO] [stdout]         , Json.Decode.map Err (Json.Decode.field "Err" errDecoder)
[INFO] [stdout]         ]
[INFO] [stdout] 
[INFO] [stdout] resultEncoder : (e -> Json.Encode.Value) -> (t -> Json.Encode.Value) -> (Result e t -> Json.Encode.Value)
[INFO] [stdout] resultEncoder errEncoder okEncoder enum =
[INFO] [stdout]     case enum of
[INFO] [stdout]         Ok inner ->
[INFO] [stdout]             Json.Encode.object [ ( "Ok", okEncoder inner ) ]
[INFO] [stdout]         Err inner ->
[INFO] [stdout]             Json.Encode.object [ ( "Err", errEncoder inner ) ]
[INFO] [stdout] 
[INFO] [stdout] type TransparentNewtype
[INFO] [stdout]     = TransparentNewtype (Int)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] transparentNewtypeEncoder : TransparentNewtype -> Json.Encode.Value
[INFO] [stdout] transparentNewtypeEncoder (TransparentNewtype inner) =
[INFO] [stdout]     (Json.Encode.int) inner
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] transparentNewtypeDecoder : Json.Decode.Decoder TransparentNewtype
[INFO] [stdout] transparentNewtypeDecoder =
[INFO] [stdout]     Json.Decode.map TransparentNewtype (Json.Decode.int)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] decoded = Json.Decode.decodeString transparentNewtypeDecoder "0"
[INFO] [stdout] 
[INFO] [stdout] reEncoded = Result.map transparentNewtypeEncoder decoded
[INFO] [stdout] 
[INFO] [stdout] s = case reEncoded of
[INFO] [stdout]     Ok value ->
[INFO] [stdout]         Json.Encode.encode 0 value
[INFO] [stdout]     Err err ->
[INFO] [stdout]         Json.Decode.errorToString err
[INFO] [stdout] 
[INFO] [stdout] "START"
[INFO] [stdout] s
[INFO] [stdout] "END"
[INFO] [stdout] 
[INFO] [stdout] :exit
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] thread 'test::etc_serde::transparent_newtype' (594) panicked at src/test/mod.rs:179:10:
[INFO] [stdout] called `Result::unwrap()` on an `Err` value: Os { code: 2, kind: NotFound, message: "No such file or directory" }
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x58d7d352dea1 - <<std[617be2ca0a6fd877]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[a373ad73a504971]::fmt::Display>::fmt
[INFO] [stdout]    1:     0x58d7d35429ea - core[a373ad73a504971]::fmt::write
[INFO] [stdout]    2:     0x58d7d35321dc - <alloc[2e1b2a31b91974c5]::vec::Vec<u8> as core[a373ad73a504971]::io::write::Write>::write_fmt
[INFO] [stdout]    3:     0x58d7d3509d96 - std[617be2ca0a6fd877]::panicking::default_hook::{closure#0}
[INFO] [stdout]    4:     0x58d7d3526539 - std[617be2ca0a6fd877]::panicking::default_hook
[INFO] [stdout]    5:     0x58d7d34c1af0 - test[aada8e7e76ba119b]::test_main_inner::{closure#0}
[INFO] [stdout]    6:     0x58d7d35266f2 - std[617be2ca0a6fd877]::panicking::panic_with_hook
[INFO] [stdout]    7:     0x58d7d3509e42 - std[617be2ca0a6fd877]::panicking::panic_handler::{closure#0}
[INFO] [stdout]    8:     0x58d7d3502b29 - std[617be2ca0a6fd877]::sys::backtrace::__rust_end_short_backtrace::<std[617be2ca0a6fd877]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]    9:     0x58d7d350aa4d - __rustc[ea4f61d10b84890b]::rust_begin_unwind
[INFO] [stdout]   10:     0x58d7d354311c - core[a373ad73a504971]::panicking::panic_fmt
[INFO] [stdout]   11:     0x58d7d3542ef2 - core[a373ad73a504971]::result::unwrap_failed
[INFO] [stdout]   12:     0x58d7d3451fe5 - elm_rs[4c59a4dd58a77a5c]::test::run_repl
[INFO] [stdout]   13:     0x58d7d34501ca - elm_rs[4c59a4dd58a77a5c]::test::test_json::<elm_rs[4c59a4dd58a77a5c]::test::etc_serde::TransparentNewtype>
[INFO] [stdout]   14:     0x58d7d3497f1b - <elm_rs[4c59a4dd58a77a5c]::test::etc_serde::transparent_newtype::{closure#0} as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]   15:     0x58d7d34b4f3b - test[aada8e7e76ba119b]::__rust_begin_short_backtrace::<core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String>, fn() -> core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String>>
[INFO] [stdout]   16:     0x58d7d34c2115 - test[aada8e7e76ba119b]::run_test::{closure#0}
[INFO] [stdout]   17:     0x58d7d34bba04 - std[617be2ca0a6fd877]::sys::backtrace::__rust_begin_short_backtrace::<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>
[INFO] [stdout]   18:     0x58d7d34c51a2 - <std[617be2ca0a6fd877]::thread::lifecycle::spawn_unchecked<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>::{closure#1} as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]   19:     0x58d7d352d6ff - <std[617be2ca0a6fd877]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]   20:     0x7a1f1c968dfa - <unknown>
[INFO] [stdout]   21:     0x7a1f1c9fc3d4 - clone
[INFO] [stdout]   22:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- test::enums_internal::unit stdout ----
[INFO] [stdout] 
[INFO] [stdout] import Json.Decode
[INFO] [stdout] import Json.Encode
[INFO] [stdout] import Dict exposing (Dict)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] resultDecoder : Json.Decode.Decoder e -> Json.Decode.Decoder t -> Json.Decode.Decoder (Result e t)
[INFO] [stdout] resultDecoder errDecoder okDecoder =
[INFO] [stdout]     Json.Decode.oneOf
[INFO] [stdout]         [ Json.Decode.map Ok (Json.Decode.field "Ok" okDecoder)
[INFO] [stdout]         , Json.Decode.map Err (Json.Decode.field "Err" errDecoder)
[INFO] [stdout]         ]
[INFO] [stdout] 
[INFO] [stdout] resultEncoder : (e -> Json.Encode.Value) -> (t -> Json.Encode.Value) -> (Result e t -> Json.Encode.Value)
[INFO] [stdout] resultEncoder errEncoder okEncoder enum =
[INFO] [stdout]     case enum of
[INFO] [stdout]         Ok inner ->
[INFO] [stdout]             Json.Encode.object [ ( "Ok", okEncoder inner ) ]
[INFO] [stdout]         Err inner ->
[INFO] [stdout]             Json.Encode.object [ ( "Err", errEncoder inner ) ]
[INFO] [stdout] 
[INFO] [stdout] type Enum
[INFO] [stdout]     = Unit1
[INFO] [stdout]     | Unit2
[INFO] [stdout]     | Named1 { field : Int }
[INFO] [stdout]     | Named2 { field : Int }
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] enumEncoder : Enum -> Json.Encode.Value
[INFO] [stdout] enumEncoder enum =
[INFO] [stdout]     case enum of
[INFO] [stdout]         Unit1 ->
[INFO] [stdout]             Json.Encode.object [ ( "t", Json.Encode.string "Unit1" ) ]
[INFO] [stdout]         Unit2 ->
[INFO] [stdout]             Json.Encode.object [ ( "t", Json.Encode.string "Unit2" ) ]
[INFO] [stdout]         Named1 { field } ->
[INFO] [stdout]             Json.Encode.object [ ( "t", Json.Encode.string "Named1" ), ( "field", (Json.Encode.int) field ) ]
[INFO] [stdout]         Named2 { field } ->
[INFO] [stdout]             Json.Encode.object [ ( "t", Json.Encode.string "Named2" ), ( "field", (Json.Encode.int) field ) ]
[INFO] [stdout] 
[INFO] [stdout] enumDecoder : Json.Decode.Decoder Enum
[INFO] [stdout] enumDecoder = 
[INFO] [stdout]         let
[INFO] [stdout]             elmRsConstructNamed1 field =
[INFO] [stdout]                         Named1 { field = field }
[INFO] [stdout]             elmRsConstructNamed2 field =
[INFO] [stdout]                         Named2 { field = field }
[INFO] [stdout]         in
[INFO] [stdout]     Json.Decode.field "t" Json.Decode.string
[INFO] [stdout]         |> Json.Decode.andThen
[INFO] [stdout]             (\tag ->
[INFO] [stdout]                 case tag of
[INFO] [stdout]                     "Unit1" ->
[INFO] [stdout]                         Json.Decode.succeed Unit1
[INFO] [stdout]                     "Unit2" ->
[INFO] [stdout]                         Json.Decode.succeed Unit2
[INFO] [stdout]                     "Named1" ->
[INFO] [stdout]                         Json.Decode.succeed elmRsConstructNamed1 |> Json.Decode.andThen (\x -> Json.Decode.map x (Json.Decode.field "field" (Json.Decode.int)))
[INFO] [stdout]                     "Named2" ->
[INFO] [stdout]                         Json.Decode.succeed elmRsConstructNamed2 |> Json.Decode.andThen (\x -> Json.Decode.map x (Json.Decode.field "field" (Json.Decode.int)))
[INFO] [stdout]                     unexpected ->
[INFO] [stdout]                         Json.Decode.fail <| "Unexpected variant " ++ unexpected
[INFO] [stdout]             )
[INFO] [stdout] 
[INFO] [stdout] decoded = Json.Decode.decodeString enumDecoder "{\"t\":\"Unit1\"}"
[INFO] [stdout] 
[INFO] [stdout] reEncoded = Result.map enumEncoder decoded
[INFO] [stdout] 
[INFO] [stdout] s = case reEncoded of
[INFO] [stdout]     Ok value ->
[INFO] [stdout]         Json.Encode.encode 0 value
[INFO] [stdout]     Err err ->
[INFO] [stdout]         Json.Decode.errorToString err
[INFO] [stdout] 
[INFO] [stdout] "START"
[INFO] [stdout] s
[INFO] [stdout] "END"
[INFO] [stdout] 
[INFO] [stdout] :exit
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] thread 'test::enums_internal::unit' (569) panicked at src/test/mod.rs:179:10:
[INFO] [stdout] called `Result::unwrap()` on an `Err` value: Os { code: 2, kind: NotFound, message: "No such file or directory" }
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x58d7d352dea1 - <<std[617be2ca0a6fd877]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[a373ad73a504971]::fmt::Display>::fmt
[INFO] [stdout]    1:     0x58d7d35429ea - core[a373ad73a504971]::fmt::write
[INFO] [stdout]    2:     0x58d7d35321dc - <alloc[2e1b2a31b91974c5]::vec::Vec<u8> as core[a373ad73a504971]::io::write::Write>::write_fmt
[INFO] [stdout]    3:     0x58d7d3509d96 - std[617be2ca0a6fd877]::panicking::default_hook::{closure#0}
[INFO] [stdout]    4:     0x58d7d3526539 - std[617be2ca0a6fd877]::panicking::default_hook
[INFO] [stdout]    5:     0x58d7d34c1af0 - test[aada8e7e76ba119b]::test_main_inner::{closure#0}
[INFO] [stdout]    6:     0x58d7d35266f2 - std[617be2ca0a6fd877]::panicking::panic_with_hook
[INFO] [stdout]    7:     0x58d7d3509e42 - std[617be2ca0a6fd877]::panicking::panic_handler::{closure#0}
[INFO] [stdout]    8:     0x58d7d3502b29 - std[617be2ca0a6fd877]::sys::backtrace::__rust_end_short_backtrace::<std[617be2ca0a6fd877]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]    9:     0x58d7d350aa4d - __rustc[ea4f61d10b84890b]::rust_begin_unwind
[INFO] [stdout]   10:     0x58d7d354311c - core[a373ad73a504971]::panicking::panic_fmt
[INFO] [stdout]   11:     0x58d7d3542ef2 - core[a373ad73a504971]::result::unwrap_failed
[INFO] [stdout]   12:     0x58d7d3451fe5 - elm_rs[4c59a4dd58a77a5c]::test::run_repl
[INFO] [stdout]   13:     0x58d7d344a5f9 - elm_rs[4c59a4dd58a77a5c]::test::test_json::<elm_rs[4c59a4dd58a77a5c]::test::enums_internal::Enum>
[INFO] [stdout]   14:     0x58d7d34a9beb - <elm_rs[4c59a4dd58a77a5c]::test::enums_internal::unit::{closure#0} as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]   15:     0x58d7d34b4f3b - test[aada8e7e76ba119b]::__rust_begin_short_backtrace::<core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String>, fn() -> core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String>>
[INFO] [stdout]   16:     0x58d7d34c2115 - test[aada8e7e76ba119b]::run_test::{closure#0}
[INFO] [stdout]   17:     0x58d7d34bba04 - std[617be2ca0a6fd877]::sys::backtrace::__rust_begin_short_backtrace::<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>
[INFO] [stdout]   18:     0x58d7d34c51a2 - <std[617be2ca0a6fd877]::thread::lifecycle::spawn_unchecked<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>::{closure#1} as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]   19:     0x58d7d352d6ff - <std[617be2ca0a6fd877]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]   20:     0x7a1f1c968dfa - <unknown>
[INFO] [stdout]   21:     0x7a1f1c9fc3d4 - clone
[INFO] [stdout]   22:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- test::etc_serde::rename_struct stdout ----
[INFO] [stdout] 
[INFO] [stdout] import Json.Decode
[INFO] [stdout] import Json.Encode
[INFO] [stdout] import Dict exposing (Dict)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] resultDecoder : Json.Decode.Decoder e -> Json.Decode.Decoder t -> Json.Decode.Decoder (Result e t)
[INFO] [stdout] resultDecoder errDecoder okDecoder =
[INFO] [stdout]     Json.Decode.oneOf
[INFO] [stdout]         [ Json.Decode.map Ok (Json.Decode.field "Ok" okDecoder)
[INFO] [stdout]         , Json.Decode.map Err (Json.Decode.field "Err" errDecoder)
[INFO] [stdout]         ]
[INFO] [stdout] 
[INFO] [stdout] resultEncoder : (e -> Json.Encode.Value) -> (t -> Json.Encode.Value) -> (Result e t -> Json.Encode.Value)
[INFO] [stdout] resultEncoder errEncoder okEncoder enum =
[INFO] [stdout]     case enum of
[INFO] [stdout]         Ok inner ->
[INFO] [stdout]             Json.Encode.object [ ( "Ok", okEncoder inner ) ]
[INFO] [stdout]         Err inner ->
[INFO] [stdout]             Json.Encode.object [ ( "Err", errEncoder inner ) ]
[INFO] [stdout] 
[INFO] [stdout] type alias RenameStruct =
[INFO] [stdout]     { uppercase : Int
[INFO] [stdout]     , renamed : Int
[INFO] [stdout]     , renameForSerialization : Int
[INFO] [stdout]     , renameForDeserialization : Int
[INFO] [stdout]     }
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] renameStructEncoder : RenameStruct -> Json.Encode.Value
[INFO] [stdout] renameStructEncoder struct =
[INFO] [stdout]     Json.Encode.object
[INFO] [stdout]         [ ( "UPPERCASE", (Json.Encode.int) struct.uppercase )
[INFO] [stdout]         , ( "another-field", (Json.Encode.int) struct.renamed )
[INFO] [stdout]         , ( "RENAME_FOR_SERIALIZATION", (Json.Encode.int) struct.renameForSerialization )
[INFO] [stdout]         , ( "de", (Json.Encode.int) struct.renameForDeserialization )
[INFO] [stdout]         ]
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] renameStructDecoder : Json.Decode.Decoder RenameStruct
[INFO] [stdout] renameStructDecoder =
[INFO] [stdout]     Json.Decode.succeed RenameStruct
[INFO] [stdout]         |> Json.Decode.andThen (\x -> Json.Decode.map x (Json.Decode.field "UPPERCASE" (Json.Decode.int)))
[INFO] [stdout]         |> Json.Decode.andThen (\x -> Json.Decode.map x (Json.Decode.field "another-field" (Json.Decode.int)))
[INFO] [stdout]         |> Json.Decode.andThen (\x -> Json.Decode.map x (Json.Decode.field "se" (Json.Decode.int)))
[INFO] [stdout]         |> Json.Decode.andThen (\x -> Json.Decode.map x (Json.Decode.field "RENAME_FOR_DESERIALIZATION" (Json.Decode.int)))
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] decoded = Json.Decode.decodeString renameStructDecoder "{\"UPPERCASE\":0,\"another-field\":0,\"se\":0,\"RENAME_FOR_DESERIALIZATION\":0}"
[INFO] [stdout] 
[INFO] [stdout] reEncoded = Result.map renameStructEncoder decoded
[INFO] [stdout] 
[INFO] [stdout] s = case reEncoded of
[INFO] [stdout]     Ok value ->
[INFO] [stdout]         Json.Encode.encode 0 value
[INFO] [stdout]     Err err ->
[INFO] [stdout]         Json.Decode.errorToString err
[INFO] [stdout] 
[INFO] [stdout] "START"
[INFO] [stdout] s
[INFO] [stdout] "END"
[INFO] [stdout] 
[INFO] [stdout] :exit
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] thread 'test::etc_serde::rename_struct' (590) panicked at src/test/mod.rs:179:10:
[INFO] [stdout] called `Result::unwrap()` on an `Err` value: Os { code: 2, kind: NotFound, message: "No such file or directory" }
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x58d7d352dea1 - <<std[617be2ca0a6fd877]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[a373ad73a504971]::fmt::Display>::fmt
[INFO] [stdout]    1:     0x58d7d35429ea - core[a373ad73a504971]::fmt::write
[INFO] [stdout]    2:     0x58d7d35321dc - <alloc[2e1b2a31b91974c5]::vec::Vec<u8> as core[a373ad73a504971]::io::write::Write>::write_fmt
[INFO] [stdout]    3:     0x58d7d3509d96 - std[617be2ca0a6fd877]::panicking::default_hook::{closure#0}
[INFO] [stdout]    4:     0x58d7d3526539 - std[617be2ca0a6fd877]::panicking::default_hook
[INFO] [stdout]    5:     0x58d7d34c1af0 - test[aada8e7e76ba119b]::test_main_inner::{closure#0}
[INFO] [stdout]    6:     0x58d7d35266f2 - std[617be2ca0a6fd877]::panicking::panic_with_hook
[INFO] [stdout]    7:     0x58d7d3509e42 - std[617be2ca0a6fd877]::panicking::panic_handler::{closure#0}
[INFO] [stdout]    8:     0x58d7d3502b29 - std[617be2ca0a6fd877]::sys::backtrace::__rust_end_short_backtrace::<std[617be2ca0a6fd877]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]    9:     0x58d7d350aa4d - __rustc[ea4f61d10b84890b]::rust_begin_unwind
[INFO] [stdout]   10:     0x58d7d354311c - core[a373ad73a504971]::panicking::panic_fmt
[INFO] [stdout]   11:     0x58d7d3542ef2 - core[a373ad73a504971]::result::unwrap_failed
[INFO] [stdout]   12:     0x58d7d3451fe5 - elm_rs[4c59a4dd58a77a5c]::test::run_repl
[INFO] [stdout]   13:     0x58d7d344f03a - elm_rs[4c59a4dd58a77a5c]::test::test_json::<elm_rs[4c59a4dd58a77a5c]::test::etc_serde::RenameStruct>
[INFO] [stdout]   14:     0x58d7d3497edb - <elm_rs[4c59a4dd58a77a5c]::test::etc_serde::rename_struct::{closure#0} as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]   15:     0x58d7d34b4f3b - test[aada8e7e76ba119b]::__rust_begin_short_backtrace::<core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String>, fn() -> core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String>>
[INFO] [stdout]   16:     0x58d7d34c2115 - test[aada8e7e76ba119b]::run_test::{closure#0}
[INFO] [stdout]   17:     0x58d7d34bba04 - std[617be2ca0a6fd877]::sys::backtrace::__rust_begin_short_backtrace::<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>
[INFO] [stdout]   18:     0x58d7d34c51a2 - <std[617be2ca0a6fd877]::thread::lifecycle::spawn_unchecked<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>::{closure#1} as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]   19:     0x58d7d352d6ff - <std[617be2ca0a6fd877]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]   20:     0x7a1f1c968dfa - <unknown>
[INFO] [stdout]   21:     0x7a1f1c9fc3d4 - clone
[INFO] [stdout]   22:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- test::etc_serde::transparent_struct stdout ----
[INFO] [stdout] 
[INFO] [stdout] import Json.Decode
[INFO] [stdout] import Json.Encode
[INFO] [stdout] import Dict exposing (Dict)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] resultDecoder : Json.Decode.Decoder e -> Json.Decode.Decoder t -> Json.Decode.Decoder (Result e t)
[INFO] [stdout] resultDecoder errDecoder okDecoder =
[INFO] [stdout]     Json.Decode.oneOf
[INFO] [stdout]         [ Json.Decode.map Ok (Json.Decode.field "Ok" okDecoder)
[INFO] [stdout]         , Json.Decode.map Err (Json.Decode.field "Err" errDecoder)
[INFO] [stdout]         ]
[INFO] [stdout] 
[INFO] [stdout] resultEncoder : (e -> Json.Encode.Value) -> (t -> Json.Encode.Value) -> (Result e t -> Json.Encode.Value)
[INFO] [stdout] resultEncoder errEncoder okEncoder enum =
[INFO] [stdout]     case enum of
[INFO] [stdout]         Ok inner ->
[INFO] [stdout]             Json.Encode.object [ ( "Ok", okEncoder inner ) ]
[INFO] [stdout]         Err inner ->
[INFO] [stdout]             Json.Encode.object [ ( "Err", errEncoder inner ) ]
[INFO] [stdout] 
[INFO] [stdout] type TransparentNamed
[INFO] [stdout]     = TransparentNamed (Int)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] transparentNamedEncoder : TransparentNamed -> Json.Encode.Value
[INFO] [stdout] transparentNamedEncoder (TransparentNamed inner) =
[INFO] [stdout]     (Json.Encode.int) inner
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] transparentNamedDecoder : Json.Decode.Decoder TransparentNamed
[INFO] [stdout] transparentNamedDecoder =
[INFO] [stdout]     Json.Decode.map TransparentNamed (Json.Decode.int)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] decoded = Json.Decode.decodeString transparentNamedDecoder "0"
[INFO] [stdout] 
[INFO] [stdout] reEncoded = Result.map transparentNamedEncoder decoded
[INFO] [stdout] 
[INFO] [stdout] s = case reEncoded of
[INFO] [stdout]     Ok value ->
[INFO] [stdout]         Json.Encode.encode 0 value
[INFO] [stdout]     Err err ->
[INFO] [stdout]         Json.Decode.errorToString err
[INFO] [stdout] 
[INFO] [stdout] "START"
[INFO] [stdout] s
[INFO] [stdout] "END"
[INFO] [stdout] 
[INFO] [stdout] :exit
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] thread 'test::etc_serde::transparent_struct' (595) panicked at src/test/mod.rs:179:10:
[INFO] [stdout] called `Result::unwrap()` on an `Err` value: Os { code: 2, kind: NotFound, message: "No such file or directory" }
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x58d7d352dea1 - <<std[617be2ca0a6fd877]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[a373ad73a504971]::fmt::Display>::fmt
[INFO] [stdout]    1:     0x58d7d35429ea - core[a373ad73a504971]::fmt::write
[INFO] [stdout]    2:     0x58d7d35321dc - <alloc[2e1b2a31b91974c5]::vec::Vec<u8> as core[a373ad73a504971]::io::write::Write>::write_fmt
[INFO] [stdout]    3:     0x58d7d3509d96 - std[617be2ca0a6fd877]::panicking::default_hook::{closure#0}
[INFO] [stdout]    4:     0x58d7d3526539 - std[617be2ca0a6fd877]::panicking::default_hook
[INFO] [stdout]    5:     0x58d7d34c1af0 - test[aada8e7e76ba119b]::test_main_inner::{closure#0}
[INFO] [stdout]    6:     0x58d7d35266f2 - std[617be2ca0a6fd877]::panicking::panic_with_hook
[INFO] [stdout]    7:     0x58d7d3509e42 - std[617be2ca0a6fd877]::panicking::panic_handler::{closure#0}
[INFO] [stdout]    8:     0x58d7d3502b29 - std[617be2ca0a6fd877]::sys::backtrace::__rust_end_short_backtrace::<std[617be2ca0a6fd877]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]    9:     0x58d7d350aa4d - __rustc[ea4f61d10b84890b]::rust_begin_unwind
[INFO] [stdout]   10:     0x58d7d354311c - core[a373ad73a504971]::panicking::panic_fmt
[INFO] [stdout]   11:     0x58d7d3542ef2 - core[a373ad73a504971]::result::unwrap_failed
[INFO] [stdout]   12:     0x58d7d3451fe5 - elm_rs[4c59a4dd58a77a5c]::test::run_repl
[INFO] [stdout]   13:     0x58d7d344f94a - elm_rs[4c59a4dd58a77a5c]::test::test_json::<elm_rs[4c59a4dd58a77a5c]::test::etc_serde::TransparentNamed>
[INFO] [stdout]   14:     0x58d7d3497efb - <elm_rs[4c59a4dd58a77a5c]::test::etc_serde::transparent_struct::{closure#0} as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]   15:     0x58d7d34b4f3b - test[aada8e7e76ba119b]::__rust_begin_short_backtrace::<core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String>, fn() -> core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String>>
[INFO] [stdout]   16:     0x58d7d34c2115 - test[aada8e7e76ba119b]::run_test::{closure#0}
[INFO] [stdout]   17:     0x58d7d34bba04 - std[617be2ca0a6fd877]::sys::backtrace::__rust_begin_short_backtrace::<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>
[INFO] [stdout]   18:     0x58d7d34c51a2 - <std[617be2ca0a6fd877]::thread::lifecycle::spawn_unchecked<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>::{closure#1} as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]   19:     0x58d7d352d6ff - <std[617be2ca0a6fd877]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]   20:     0x7a1f1c968dfa - <unknown>
[INFO] [stdout]   21:     0x7a1f1c9fc3d4 - clone
[INFO] [stdout]   22:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- test::regression::regression_2 stdout ----
[INFO] [stdout] 
[INFO] [stdout] import Json.Decode
[INFO] [stdout] import Json.Encode
[INFO] [stdout] import Dict exposing (Dict)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] resultDecoder : Json.Decode.Decoder e -> Json.Decode.Decoder t -> Json.Decode.Decoder (Result e t)
[INFO] [stdout] resultDecoder errDecoder okDecoder =
[INFO] [stdout]     Json.Decode.oneOf
[INFO] [stdout]         [ Json.Decode.map Ok (Json.Decode.field "Ok" okDecoder)
[INFO] [stdout]         , Json.Decode.map Err (Json.Decode.field "Err" errDecoder)
[INFO] [stdout]         ]
[INFO] [stdout] 
[INFO] [stdout] resultEncoder : (e -> Json.Encode.Value) -> (t -> Json.Encode.Value) -> (Result e t -> Json.Encode.Value)
[INFO] [stdout] resultEncoder errEncoder okEncoder enum =
[INFO] [stdout]     case enum of
[INFO] [stdout]         Ok inner ->
[INFO] [stdout]             Json.Encode.object [ ( "Ok", okEncoder inner ) ]
[INFO] [stdout]         Err inner ->
[INFO] [stdout]             Json.Encode.object [ ( "Err", errEncoder inner ) ]
[INFO] [stdout] 
[INFO] [stdout] type Msg
[INFO] [stdout]     = Unit1
[INFO] [stdout]     | Unit2
[INFO] [stdout]     | Fields1 { field : Int }
[INFO] [stdout]     | Fields2 { field : Int }
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] msgEncoder : Msg -> Json.Encode.Value
[INFO] [stdout] msgEncoder enum =
[INFO] [stdout]     case enum of
[INFO] [stdout]         Unit1 ->
[INFO] [stdout]             Json.Encode.object [ ( "type", Json.Encode.string "Unit1" ) ]
[INFO] [stdout]         Unit2 ->
[INFO] [stdout]             Json.Encode.object [ ( "type", Json.Encode.string "Unit2" ) ]
[INFO] [stdout]         Fields1 { field } ->
[INFO] [stdout]             Json.Encode.object [ ( "type", Json.Encode.string "Fields1" ), ( "field", (Json.Encode.int) field ) ]
[INFO] [stdout]         Fields2 { field } ->
[INFO] [stdout]             Json.Encode.object [ ( "type", Json.Encode.string "Fields2" ), ( "field", (Json.Encode.int) field ) ]
[INFO] [stdout] 
[INFO] [stdout] msgDecoder : Json.Decode.Decoder Msg
[INFO] [stdout] msgDecoder = 
[INFO] [stdout]         let
[INFO] [stdout]             elmRsConstructFields1 field =
[INFO] [stdout]                         Fields1 { field = field }
[INFO] [stdout]             elmRsConstructFields2 field =
[INFO] [stdout]                         Fields2 { field = field }
[INFO] [stdout]         in
[INFO] [stdout]     Json.Decode.field "type" Json.Decode.string
[INFO] [stdout]         |> Json.Decode.andThen
[INFO] [stdout]             (\tag ->
[INFO] [stdout]                 case tag of
[INFO] [stdout]                     "Unit1" ->
[INFO] [stdout]                         Json.Decode.succeed Unit1
[INFO] [stdout]                     "Unit2" ->
[INFO] [stdout]                         Json.Decode.succeed Unit2
[INFO] [stdout]                     "Fields1" ->
[INFO] [stdout]                         Json.Decode.succeed elmRsConstructFields1 |> Json.Decode.andThen (\x -> Json.Decode.map x (Json.Decode.field "field" (Json.Decode.int)))
[INFO] [stdout]                     "Fields2" ->
[INFO] [stdout]                         Json.Decode.succeed elmRsConstructFields2 |> Json.Decode.andThen (\x -> Json.Decode.map x (Json.Decode.field "field" (Json.Decode.int)))
[INFO] [stdout]                     unexpected ->
[INFO] [stdout]                         Json.Decode.fail <| "Unexpected variant " ++ unexpected
[INFO] [stdout]             )
[INFO] [stdout] 
[INFO] [stdout] decoded = Json.Decode.decodeString msgDecoder "{\"type\":\"Unit1\"}"
[INFO] [stdout] 
[INFO] [stdout] reEncoded = Result.map msgEncoder decoded
[INFO] [stdout] 
[INFO] [stdout] s = case reEncoded of
[INFO] [stdout]     Ok value ->
[INFO] [stdout]         Json.Encode.encode 0 value
[INFO] [stdout]     Err err ->
[INFO] [stdout]         Json.Decode.errorToString err
[INFO] [stdout] 
[INFO] [stdout] "START"
[INFO] [stdout] s
[INFO] [stdout] "END"
[INFO] [stdout] 
[INFO] [stdout] :exit
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] thread 'test::regression::regression_2' (605) panicked at src/test/mod.rs:179:10:
[INFO] [stdout] called `Result::unwrap()` on an `Err` value: Os { code: 2, kind: NotFound, message: "No such file or directory" }
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x58d7d352dea1 - <<std[617be2ca0a6fd877]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[a373ad73a504971]::fmt::Display>::fmt
[INFO] [stdout]    1:     0x58d7d35429ea - core[a373ad73a504971]::fmt::write
[INFO] [stdout]    2:     0x58d7d35321dc - <alloc[2e1b2a31b91974c5]::vec::Vec<u8> as core[a373ad73a504971]::io::write::Write>::write_fmt
[INFO] [stdout]    3:     0x58d7d3509d96 - std[617be2ca0a6fd877]::panicking::default_hook::{closure#0}
[INFO] [stdout]    4:     0x58d7d3526539 - std[617be2ca0a6fd877]::panicking::default_hook
[INFO] [stdout]    5:     0x58d7d34c1af0 - test[aada8e7e76ba119b]::test_main_inner::{closure#0}
[INFO] [stdout]    6:     0x58d7d35266f2 - std[617be2ca0a6fd877]::panicking::panic_with_hook
[INFO] [stdout]    7:     0x58d7d3509e42 - std[617be2ca0a6fd877]::panicking::panic_handler::{closure#0}
[INFO] [stdout]    8:     0x58d7d3502b29 - std[617be2ca0a6fd877]::sys::backtrace::__rust_end_short_backtrace::<std[617be2ca0a6fd877]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]    9:     0x58d7d350aa4d - __rustc[ea4f61d10b84890b]::rust_begin_unwind
[INFO] [stdout]   10:     0x58d7d354311c - core[a373ad73a504971]::panicking::panic_fmt
[INFO] [stdout]   11:     0x58d7d3542ef2 - core[a373ad73a504971]::result::unwrap_failed
[INFO] [stdout]   12:     0x58d7d3451fe5 - elm_rs[4c59a4dd58a77a5c]::test::run_repl
[INFO] [stdout]   13:     0x58d7d34467bd - elm_rs[4c59a4dd58a77a5c]::test::test_json::<elm_rs[4c59a4dd58a77a5c]::test::regression::Msg>
[INFO] [stdout]   14:     0x58d7d349c8ab - <elm_rs[4c59a4dd58a77a5c]::test::regression::regression_2::{closure#0} as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]   15:     0x58d7d34b4f3b - test[aada8e7e76ba119b]::__rust_begin_short_backtrace::<core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String>, fn() -> core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String>>
[INFO] [stdout]   16:     0x58d7d34c2115 - test[aada8e7e76ba119b]::run_test::{closure#0}
[INFO] [stdout]   17:     0x58d7d34bba04 - std[617be2ca0a6fd877]::sys::backtrace::__rust_begin_short_backtrace::<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>
[INFO] [stdout]   18:     0x58d7d34c51a2 - <std[617be2ca0a6fd877]::thread::lifecycle::spawn_unchecked<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>::{closure#1} as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]   19:     0x58d7d352d6ff - <std[617be2ca0a6fd877]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]   20:     0x7a1f1c968dfa - <unknown>
[INFO] [stdout]   21:     0x7a1f1c9fc3d4 - clone
[INFO] [stdout]   22:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- test::etc_serde::rename_enum stdout ----
[INFO] [stdout] 
[INFO] [stdout] import Json.Decode
[INFO] [stdout] import Json.Encode
[INFO] [stdout] import Dict exposing (Dict)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] resultDecoder : Json.Decode.Decoder e -> Json.Decode.Decoder t -> Json.Decode.Decoder (Result e t)
[INFO] [stdout] resultDecoder errDecoder okDecoder =
[INFO] [stdout]     Json.Decode.oneOf
[INFO] [stdout]         [ Json.Decode.map Ok (Json.Decode.field "Ok" okDecoder)
[INFO] [stdout]         , Json.Decode.map Err (Json.Decode.field "Err" errDecoder)
[INFO] [stdout]         ]
[INFO] [stdout] 
[INFO] [stdout] resultEncoder : (e -> Json.Encode.Value) -> (t -> Json.Encode.Value) -> (Result e t -> Json.Encode.Value)
[INFO] [stdout] resultEncoder errEncoder okEncoder enum =
[INFO] [stdout]     case enum of
[INFO] [stdout]         Ok inner ->
[INFO] [stdout]             Json.Encode.object [ ( "Ok", okEncoder inner ) ]
[INFO] [stdout]         Err inner ->
[INFO] [stdout]             Json.Encode.object [ ( "Err", errEncoder inner ) ]
[INFO] [stdout] 
[INFO] [stdout] type RenameEnum
[INFO] [stdout]     = Uppercase
[INFO] [stdout]     | Renamed
[INFO] [stdout]     | RenameForSerialization
[INFO] [stdout]     | RenameForDeserialization
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] renameEnumEncoder : RenameEnum -> Json.Encode.Value
[INFO] [stdout] renameEnumEncoder enum =
[INFO] [stdout]     case enum of
[INFO] [stdout]         Uppercase ->
[INFO] [stdout]             Json.Encode.string "UPPERCASE"
[INFO] [stdout]         Renamed ->
[INFO] [stdout]             Json.Encode.string "another-variant"
[INFO] [stdout]         RenameForSerialization ->
[INFO] [stdout]             Json.Encode.string "RENAMEFORSERIALIZATION"
[INFO] [stdout]         RenameForDeserialization ->
[INFO] [stdout]             Json.Encode.string "de"
[INFO] [stdout] 
[INFO] [stdout] renameEnumDecoder : Json.Decode.Decoder RenameEnum
[INFO] [stdout] renameEnumDecoder = 
[INFO] [stdout]     Json.Decode.oneOf
[INFO] [stdout]         [ Json.Decode.string
[INFO] [stdout]             |> Json.Decode.andThen
[INFO] [stdout]                 (\x ->
[INFO] [stdout]                     case x of
[INFO] [stdout]                         "UPPERCASE" ->
[INFO] [stdout]                             Json.Decode.succeed Uppercase
[INFO] [stdout]                         unexpected ->
[INFO] [stdout]                             Json.Decode.fail <| "Unexpected variant " ++ unexpected
[INFO] [stdout]                 )
[INFO] [stdout]         , Json.Decode.string
[INFO] [stdout]             |> Json.Decode.andThen
[INFO] [stdout]                 (\x ->
[INFO] [stdout]                     case x of
[INFO] [stdout]                         "another-variant" ->
[INFO] [stdout]                             Json.Decode.succeed Renamed
[INFO] [stdout]                         unexpected ->
[INFO] [stdout]                             Json.Decode.fail <| "Unexpected variant " ++ unexpected
[INFO] [stdout]                 )
[INFO] [stdout]         , Json.Decode.string
[INFO] [stdout]             |> Json.Decode.andThen
[INFO] [stdout]                 (\x ->
[INFO] [stdout]                     case x of
[INFO] [stdout]                         "se" ->
[INFO] [stdout]                             Json.Decode.succeed RenameForSerialization
[INFO] [stdout]                         unexpected ->
[INFO] [stdout]                             Json.Decode.fail <| "Unexpected variant " ++ unexpected
[INFO] [stdout]                 )
[INFO] [stdout]         , Json.Decode.string
[INFO] [stdout]             |> Json.Decode.andThen
[INFO] [stdout]                 (\x ->
[INFO] [stdout]                     case x of
[INFO] [stdout]                         "RENAMEFORDESERIALIZATION" ->
[INFO] [stdout]                             Json.Decode.succeed RenameForDeserialization
[INFO] [stdout]                         unexpected ->
[INFO] [stdout]                             Json.Decode.fail <| "Unexpected variant " ++ unexpected
[INFO] [stdout]                 )
[INFO] [stdout]         ]
[INFO] [stdout] 
[INFO] [stdout] decoded = Json.Decode.decodeString renameEnumDecoder "\"UPPERCASE\""
[INFO] [stdout] 
[INFO] [stdout] reEncoded = Result.map renameEnumEncoder decoded
[INFO] [stdout] 
[INFO] [stdout] s = case reEncoded of
[INFO] [stdout]     Ok value ->
[INFO] [stdout]         Json.Encode.encode 0 value
[INFO] [stdout]     Err err ->
[INFO] [stdout]         Json.Decode.errorToString err
[INFO] [stdout] 
[INFO] [stdout] "START"
[INFO] [stdout] s
[INFO] [stdout] "END"
[INFO] [stdout] 
[INFO] [stdout] :exit
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] thread 'test::etc_serde::rename_enum' (589) panicked at src/test/mod.rs:179:10:
[INFO] [stdout] called `Result::unwrap()` on an `Err` value: Os { code: 2, kind: NotFound, message: "No such file or directory" }
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x58d7d352dea1 - <<std[617be2ca0a6fd877]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[a373ad73a504971]::fmt::Display>::fmt
[INFO] [stdout]    1:     0x58d7d35429ea - core[a373ad73a504971]::fmt::write
[INFO] [stdout]    2:     0x58d7d35321dc - <alloc[2e1b2a31b91974c5]::vec::Vec<u8> as core[a373ad73a504971]::io::write::Write>::write_fmt
[INFO] [stdout]    3:     0x58d7d3509d96 - std[617be2ca0a6fd877]::panicking::default_hook::{closure#0}
[INFO] [stdout]    4:     0x58d7d3526539 - std[617be2ca0a6fd877]::panicking::default_hook
[INFO] [stdout]    5:     0x58d7d34c1af0 - test[aada8e7e76ba119b]::test_main_inner::{closure#0}
[INFO] [stdout]    6:     0x58d7d35266f2 - std[617be2ca0a6fd877]::panicking::panic_with_hook
[INFO] [stdout]    7:     0x58d7d3509e42 - std[617be2ca0a6fd877]::panicking::panic_handler::{closure#0}
[INFO] [stdout]    8:     0x58d7d3502b29 - std[617be2ca0a6fd877]::sys::backtrace::__rust_end_short_backtrace::<std[617be2ca0a6fd877]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]    9:     0x58d7d350aa4d - __rustc[ea4f61d10b84890b]::rust_begin_unwind
[INFO] [stdout]   10:     0x58d7d354311c - core[a373ad73a504971]::panicking::panic_fmt
[INFO] [stdout]   11:     0x58d7d3542ef2 - core[a373ad73a504971]::result::unwrap_failed
[INFO] [stdout]   12:     0x58d7d3451fe5 - elm_rs[4c59a4dd58a77a5c]::test::run_repl
[INFO] [stdout]   13:     0x58d7d344e75d - elm_rs[4c59a4dd58a77a5c]::test::test_json::<elm_rs[4c59a4dd58a77a5c]::test::etc_serde::RenameEnum>
[INFO] [stdout]   14:     0x58d7d3497e9b - <elm_rs[4c59a4dd58a77a5c]::test::etc_serde::rename_enum::{closure#0} as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]   15:     0x58d7d34b4f3b - test[aada8e7e76ba119b]::__rust_begin_short_backtrace::<core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String>, fn() -> core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String>>
[INFO] [stdout]   16:     0x58d7d34c2115 - test[aada8e7e76ba119b]::run_test::{closure#0}
[INFO] [stdout]   17:     0x58d7d34bba04 - std[617be2ca0a6fd877]::sys::backtrace::__rust_begin_short_backtrace::<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>
[INFO] [stdout]   18:     0x58d7d34c51a2 - <std[617be2ca0a6fd877]::thread::lifecycle::spawn_unchecked<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>::{closure#1} as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]   19:     0x58d7d352d6ff - <std[617be2ca0a6fd877]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]   20:     0x7a1f1c968dfa - <unknown>
[INFO] [stdout]   21:     0x7a1f1c9fc3d4 - clone
[INFO] [stdout]   22:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- test::regression::regression_4 stdout ----
[INFO] [stdout] 
[INFO] [stdout] import Json.Decode
[INFO] [stdout] import Json.Encode
[INFO] [stdout] import Dict exposing (Dict)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] type E
[INFO] [stdout]     = V { a : Maybe (Int) }
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] eEncoder : E -> Json.Encode.Value
[INFO] [stdout] eEncoder enum =
[INFO] [stdout]     case enum of
[INFO] [stdout]         V { a } ->
[INFO] [stdout]             Json.Encode.object [ ( "V", Json.Encode.object [ ( "a", (Maybe.withDefault Json.Encode.null << Maybe.map (Json.Encode.int)) a ) ] ) ]
[INFO] [stdout] 
[INFO] [stdout] eDecoder : Json.Decode.Decoder E
[INFO] [stdout] eDecoder = 
[INFO] [stdout]         let
[INFO] [stdout]             elmRsConstructV a =
[INFO] [stdout]                         V { a = a }
[INFO] [stdout]         in
[INFO] [stdout]     Json.Decode.oneOf
[INFO] [stdout]         [ Json.Decode.field "V" (Json.Decode.succeed elmRsConstructV |> Json.Decode.andThen (\x -> Json.Decode.map x (Json.Decode.field "a" (Json.Decode.nullable (Json.Decode.int)))))
[INFO] [stdout]         ]
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] resultDecoder : Json.Decode.Decoder e -> Json.Decode.Decoder t -> Json.Decode.Decoder (Result e t)
[INFO] [stdout] resultDecoder errDecoder okDecoder =
[INFO] [stdout]     Json.Decode.oneOf
[INFO] [stdout]         [ Json.Decode.map Ok (Json.Decode.field "Ok" okDecoder)
[INFO] [stdout]         , Json.Decode.map Err (Json.Decode.field "Err" errDecoder)
[INFO] [stdout]         ]
[INFO] [stdout] 
[INFO] [stdout] resultEncoder : (e -> Json.Encode.Value) -> (t -> Json.Encode.Value) -> (Result e t -> Json.Encode.Value)
[INFO] [stdout] resultEncoder errEncoder okEncoder enum =
[INFO] [stdout]     case enum of
[INFO] [stdout]         Ok inner ->
[INFO] [stdout]             Json.Encode.object [ ( "Ok", okEncoder inner ) ]
[INFO] [stdout]         Err inner ->
[INFO] [stdout]             Json.Encode.object [ ( "Err", errEncoder inner ) ]
[INFO] [stdout] 
[INFO] [stdout] type E
[INFO] [stdout]     = V { a : Maybe (Int) }
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] eEncoder : E -> Json.Encode.Value
[INFO] [stdout] eEncoder enum =
[INFO] [stdout]     case enum of
[INFO] [stdout]         V { a } ->
[INFO] [stdout]             Json.Encode.object [ ( "V", Json.Encode.object [ ( "a", (Maybe.withDefault Json.Encode.null << Maybe.map (Json.Encode.int)) a ) ] ) ]
[INFO] [stdout] 
[INFO] [stdout] eDecoder : Json.Decode.Decoder E
[INFO] [stdout] eDecoder = 
[INFO] [stdout]         let
[INFO] [stdout]             elmRsConstructV a =
[INFO] [stdout]                         V { a = a }
[INFO] [stdout]         in
[INFO] [stdout]     Json.Decode.oneOf
[INFO] [stdout]         [ Json.Decode.field "V" (Json.Decode.succeed elmRsConstructV |> Json.Decode.andThen (\x -> Json.Decode.map x (Json.Decode.field "a" (Json.Decode.nullable (Json.Decode.int)))))
[INFO] [stdout]         ]
[INFO] [stdout] 
[INFO] [stdout] decoded = Json.Decode.decodeString eDecoder "{\"V\":{\"a\":1234}}"
[INFO] [stdout] 
[INFO] [stdout] reEncoded = Result.map eEncoder decoded
[INFO] [stdout] 
[INFO] [stdout] s = case reEncoded of
[INFO] [stdout]     Ok value ->
[INFO] [stdout]         Json.Encode.encode 0 value
[INFO] [stdout]     Err err ->
[INFO] [stdout]         Json.Decode.errorToString err
[INFO] [stdout] 
[INFO] [stdout] "START"
[INFO] [stdout] s
[INFO] [stdout] "END"
[INFO] [stdout] 
[INFO] [stdout] :exit
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] thread 'test::regression::regression_4' (606) panicked at src/test/mod.rs:179:10:
[INFO] [stdout] called `Result::unwrap()` on an `Err` value: Os { code: 2, kind: NotFound, message: "No such file or directory" }
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x58d7d352dea1 - <<std[617be2ca0a6fd877]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[a373ad73a504971]::fmt::Display>::fmt
[INFO] [stdout]    1:     0x58d7d35429ea - core[a373ad73a504971]::fmt::write
[INFO] [stdout]    2:     0x58d7d35321dc - <alloc[2e1b2a31b91974c5]::vec::Vec<u8> as core[a373ad73a504971]::io::write::Write>::write_fmt
[INFO] [stdout]    3:     0x58d7d3509d96 - std[617be2ca0a6fd877]::panicking::default_hook::{closure#0}
[INFO] [stdout]    4:     0x58d7d3526539 - std[617be2ca0a6fd877]::panicking::default_hook
[INFO] [stdout]    5:     0x58d7d34c1af0 - test[aada8e7e76ba119b]::test_main_inner::{closure#0}
[INFO] [stdout]    6:     0x58d7d35266f2 - std[617be2ca0a6fd877]::panicking::panic_with_hook
[INFO] [stdout]    7:     0x58d7d3509e42 - std[617be2ca0a6fd877]::panicking::panic_handler::{closure#0}
[INFO] [stdout]    8:     0x58d7d3502b29 - std[617be2ca0a6fd877]::sys::backtrace::__rust_end_short_backtrace::<std[617be2ca0a6fd877]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]    9:     0x58d7d350aa4d - __rustc[ea4f61d10b84890b]::rust_begin_unwind
[INFO] [stdout]   10:     0x58d7d354311c - core[a373ad73a504971]::panicking::panic_fmt
[INFO] [stdout]   11:     0x58d7d3542ef2 - core[a373ad73a504971]::result::unwrap_failed
[INFO] [stdout]   12:     0x58d7d3451fe5 - elm_rs[4c59a4dd58a77a5c]::test::run_repl
[INFO] [stdout]   13:     0x58d7d34455bf - elm_rs[4c59a4dd58a77a5c]::test::test_json_with_deps::<elm_rs[4c59a4dd58a77a5c]::test::regression::E>
[INFO] [stdout]   14:     0x58d7d349ca07 - <elm_rs[4c59a4dd58a77a5c]::test::regression::regression_4::{closure#0} as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]   15:     0x58d7d34b4f3b - test[aada8e7e76ba119b]::__rust_begin_short_backtrace::<core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String>, fn() -> core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String>>
[INFO] [stdout]   16:     0x58d7d34c2115 - test[aada8e7e76ba119b]::run_test::{closure#0}
[INFO] [stdout]   17:     0x58d7d34bba04 - std[617be2ca0a6fd877]::sys::backtrace::__rust_begin_short_backtrace::<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>
[INFO] [stdout]   18:     0x58d7d34c51a2 - <std[617be2ca0a6fd877]::thread::lifecycle::spawn_unchecked<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>::{closure#1} as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]   19:     0x58d7d352d6ff - <std[617be2ca0a6fd877]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]   20:     0x7a1f1c968dfa - <unknown>
[INFO] [stdout]   21:     0x7a1f1c9fc3d4 - clone
[INFO] [stdout]   22:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- test::structs_serde::named stdout ----
[INFO] [stdout] 
[INFO] [stdout] import Json.Decode
[INFO] [stdout] import Json.Encode
[INFO] [stdout] import Dict exposing (Dict)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] resultDecoder : Json.Decode.Decoder e -> Json.Decode.Decoder t -> Json.Decode.Decoder (Result e t)
[INFO] [stdout] resultDecoder errDecoder okDecoder =
[INFO] [stdout]     Json.Decode.oneOf
[INFO] [stdout]         [ Json.Decode.map Ok (Json.Decode.field "Ok" okDecoder)
[INFO] [stdout]         , Json.Decode.map Err (Json.Decode.field "Err" errDecoder)
[INFO] [stdout]         ]
[INFO] [stdout] 
[INFO] [stdout] resultEncoder : (e -> Json.Encode.Value) -> (t -> Json.Encode.Value) -> (Result e t -> Json.Encode.Value)
[INFO] [stdout] resultEncoder errEncoder okEncoder enum =
[INFO] [stdout]     case enum of
[INFO] [stdout]         Ok inner ->
[INFO] [stdout]             Json.Encode.object [ ( "Ok", okEncoder inner ) ]
[INFO] [stdout]         Err inner ->
[INFO] [stdout]             Json.Encode.object [ ( "Err", errEncoder inner ) ]
[INFO] [stdout] 
[INFO] [stdout] type alias Named =
[INFO] [stdout]     { field : Int
[INFO] [stdout]     , renamed : Int
[INFO] [stdout]     }
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] namedEncoder : Named -> Json.Encode.Value
[INFO] [stdout] namedEncoder struct =
[INFO] [stdout]     Json.Encode.object
[INFO] [stdout]         [ ( "FIELD", (Json.Encode.int) struct.field )
[INFO] [stdout]         , ( "another-field", (Json.Encode.int) struct.renamed )
[INFO] [stdout]         ]
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] namedDecoder : Json.Decode.Decoder Named
[INFO] [stdout] namedDecoder =
[INFO] [stdout]     Json.Decode.succeed Named
[INFO] [stdout]         |> Json.Decode.andThen (\x -> Json.Decode.map x (Json.Decode.field "FIELD" (Json.Decode.int)))
[INFO] [stdout]         |> Json.Decode.andThen (\x -> Json.Decode.map x (Json.Decode.field "another-field" (Json.Decode.int)))
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] decoded = Json.Decode.decodeString namedDecoder "{\"FIELD\":123,\"another-field\":0}"
[INFO] [stdout] 
[INFO] [stdout] reEncoded = Result.map namedEncoder decoded
[INFO] [stdout] 
[INFO] [stdout] s = case reEncoded of
[INFO] [stdout]     Ok value ->
[INFO] [stdout]         Json.Encode.encode 0 value
[INFO] [stdout]     Err err ->
[INFO] [stdout]         Json.Decode.errorToString err
[INFO] [stdout] 
[INFO] [stdout] "START"
[INFO] [stdout] s
[INFO] [stdout] "END"
[INFO] [stdout] 
[INFO] [stdout] :exit
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] thread 'test::structs_serde::named' (615) panicked at src/test/mod.rs:179:10:
[INFO] [stdout] called `Result::unwrap()` on an `Err` value: Os { code: 2, kind: NotFound, message: "No such file or directory" }
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x58d7d352dea1 - <<std[617be2ca0a6fd877]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[a373ad73a504971]::fmt::Display>::fmt
[INFO] [stdout]    1:     0x58d7d35429ea - core[a373ad73a504971]::fmt::write
[INFO] [stdout]    2:     0x58d7d35321dc - <alloc[2e1b2a31b91974c5]::vec::Vec<u8> as core[a373ad73a504971]::io::write::Write>::write_fmt
[INFO] [stdout]    3:     0x58d7d3509d96 - std[617be2ca0a6fd877]::panicking::default_hook::{closure#0}
[INFO] [stdout]    4:     0x58d7d3526539 - std[617be2ca0a6fd877]::panicking::default_hook
[INFO] [stdout]    5:     0x58d7d34c1af0 - test[aada8e7e76ba119b]::test_main_inner::{closure#0}
[INFO] [stdout]    6:     0x58d7d35266f2 - std[617be2ca0a6fd877]::panicking::panic_with_hook
[INFO] [stdout]    7:     0x58d7d3509e42 - std[617be2ca0a6fd877]::panicking::panic_handler::{closure#0}
[INFO] [stdout]    8:     0x58d7d3502b29 - std[617be2ca0a6fd877]::sys::backtrace::__rust_end_short_backtrace::<std[617be2ca0a6fd877]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]    9:     0x58d7d350aa4d - __rustc[ea4f61d10b84890b]::rust_begin_unwind
[INFO] [stdout]   10:     0x58d7d354311c - core[a373ad73a504971]::panicking::panic_fmt
[INFO] [stdout]   11:     0x58d7d3542ef2 - core[a373ad73a504971]::result::unwrap_failed
[INFO] [stdout]   12:     0x58d7d3451fe5 - elm_rs[4c59a4dd58a77a5c]::test::run_repl
[INFO] [stdout]   13:     0x58d7d3447910 - elm_rs[4c59a4dd58a77a5c]::test::test_json::<elm_rs[4c59a4dd58a77a5c]::test::structs_serde::Named>
[INFO] [stdout]   14:     0x58d7d3492c30 - <elm_rs[4c59a4dd58a77a5c]::test::structs_serde::named::{closure#0} as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]   15:     0x58d7d34b4f3b - test[aada8e7e76ba119b]::__rust_begin_short_backtrace::<core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String>, fn() -> core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String>>
[INFO] [stdout]   16:     0x58d7d34c2115 - test[aada8e7e76ba119b]::run_test::{closure#0}
[INFO] [stdout]   17:     0x58d7d34bba04 - std[617be2ca0a6fd877]::sys::backtrace::__rust_begin_short_backtrace::<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>
[INFO] [stderr] error: test failed, to rerun pass `--lib`
[INFO] [stdout]   18:     0x58d7d34c51a2 - <std[617be2ca0a6fd877]::thread::lifecycle::spawn_unchecked<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>::{closure#1} as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]   19:     0x58d7d352d6ff - <std[617be2ca0a6fd877]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]   20:     0x7a1f1c968dfa - <unknown>
[INFO] [stdout]   21:     0x7a1f1c9fc3d4 - clone
[INFO] [stdout]   22:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- test::query::query_enum stdout ----
[INFO] [stdout] 
[INFO] [stdout] import Json.Decode
[INFO] [stdout] import Url.Builder
[INFO] [stdout] 
[INFO] [stdout] type Enum
[INFO] [stdout]     = First
[INFO] [stdout]     | Second
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] type alias ContainsEnum =
[INFO] [stdout]     { e : Enum
[INFO] [stdout]     }
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] enumDecoder : Json.Decode.Decoder Enum
[INFO] [stdout] enumDecoder = 
[INFO] [stdout]     Json.Decode.oneOf
[INFO] [stdout]         [ Json.Decode.string
[INFO] [stdout]             |> Json.Decode.andThen
[INFO] [stdout]                 (\x ->
[INFO] [stdout]                     case x of
[INFO] [stdout]                         "First" ->
[INFO] [stdout]                             Json.Decode.succeed First
[INFO] [stdout]                         unexpected ->
[INFO] [stdout]                             Json.Decode.fail <| "Unexpected variant " ++ unexpected
[INFO] [stdout]                 )
[INFO] [stdout]         , Json.Decode.string
[INFO] [stdout]             |> Json.Decode.andThen
[INFO] [stdout]                 (\x ->
[INFO] [stdout]                     case x of
[INFO] [stdout]                         "Second" ->
[INFO] [stdout]                             Json.Decode.succeed Second
[INFO] [stdout]                         unexpected ->
[INFO] [stdout]                             Json.Decode.fail <| "Unexpected variant " ++ unexpected
[INFO] [stdout]                 )
[INFO] [stdout]         ]
[INFO] [stdout] 
[INFO] [stdout] containsEnumDecoder : Json.Decode.Decoder ContainsEnum
[INFO] [stdout] containsEnumDecoder =
[INFO] [stdout]     Json.Decode.succeed ContainsEnum
[INFO] [stdout]         |> Json.Decode.andThen (\x -> Json.Decode.map x (Json.Decode.field "e" (enumDecoder)))
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] queryFieldEncoderEnum : Enum -> String
[INFO] [stdout] queryFieldEncoderEnum var =
[INFO] [stdout]     case var of
[INFO] [stdout]         First -> "First"
[INFO] [stdout]         Second -> "Second"
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] urlEncodeContainsEnum : ContainsEnum -> List Url.Builder.QueryParameter
[INFO] [stdout] urlEncodeContainsEnum struct =
[INFO] [stdout]     [ Url.Builder.string "e" (queryFieldEncoderEnum struct.e) ]
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] decoded = Json.Decode.decodeString containsEnumDecoder "{\"e\":\"First\"}"
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] s = case decoded of
[INFO] [stdout]     Ok value ->
[INFO] [stdout]         Url.Builder.toQuery (urlEncodeContainsEnum value)
[INFO] [stdout]     Err err ->
[INFO] [stdout]         Json.Decode.errorToString err
[INFO] [stdout] 
[INFO] [stdout] "START"
[INFO] [stdout] s
[INFO] [stdout] "END"
[INFO] [stdout] 
[INFO] [stdout] :exit
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] thread 'test::query::query_enum' (599) panicked at src/test/mod.rs:179:10:
[INFO] [stdout] called `Result::unwrap()` on an `Err` value: Os { code: 2, kind: NotFound, message: "No such file or directory" }
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x58d7d352dea1 - <<std[617be2ca0a6fd877]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[a373ad73a504971]::fmt::Display>::fmt
[INFO] [stdout]    1:     0x58d7d35429ea - core[a373ad73a504971]::fmt::write
[INFO] [stdout]    2:     0x58d7d35321dc - <alloc[2e1b2a31b91974c5]::vec::Vec<u8> as core[a373ad73a504971]::io::write::Write>::write_fmt
[INFO] [stdout]    3:     0x58d7d3509d96 - std[617be2ca0a6fd877]::panicking::default_hook::{closure#0}
[INFO] [stdout]    4:     0x58d7d3526539 - std[617be2ca0a6fd877]::panicking::default_hook
[INFO] [stdout]    5:     0x58d7d34c1af0 - test[aada8e7e76ba119b]::test_main_inner::{closure#0}
[INFO] [stdout]    6:     0x58d7d35266f2 - std[617be2ca0a6fd877]::panicking::panic_with_hook
[INFO] [stdout]    7:     0x58d7d3509e42 - std[617be2ca0a6fd877]::panicking::panic_handler::{closure#0}
[INFO] [stdout]    8:     0x58d7d3502b29 - std[617be2ca0a6fd877]::sys::backtrace::__rust_end_short_backtrace::<std[617be2ca0a6fd877]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]    9:     0x58d7d350aa4d - __rustc[ea4f61d10b84890b]::rust_begin_unwind
[INFO] [stdout]   10:     0x58d7d354311c - core[a373ad73a504971]::panicking::panic_fmt
[INFO] [stdout]   11:     0x58d7d3542ef2 - core[a373ad73a504971]::result::unwrap_failed
[INFO] [stdout]   12:     0x58d7d3451fe5 - elm_rs[4c59a4dd58a77a5c]::test::run_repl
[INFO] [stdout]   13:     0x58d7d34432e1 - elm_rs[4c59a4dd58a77a5c]::test::test_query::<elm_rs[4c59a4dd58a77a5c]::test::query::ContainsEnum, elm_rs[4c59a4dd58a77a5c]::test::query::Enum>
[INFO] [stdout]   14:     0x58d7d3492c97 - <elm_rs[4c59a4dd58a77a5c]::test::query::query_enum::{closure#0} as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]   15:     0x58d7d34b4f3b - test[aada8e7e76ba119b]::__rust_begin_short_backtrace::<core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String>, fn() -> core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String>>
[INFO] [stdout]   16:     0x58d7d34c2115 - test[aada8e7e76ba119b]::run_test::{closure#0}
[INFO] [stdout]   17:     0x58d7d34bba04 - std[617be2ca0a6fd877]::sys::backtrace::__rust_begin_short_backtrace::<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>
[INFO] [stdout]   18:     0x58d7d34c51a2 - <std[617be2ca0a6fd877]::thread::lifecycle::spawn_unchecked<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>::{closure#1} as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]   19:     0x58d7d352d6ff - <std[617be2ca0a6fd877]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]   20:     0x7a1f1c968dfa - <unknown>
[INFO] [stdout]   21:     0x7a1f1c9fc3d4 - clone
[INFO] [stdout]   22:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- test::nested::nestedtypes stdout ----
[INFO] [stdout] 
[INFO] [stdout] import Json.Decode
[INFO] [stdout] import Json.Encode
[INFO] [stdout] import Dict exposing (Dict)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] resultDecoder : Json.Decode.Decoder e -> Json.Decode.Decoder t -> Json.Decode.Decoder (Result e t)
[INFO] [stdout] resultDecoder errDecoder okDecoder =
[INFO] [stdout]     Json.Decode.oneOf
[INFO] [stdout]         [ Json.Decode.map Ok (Json.Decode.field "Ok" okDecoder)
[INFO] [stdout]         , Json.Decode.map Err (Json.Decode.field "Err" errDecoder)
[INFO] [stdout]         ]
[INFO] [stdout] 
[INFO] [stdout] resultEncoder : (e -> Json.Encode.Value) -> (t -> Json.Encode.Value) -> (Result e t -> Json.Encode.Value)
[INFO] [stdout] resultEncoder errEncoder okEncoder enum =
[INFO] [stdout]     case enum of
[INFO] [stdout]         Ok inner ->
[INFO] [stdout]             Json.Encode.object [ ( "Ok", okEncoder inner ) ]
[INFO] [stdout]         Err inner ->
[INFO] [stdout]             Json.Encode.object [ ( "Err", errEncoder inner ) ]
[INFO] [stdout] 
[INFO] [stdout] type alias NestedTypes =
[INFO] [stdout]     { result : Result (Int) (List (String))
[INFO] [stdout]     , option : Maybe (List (String))
[INFO] [stdout]     , vec : List (List (String))
[INFO] [stdout]     }
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] nestedTypesEncoder : NestedTypes -> Json.Encode.Value
[INFO] [stdout] nestedTypesEncoder struct =
[INFO] [stdout]     Json.Encode.object
[INFO] [stdout]         [ ( "result", (resultEncoder (Json.Encode.int) (Json.Encode.list (Json.Encode.string))) struct.result )
[INFO] [stdout]         , ( "option", (Maybe.withDefault Json.Encode.null << Maybe.map (Json.Encode.list (Json.Encode.string))) struct.option )
[INFO] [stdout]         , ( "vec", (Json.Encode.list (Json.Encode.list (Json.Encode.string))) struct.vec )
[INFO] [stdout]         ]
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] nestedTypesDecoder : Json.Decode.Decoder NestedTypes
[INFO] [stdout] nestedTypesDecoder =
[INFO] [stdout]     Json.Decode.succeed NestedTypes
[INFO] [stdout]         |> Json.Decode.andThen (\x -> Json.Decode.map x (Json.Decode.field "result" (resultDecoder (Json.Decode.int) (Json.Decode.list (Json.Decode.string)))))
[INFO] [stdout]         |> Json.Decode.andThen (\x -> Json.Decode.map x (Json.Decode.field "option" (Json.Decode.nullable (Json.Decode.list (Json.Decode.string)))))
[INFO] [stdout]         |> Json.Decode.andThen (\x -> Json.Decode.map x (Json.Decode.field "vec" (Json.Decode.list (Json.Decode.list (Json.Decode.string)))))
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] decoded = Json.Decode.decodeString nestedTypesDecoder "{\"result\":{\"Ok\":[]},\"option\":[],\"vec\":[[]]}"
[INFO] [stdout] 
[INFO] [stdout] reEncoded = Result.map nestedTypesEncoder decoded
[INFO] [stdout] 
[INFO] [stdout] s = case reEncoded of
[INFO] [stdout]     Ok value ->
[INFO] [stdout]         Json.Encode.encode 0 value
[INFO] [stdout]     Err err ->
[INFO] [stdout]         Json.Decode.errorToString err
[INFO] [stdout] 
[INFO] [stdout] "START"
[INFO] [stdout] s
[INFO] [stdout] "END"
[INFO] [stdout] 
[INFO] [stdout] :exit
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] thread 'test::nested::nestedtypes' (598) panicked at src/test/mod.rs:179:10:
[INFO] [stdout] called `Result::unwrap()` on an `Err` value: Os { code: 2, kind: NotFound, message: "No such file or directory" }
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x58d7d352dea1 - <<std[617be2ca0a6fd877]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[a373ad73a504971]::fmt::Display>::fmt
[INFO] [stdout]    1:     0x58d7d35429ea - core[a373ad73a504971]::fmt::write
[INFO] [stdout]    2:     0x58d7d35321dc - <alloc[2e1b2a31b91974c5]::vec::Vec<u8> as core[a373ad73a504971]::io::write::Write>::write_fmt
[INFO] [stdout]    3:     0x58d7d3509d96 - std[617be2ca0a6fd877]::panicking::default_hook::{closure#0}
[INFO] [stdout]    4:     0x58d7d3526539 - std[617be2ca0a6fd877]::panicking::default_hook
[INFO] [stdout]    5:     0x58d7d34c1af0 - test[aada8e7e76ba119b]::test_main_inner::{closure#0}
[INFO] [stdout]    6:     0x58d7d35266f2 - std[617be2ca0a6fd877]::panicking::panic_with_hook
[INFO] [stdout]    7:     0x58d7d3509e42 - std[617be2ca0a6fd877]::panicking::panic_handler::{closure#0}
[INFO] [stdout]    8:     0x58d7d3502b29 - std[617be2ca0a6fd877]::sys::backtrace::__rust_end_short_backtrace::<std[617be2ca0a6fd877]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]    9:     0x58d7d350aa4d - __rustc[ea4f61d10b84890b]::rust_begin_unwind
[INFO] [stdout]   10:     0x58d7d354311c - core[a373ad73a504971]::panicking::panic_fmt
[INFO] [stdout]   11:     0x58d7d3542ef2 - core[a373ad73a504971]::result::unwrap_failed
[INFO] [stdout]   12:     0x58d7d3451fe5 - elm_rs[4c59a4dd58a77a5c]::test::run_repl
[INFO] [stdout]   13:     0x58d7d344b833 - elm_rs[4c59a4dd58a77a5c]::test::test_json::<elm_rs[4c59a4dd58a77a5c]::test::nested::NestedTypes>
[INFO] [stdout]   14:     0x58d7d3497e4c - <elm_rs[4c59a4dd58a77a5c]::test::nested::nestedtypes::{closure#0} as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]   15:     0x58d7d34b4f3b - test[aada8e7e76ba119b]::__rust_begin_short_backtrace::<core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String>, fn() -> core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String>>
[INFO] [stdout]   16:     0x58d7d34c2115 - test[aada8e7e76ba119b]::run_test::{closure#0}
[INFO] [stdout]   17:     0x58d7d34bba04 - std[617be2ca0a6fd877]::sys::backtrace::__rust_begin_short_backtrace::<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>
[INFO] [stdout]   18:     0x58d7d34c51a2 - <std[617be2ca0a6fd877]::thread::lifecycle::spawn_unchecked<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>::{closure#1} as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]   19:     0x58d7d352d6ff - <std[617be2ca0a6fd877]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]   20:     0x7a1f1c968dfa - <unknown>
[INFO] [stdout]   21:     0x7a1f1c9fc3d4 - clone
[INFO] [stdout]   22:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- test::structs_serde::tuple stdout ----
[INFO] [stdout] 
[INFO] [stdout] import Json.Decode
[INFO] [stdout] import Json.Encode
[INFO] [stdout] import Dict exposing (Dict)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] resultDecoder : Json.Decode.Decoder e -> Json.Decode.Decoder t -> Json.Decode.Decoder (Result e t)
[INFO] [stdout] resultDecoder errDecoder okDecoder =
[INFO] [stdout]     Json.Decode.oneOf
[INFO] [stdout]         [ Json.Decode.map Ok (Json.Decode.field "Ok" okDecoder)
[INFO] [stdout]         , Json.Decode.map Err (Json.Decode.field "Err" errDecoder)
[INFO] [stdout]         ]
[INFO] [stdout] 
[INFO] [stdout] resultEncoder : (e -> Json.Encode.Value) -> (t -> Json.Encode.Value) -> (Result e t -> Json.Encode.Value)
[INFO] [stdout] resultEncoder errEncoder okEncoder enum =
[INFO] [stdout]     case enum of
[INFO] [stdout]         Ok inner ->
[INFO] [stdout]             Json.Encode.object [ ( "Ok", okEncoder inner ) ]
[INFO] [stdout]         Err inner ->
[INFO] [stdout]             Json.Encode.object [ ( "Err", errEncoder inner ) ]
[INFO] [stdout] 
[INFO] [stdout] type Tuple
[INFO] [stdout]     = Tuple (Int) (Int)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] tupleEncoder : Tuple -> Json.Encode.Value
[INFO] [stdout] tupleEncoder (Tuple t0 t1) =
[INFO] [stdout]     Json.Encode.list identity
[INFO] [stdout]         [ (Json.Encode.int) t0
[INFO] [stdout]         , (Json.Encode.int) t1
[INFO] [stdout]         ]
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] tupleDecoder : Json.Decode.Decoder Tuple
[INFO] [stdout] tupleDecoder =
[INFO] [stdout]     Json.Decode.succeed Tuple
[INFO] [stdout]         |> Json.Decode.andThen (\x -> Json.Decode.index 0 (Json.Decode.int) |> Json.Decode.map x)
[INFO] [stdout]         |> Json.Decode.andThen (\x -> Json.Decode.index 1 (Json.Decode.int) |> Json.Decode.map x)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] decoded = Json.Decode.decodeString tupleDecoder "[123,234]"
[INFO] [stdout] 
[INFO] [stdout] reEncoded = Result.map tupleEncoder decoded
[INFO] [stdout] 
[INFO] [stdout] s = case reEncoded of
[INFO] [stdout]     Ok value ->
[INFO] [stdout]         Json.Encode.encode 0 value
[INFO] [stdout]     Err err ->
[INFO] [stdout]         Json.Decode.errorToString err
[INFO] [stdout] 
[INFO] [stdout] "START"
[INFO] [stdout] s
[INFO] [stdout] "END"
[INFO] [stdout] 
[INFO] [stdout] :exit
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] thread 'test::structs_serde::tuple' (617) panicked at src/test/mod.rs:179:10:
[INFO] [stdout] called `Result::unwrap()` on an `Err` value: Os { code: 2, kind: NotFound, message: "No such file or directory" }
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x58d7d352dea1 - <<std[617be2ca0a6fd877]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[a373ad73a504971]::fmt::Display>::fmt
[INFO] [stdout]    1:     0x58d7d35429ea - core[a373ad73a504971]::fmt::write
[INFO] [stdout]    2:     0x58d7d35321dc - <alloc[2e1b2a31b91974c5]::vec::Vec<u8> as core[a373ad73a504971]::io::write::Write>::write_fmt
[INFO] [stdout]    3:     0x58d7d3509d96 - std[617be2ca0a6fd877]::panicking::default_hook::{closure#0}
[INFO] [stdout]    4:     0x58d7d3526539 - std[617be2ca0a6fd877]::panicking::default_hook
[INFO] [stdout]    5:     0x58d7d34c1af0 - test[aada8e7e76ba119b]::test_main_inner::{closure#0}
[INFO] [stdout]    6:     0x58d7d35266f2 - std[617be2ca0a6fd877]::panicking::panic_with_hook
[INFO] [stdout]    7:     0x58d7d3509e42 - std[617be2ca0a6fd877]::panicking::panic_handler::{closure#0}
[INFO] [stdout]    8:     0x58d7d3502b29 - std[617be2ca0a6fd877]::sys::backtrace::__rust_end_short_backtrace::<std[617be2ca0a6fd877]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]    9:     0x58d7d350aa4d - __rustc[ea4f61d10b84890b]::rust_begin_unwind
[INFO] [stdout]   10:     0x58d7d354311c - core[a373ad73a504971]::panicking::panic_fmt
[INFO] [stdout]   11:     0x58d7d3542ef2 - core[a373ad73a504971]::result::unwrap_failed
[INFO] [stdout]   12:     0x58d7d3451fe5 - elm_rs[4c59a4dd58a77a5c]::test::run_repl
[INFO] [stdout]   13:     0x58d7d3448200 - elm_rs[4c59a4dd58a77a5c]::test::test_json::<elm_rs[4c59a4dd58a77a5c]::test::structs_serde::Tuple>
[INFO] [stdout]   14:     0x58d7d3492c53 - <elm_rs[4c59a4dd58a77a5c]::test::structs_serde::tuple::{closure#0} as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]   15:     0x58d7d34b4f3b - test[aada8e7e76ba119b]::__rust_begin_short_backtrace::<core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String>, fn() -> core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String>>
[INFO] [stdout]   16:     0x58d7d34c2115 - test[aada8e7e76ba119b]::run_test::{closure#0}
[INFO] [stdout]   17:     0x58d7d34bba04 - std[617be2ca0a6fd877]::sys::backtrace::__rust_begin_short_backtrace::<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>
[INFO] [stdout]   18:     0x58d7d34c51a2 - <std[617be2ca0a6fd877]::thread::lifecycle::spawn_unchecked<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>::{closure#1} as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]   19:     0x58d7d352d6ff - <std[617be2ca0a6fd877]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]   20:     0x7a1f1c968dfa - <unknown>
[INFO] [stdout]   21:     0x7a1f1c9fc3d4 - clone
[INFO] [stdout]   22:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- test::structs::named stdout ----
[INFO] [stdout] 
[INFO] [stdout] import Json.Decode
[INFO] [stdout] import Json.Encode
[INFO] [stdout] import Dict exposing (Dict)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] resultDecoder : Json.Decode.Decoder e -> Json.Decode.Decoder t -> Json.Decode.Decoder (Result e t)
[INFO] [stdout] resultDecoder errDecoder okDecoder =
[INFO] [stdout]     Json.Decode.oneOf
[INFO] [stdout]         [ Json.Decode.map Ok (Json.Decode.field "Ok" okDecoder)
[INFO] [stdout]         , Json.Decode.map Err (Json.Decode.field "Err" errDecoder)
[INFO] [stdout]         ]
[INFO] [stdout] 
[INFO] [stdout] resultEncoder : (e -> Json.Encode.Value) -> (t -> Json.Encode.Value) -> (Result e t -> Json.Encode.Value)
[INFO] [stdout] resultEncoder errEncoder okEncoder enum =
[INFO] [stdout]     case enum of
[INFO] [stdout]         Ok inner ->
[INFO] [stdout]             Json.Encode.object [ ( "Ok", okEncoder inner ) ]
[INFO] [stdout]         Err inner ->
[INFO] [stdout]             Json.Encode.object [ ( "Err", errEncoder inner ) ]
[INFO] [stdout] 
[INFO] [stdout] type alias Named =
[INFO] [stdout]     { first : Int
[INFO] [stdout]     , second : String
[INFO] [stdout]     }
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] namedEncoder : Named -> Json.Encode.Value
[INFO] [stdout] namedEncoder struct =
[INFO] [stdout]     Json.Encode.object
[INFO] [stdout]         [ ( "first", (Json.Encode.int) struct.first )
[INFO] [stdout]         , ( "second", (Json.Encode.string) struct.second )
[INFO] [stdout]         ]
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] namedDecoder : Json.Decode.Decoder Named
[INFO] [stdout] namedDecoder =
[INFO] [stdout]     Json.Decode.succeed Named
[INFO] [stdout]         |> Json.Decode.andThen (\x -> Json.Decode.map x (Json.Decode.field "first" (Json.Decode.int)))
[INFO] [stdout]         |> Json.Decode.andThen (\x -> Json.Decode.map x (Json.Decode.field "second" (Json.Decode.string)))
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] decoded = Json.Decode.decodeString namedDecoder "{\"first\":123,\"second\":\"234\"}"
[INFO] [stdout] 
[INFO] [stdout] reEncoded = Result.map namedEncoder decoded
[INFO] [stdout] 
[INFO] [stdout] s = case reEncoded of
[INFO] [stdout]     Ok value ->
[INFO] [stdout]         Json.Encode.encode 0 value
[INFO] [stdout]     Err err ->
[INFO] [stdout]         Json.Decode.errorToString err
[INFO] [stdout] 
[INFO] [stdout] "START"
[INFO] [stdout] s
[INFO] [stdout] "END"
[INFO] [stdout] 
[INFO] [stdout] :exit
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] thread 'test::structs::named' (607) panicked at src/test/mod.rs:179:10:
[INFO] [stdout] called `Result::unwrap()` on an `Err` value: Os { code: 2, kind: NotFound, message: "No such file or directory" }
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x58d7d352dea1 - <<std[617be2ca0a6fd877]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[a373ad73a504971]::fmt::Display>::fmt
[INFO] [stdout]    1:     0x58d7d35429ea - core[a373ad73a504971]::fmt::write
[INFO] [stdout]    2:     0x58d7d35321dc - <alloc[2e1b2a31b91974c5]::vec::Vec<u8> as core[a373ad73a504971]::io::write::Write>::write_fmt
[INFO] [stdout]    3:     0x58d7d3509d96 - std[617be2ca0a6fd877]::panicking::default_hook::{closure#0}
[INFO] [stdout]    4:     0x58d7d3526539 - std[617be2ca0a6fd877]::panicking::default_hook
[INFO] [stdout]    5:     0x58d7d34c1af0 - test[aada8e7e76ba119b]::test_main_inner::{closure#0}
[INFO] [stdout]    6:     0x58d7d35266f2 - std[617be2ca0a6fd877]::panicking::panic_with_hook
[INFO] [stdout]    7:     0x58d7d3509e42 - std[617be2ca0a6fd877]::panicking::panic_handler::{closure#0}
[INFO] [stdout]    8:     0x58d7d3502b29 - std[617be2ca0a6fd877]::sys::backtrace::__rust_end_short_backtrace::<std[617be2ca0a6fd877]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]    9:     0x58d7d350aa4d - __rustc[ea4f61d10b84890b]::rust_begin_unwind
[INFO] [stdout]   10:     0x58d7d354311c - core[a373ad73a504971]::panicking::panic_fmt
[INFO] [stdout]   11:     0x58d7d3542ef2 - core[a373ad73a504971]::result::unwrap_failed
[INFO] [stdout]   12:     0x58d7d3451fe5 - elm_rs[4c59a4dd58a77a5c]::test::run_repl
[INFO] [stdout]   13:     0x58d7d344cbf3 - elm_rs[4c59a4dd58a77a5c]::test::test_json::<elm_rs[4c59a4dd58a77a5c]::test::structs::Named>
[INFO] [stdout]   14:     0x58d7d3492db2 - <elm_rs[4c59a4dd58a77a5c]::test::structs::named::{closure#0} as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]   15:     0x58d7d34b4f3b - test[aada8e7e76ba119b]::__rust_begin_short_backtrace::<core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String>, fn() -> core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String>>
[INFO] [stdout]   16:     0x58d7d34c2115 - test[aada8e7e76ba119b]::run_test::{closure#0}
[INFO] [stdout]   17:     0x58d7d34bba04 - std[617be2ca0a6fd877]::sys::backtrace::__rust_begin_short_backtrace::<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>
[INFO] [stdout]   18:     0x58d7d34c51a2 - <std[617be2ca0a6fd877]::thread::lifecycle::spawn_unchecked<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>::{closure#1} as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]   19:     0x58d7d352d6ff - <std[617be2ca0a6fd877]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]   20:     0x7a1f1c968dfa - <unknown>
[INFO] [stdout]   21:     0x7a1f1c9fc3d4 - clone
[INFO] [stdout]   22:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- test::enums_external::tuple stdout ----
[INFO] [stdout] 
[INFO] [stdout] import Json.Decode
[INFO] [stdout] import Json.Encode
[INFO] [stdout] import Dict exposing (Dict)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] resultDecoder : Json.Decode.Decoder e -> Json.Decode.Decoder t -> Json.Decode.Decoder (Result e t)
[INFO] [stdout] resultDecoder errDecoder okDecoder =
[INFO] [stdout]     Json.Decode.oneOf
[INFO] [stdout]         [ Json.Decode.map Ok (Json.Decode.field "Ok" okDecoder)
[INFO] [stdout]         , Json.Decode.map Err (Json.Decode.field "Err" errDecoder)
[INFO] [stdout]         ]
[INFO] [stdout] 
[INFO] [stdout] resultEncoder : (e -> Json.Encode.Value) -> (t -> Json.Encode.Value) -> (Result e t -> Json.Encode.Value)
[INFO] [stdout] resultEncoder errEncoder okEncoder enum =
[INFO] [stdout]     case enum of
[INFO] [stdout]         Ok inner ->
[INFO] [stdout]             Json.Encode.object [ ( "Ok", okEncoder inner ) ]
[INFO] [stdout]         Err inner ->
[INFO] [stdout]             Json.Encode.object [ ( "Err", errEncoder inner ) ]
[INFO] [stdout] 
[INFO] [stdout] type Enum
[INFO] [stdout]     = Unit1
[INFO] [stdout]     | Unit2
[INFO] [stdout]     | Newtype1 (Int)
[INFO] [stdout]     | Newtype2 (Int)
[INFO] [stdout]     | Tuple1 (Int) (Int)
[INFO] [stdout]     | Tuple2 (Int) (Int)
[INFO] [stdout]     | Named1 { field : Int }
[INFO] [stdout]     | Named2 { field : Int }
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] enumEncoder : Enum -> Json.Encode.Value
[INFO] [stdout] enumEncoder enum =
[INFO] [stdout]     case enum of
[INFO] [stdout]         Unit1 ->
[INFO] [stdout]             Json.Encode.string "Unit1"
[INFO] [stdout]         Unit2 ->
[INFO] [stdout]             Json.Encode.string "Unit2"
[INFO] [stdout]         Newtype1 inner ->
[INFO] [stdout]             Json.Encode.object [ ( "Newtype1", Json.Encode.int inner ) ]
[INFO] [stdout]         Newtype2 inner ->
[INFO] [stdout]             Json.Encode.object [ ( "Newtype2", Json.Encode.int inner ) ]
[INFO] [stdout]         Tuple1 t0 t1 ->
[INFO] [stdout]             Json.Encode.object [ ( "Tuple1", Json.Encode.list identity [ Json.Encode.int t0, Json.Encode.int t1 ] ) ]
[INFO] [stdout]         Tuple2 t0 t1 ->
[INFO] [stdout]             Json.Encode.object [ ( "Tuple2", Json.Encode.list identity [ Json.Encode.int t0, Json.Encode.int t1 ] ) ]
[INFO] [stdout]         Named1 { field } ->
[INFO] [stdout]             Json.Encode.object [ ( "Named1", Json.Encode.object [ ( "field", (Json.Encode.int) field ) ] ) ]
[INFO] [stdout]         Named2 { field } ->
[INFO] [stdout]             Json.Encode.object [ ( "Named2", Json.Encode.object [ ( "field", (Json.Encode.int) field ) ] ) ]
[INFO] [stdout] 
[INFO] [stdout] enumDecoder : Json.Decode.Decoder Enum
[INFO] [stdout] enumDecoder = 
[INFO] [stdout]         let
[INFO] [stdout]             elmRsConstructNamed1 field =
[INFO] [stdout]                         Named1 { field = field }
[INFO] [stdout]             elmRsConstructNamed2 field =
[INFO] [stdout]                         Named2 { field = field }
[INFO] [stdout]         in
[INFO] [stdout]     Json.Decode.oneOf
[INFO] [stdout]         [ Json.Decode.string
[INFO] [stdout]             |> Json.Decode.andThen
[INFO] [stdout]                 (\x ->
[INFO] [stdout]                     case x of
[INFO] [stdout]                         "Unit1" ->
[INFO] [stdout]                             Json.Decode.succeed Unit1
[INFO] [stdout]                         unexpected ->
[INFO] [stdout]                             Json.Decode.fail <| "Unexpected variant " ++ unexpected
[INFO] [stdout]                 )
[INFO] [stdout]         , Json.Decode.string
[INFO] [stdout]             |> Json.Decode.andThen
[INFO] [stdout]                 (\x ->
[INFO] [stdout]                     case x of
[INFO] [stdout]                         "Unit2" ->
[INFO] [stdout]                             Json.Decode.succeed Unit2
[INFO] [stdout]                         unexpected ->
[INFO] [stdout]                             Json.Decode.fail <| "Unexpected variant " ++ unexpected
[INFO] [stdout]                 )
[INFO] [stdout]         , Json.Decode.map Newtype1 (Json.Decode.field "Newtype1" (Json.Decode.int))
[INFO] [stdout]         , Json.Decode.map Newtype2 (Json.Decode.field "Newtype2" (Json.Decode.int))
[INFO] [stdout]         , Json.Decode.field "Tuple1" (Json.Decode.succeed Tuple1 |> Json.Decode.andThen (\x -> Json.Decode.index 0 (Json.Decode.int) |> Json.Decode.map x) |> Json.Decode.andThen (\x -> Json.Decode.index 1 (Json.Decode.int) |> Json.Decode.map x))
[INFO] [stdout]         , Json.Decode.field "Tuple2" (Json.Decode.succeed Tuple2 |> Json.Decode.andThen (\x -> Json.Decode.index 0 (Json.Decode.int) |> Json.Decode.map x) |> Json.Decode.andThen (\x -> Json.Decode.index 1 (Json.Decode.int) |> Json.Decode.map x))
[INFO] [stdout]         , Json.Decode.field "Named1" (Json.Decode.succeed elmRsConstructNamed1 |> Json.Decode.andThen (\x -> Json.Decode.map x (Json.Decode.field "field" (Json.Decode.int))))
[INFO] [stdout]         , Json.Decode.field "Named2" (Json.Decode.succeed elmRsConstructNamed2 |> Json.Decode.andThen (\x -> Json.Decode.map x (Json.Decode.field "field" (Json.Decode.int))))
[INFO] [stdout]         ]
[INFO] [stdout] 
[INFO] [stdout] decoded = Json.Decode.decodeString enumDecoder "{\"Tuple1\":[123,234]}"
[INFO] [stdout] 
[INFO] [stdout] reEncoded = Result.map enumEncoder decoded
[INFO] [stdout] 
[INFO] [stdout] s = case reEncoded of
[INFO] [stdout]     Ok value ->
[INFO] [stdout]         Json.Encode.encode 0 value
[INFO] [stdout]     Err err ->
[INFO] [stdout]         Json.Decode.errorToString err
[INFO] [stdout] 
[INFO] [stdout] "START"
[INFO] [stdout] s
[INFO] [stdout] "END"
[INFO] [stdout] 
[INFO] [stdout] :exit
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] thread 'test::enums_external::tuple' (566) panicked at src/test/mod.rs:179:10:
[INFO] [stdout] called `Result::unwrap()` on an `Err` value: Os { code: 2, kind: NotFound, message: "No such file or directory" }
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x58d7d352dea1 - <<std[617be2ca0a6fd877]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[a373ad73a504971]::fmt::Display>::fmt
[INFO] [stdout]    1:     0x58d7d35429ea - core[a373ad73a504971]::fmt::write
[INFO] [stdout]    2:     0x58d7d35321dc - <alloc[2e1b2a31b91974c5]::vec::Vec<u8> as core[a373ad73a504971]::io::write::Write>::write_fmt
[INFO] [stdout]    3:     0x58d7d3509d96 - std[617be2ca0a6fd877]::panicking::default_hook::{closure#0}
[INFO] [stdout]    4:     0x58d7d3526539 - std[617be2ca0a6fd877]::panicking::default_hook
[INFO] [stdout]    5:     0x58d7d34c1af0 - test[aada8e7e76ba119b]::test_main_inner::{closure#0}
[INFO] [stdout]    6:     0x58d7d35266f2 - std[617be2ca0a6fd877]::panicking::panic_with_hook
[INFO] [stdout]    7:     0x58d7d3509e42 - std[617be2ca0a6fd877]::panicking::panic_handler::{closure#0}
[INFO] [stdout]    8:     0x58d7d3502b29 - std[617be2ca0a6fd877]::sys::backtrace::__rust_end_short_backtrace::<std[617be2ca0a6fd877]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]    9:     0x58d7d350aa4d - __rustc[ea4f61d10b84890b]::rust_begin_unwind
[INFO] [stdout]   10:     0x58d7d354311c - core[a373ad73a504971]::panicking::panic_fmt
[INFO] [stdout]   11:     0x58d7d3542ef2 - core[a373ad73a504971]::result::unwrap_failed
[INFO] [stdout]   12:     0x58d7d3451fe5 - elm_rs[4c59a4dd58a77a5c]::test::run_repl
[INFO] [stdout]   13:     0x58d7d3449cca - elm_rs[4c59a4dd58a77a5c]::test::test_json::<elm_rs[4c59a4dd58a77a5c]::test::enums_external::Enum>
[INFO] [stdout]   14:     0x58d7d348de29 - <elm_rs[4c59a4dd58a77a5c]::test::enums_external::tuple::{closure#0} as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]   15:     0x58d7d34b4f3b - test[aada8e7e76ba119b]::__rust_begin_short_backtrace::<core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String>, fn() -> core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String>>
[INFO] [stdout]   16:     0x58d7d34c2115 - test[aada8e7e76ba119b]::run_test::{closure#0}
[INFO] [stdout]   17:     0x58d7d34bba04 - std[617be2ca0a6fd877]::sys::backtrace::__rust_begin_short_backtrace::<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>
[INFO] [stdout]   18:     0x58d7d34c51a2 - <std[617be2ca0a6fd877]::thread::lifecycle::spawn_unchecked<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>::{closure#1} as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]   19:     0x58d7d352d6ff - <std[617be2ca0a6fd877]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]   20:     0x7a1f1c968dfa - <unknown>
[INFO] [stdout]   21:     0x7a1f1c9fc3d4 - clone
[INFO] [stdout]   22:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- test::structs::tuple stdout ----
[INFO] [stdout] 
[INFO] [stdout] import Json.Decode
[INFO] [stdout] import Json.Encode
[INFO] [stdout] import Dict exposing (Dict)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] resultDecoder : Json.Decode.Decoder e -> Json.Decode.Decoder t -> Json.Decode.Decoder (Result e t)
[INFO] [stdout] resultDecoder errDecoder okDecoder =
[INFO] [stdout]     Json.Decode.oneOf
[INFO] [stdout]         [ Json.Decode.map Ok (Json.Decode.field "Ok" okDecoder)
[INFO] [stdout]         , Json.Decode.map Err (Json.Decode.field "Err" errDecoder)
[INFO] [stdout]         ]
[INFO] [stdout] 
[INFO] [stdout] resultEncoder : (e -> Json.Encode.Value) -> (t -> Json.Encode.Value) -> (Result e t -> Json.Encode.Value)
[INFO] [stdout] resultEncoder errEncoder okEncoder enum =
[INFO] [stdout]     case enum of
[INFO] [stdout]         Ok inner ->
[INFO] [stdout]             Json.Encode.object [ ( "Ok", okEncoder inner ) ]
[INFO] [stdout]         Err inner ->
[INFO] [stdout]             Json.Encode.object [ ( "Err", errEncoder inner ) ]
[INFO] [stdout] 
[INFO] [stdout] type Tuple
[INFO] [stdout]     = Tuple (Int) (Int)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] tupleEncoder : Tuple -> Json.Encode.Value
[INFO] [stdout] tupleEncoder (Tuple t0 t1) =
[INFO] [stdout]     Json.Encode.list identity
[INFO] [stdout]         [ (Json.Encode.int) t0
[INFO] [stdout]         , (Json.Encode.int) t1
[INFO] [stdout]         ]
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] tupleDecoder : Json.Decode.Decoder Tuple
[INFO] [stdout] tupleDecoder =
[INFO] [stdout]     Json.Decode.succeed Tuple
[INFO] [stdout]         |> Json.Decode.andThen (\x -> Json.Decode.index 0 (Json.Decode.int) |> Json.Decode.map x)
[INFO] [stdout]         |> Json.Decode.andThen (\x -> Json.Decode.index 1 (Json.Decode.int) |> Json.Decode.map x)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] decoded = Json.Decode.decodeString tupleDecoder "[123,234]"
[INFO] [stdout] 
[INFO] [stdout] reEncoded = Result.map tupleEncoder decoded
[INFO] [stdout] 
[INFO] [stdout] s = case reEncoded of
[INFO] [stdout]     Ok value ->
[INFO] [stdout]         Json.Encode.encode 0 value
[INFO] [stdout]     Err err ->
[INFO] [stdout]         Json.Decode.errorToString err
[INFO] [stdout] 
[INFO] [stdout] "START"
[INFO] [stdout] s
[INFO] [stdout] "END"
[INFO] [stdout] 
[INFO] [stdout] :exit
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] thread 'test::structs::tuple' (613) panicked at src/test/mod.rs:179:10:
[INFO] [stdout] called `Result::unwrap()` on an `Err` value: Os { code: 2, kind: NotFound, message: "No such file or directory" }
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x58d7d352dea1 - <<std[617be2ca0a6fd877]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[a373ad73a504971]::fmt::Display>::fmt
[INFO] [stdout]    1:     0x58d7d35429ea - core[a373ad73a504971]::fmt::write
[INFO] [stdout]    2:     0x58d7d35321dc - <alloc[2e1b2a31b91974c5]::vec::Vec<u8> as core[a373ad73a504971]::io::write::Write>::write_fmt
[INFO] [stdout]    3:     0x58d7d3509d96 - std[617be2ca0a6fd877]::panicking::default_hook::{closure#0}
[INFO] [stdout]    4:     0x58d7d3526539 - std[617be2ca0a6fd877]::panicking::default_hook
[INFO] [stdout]    5:     0x58d7d34c1af0 - test[aada8e7e76ba119b]::test_main_inner::{closure#0}
[INFO] [stdout]    6:     0x58d7d35266f2 - std[617be2ca0a6fd877]::panicking::panic_with_hook
[INFO] [stdout]    7:     0x58d7d3509e42 - std[617be2ca0a6fd877]::panicking::panic_handler::{closure#0}
[INFO] [stdout]    8:     0x58d7d3502b29 - std[617be2ca0a6fd877]::sys::backtrace::__rust_end_short_backtrace::<std[617be2ca0a6fd877]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]    9:     0x58d7d350aa4d - __rustc[ea4f61d10b84890b]::rust_begin_unwind
[INFO] [stdout]   10:     0x58d7d354311c - core[a373ad73a504971]::panicking::panic_fmt
[INFO] [stdout]   11:     0x58d7d3542ef2 - core[a373ad73a504971]::result::unwrap_failed
[INFO] [stdout]   12:     0x58d7d3451fe5 - elm_rs[4c59a4dd58a77a5c]::test::run_repl
[INFO] [stdout]   13:     0x58d7d344d590 - elm_rs[4c59a4dd58a77a5c]::test::test_json::<elm_rs[4c59a4dd58a77a5c]::test::structs::Tuple>
[INFO] [stdout]   14:     0x58d7d3492df3 - <elm_rs[4c59a4dd58a77a5c]::test::structs::tuple::{closure#0} as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]   15:     0x58d7d34b4f3b - test[aada8e7e76ba119b]::__rust_begin_short_backtrace::<core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String>, fn() -> core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String>>
[INFO] [stdout]   16:     0x58d7d34c2115 - test[aada8e7e76ba119b]::run_test::{closure#0}
[INFO] [stdout]   17:     0x58d7d34bba04 - std[617be2ca0a6fd877]::sys::backtrace::__rust_begin_short_backtrace::<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>
[INFO] [stdout]   18:     0x58d7d34c51a2 - <std[617be2ca0a6fd877]::thread::lifecycle::spawn_unchecked<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>::{closure#1} as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]   19:     0x58d7d352d6ff - <std[617be2ca0a6fd877]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]   20:     0x7a1f1c968dfa - <unknown>
[INFO] [stdout]   21:     0x7a1f1c9fc3d4 - clone
[INFO] [stdout]   22:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- test::structs_serde::unit stdout ----
[INFO] [stdout] 
[INFO] [stdout] import Json.Decode
[INFO] [stdout] import Json.Encode
[INFO] [stdout] import Dict exposing (Dict)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] resultDecoder : Json.Decode.Decoder e -> Json.Decode.Decoder t -> Json.Decode.Decoder (Result e t)
[INFO] [stdout] resultDecoder errDecoder okDecoder =
[INFO] [stdout]     Json.Decode.oneOf
[INFO] [stdout]         [ Json.Decode.map Ok (Json.Decode.field "Ok" okDecoder)
[INFO] [stdout]         , Json.Decode.map Err (Json.Decode.field "Err" errDecoder)
[INFO] [stdout]         ]
[INFO] [stdout] 
[INFO] [stdout] resultEncoder : (e -> Json.Encode.Value) -> (t -> Json.Encode.Value) -> (Result e t -> Json.Encode.Value)
[INFO] [stdout] resultEncoder errEncoder okEncoder enum =
[INFO] [stdout]     case enum of
[INFO] [stdout]         Ok inner ->
[INFO] [stdout]             Json.Encode.object [ ( "Ok", okEncoder inner ) ]
[INFO] [stdout]         Err inner ->
[INFO] [stdout]             Json.Encode.object [ ( "Err", errEncoder inner ) ]
[INFO] [stdout] 
[INFO] [stdout] type Unit
[INFO] [stdout]     = Unit
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] unitEncoder : Unit -> Json.Encode.Value
[INFO] [stdout] unitEncoder _ =
[INFO] [stdout]     Json.Encode.null
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] unitDecoder : Json.Decode.Decoder Unit
[INFO] [stdout] unitDecoder =
[INFO] [stdout]     Json.Decode.null Unit
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] decoded = Json.Decode.decodeString unitDecoder "null"
[INFO] [stdout] 
[INFO] [stdout] reEncoded = Result.map unitEncoder decoded
[INFO] [stdout] 
[INFO] [stdout] s = case reEncoded of
[INFO] [stdout]     Ok value ->
[INFO] [stdout]         Json.Encode.encode 0 value
[INFO] [stdout]     Err err ->
[INFO] [stdout]         Json.Decode.errorToString err
[INFO] [stdout] 
[INFO] [stdout] "START"
[INFO] [stdout] s
[INFO] [stdout] "END"
[INFO] [stdout] 
[INFO] [stdout] :exit
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] thread 'test::structs_serde::unit' (618) panicked at src/test/mod.rs:179:10:
[INFO] [stdout] called `Result::unwrap()` on an `Err` value: Os { code: 2, kind: NotFound, message: "No such file or directory" }
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x58d7d352dea1 - <<std[617be2ca0a6fd877]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[a373ad73a504971]::fmt::Display>::fmt
[INFO] [stdout]    1:     0x58d7d35429ea - core[a373ad73a504971]::fmt::write
[INFO] [stdout]    2:     0x58d7d35321dc - <alloc[2e1b2a31b91974c5]::vec::Vec<u8> as core[a373ad73a504971]::io::write::Write>::write_fmt
[INFO] [stdout]    3:     0x58d7d3509d96 - std[617be2ca0a6fd877]::panicking::default_hook::{closure#0}
[INFO] [stdout]    4:     0x58d7d3526539 - std[617be2ca0a6fd877]::panicking::default_hook
[INFO] [stdout]    5:     0x58d7d34c1af0 - test[aada8e7e76ba119b]::test_main_inner::{closure#0}
[INFO] [stdout]    6:     0x58d7d35266f2 - std[617be2ca0a6fd877]::panicking::panic_with_hook
[INFO] [stdout]    7:     0x58d7d3509e42 - std[617be2ca0a6fd877]::panicking::panic_handler::{closure#0}
[INFO] [stdout]    8:     0x58d7d3502b29 - std[617be2ca0a6fd877]::sys::backtrace::__rust_end_short_backtrace::<std[617be2ca0a6fd877]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]    9:     0x58d7d350aa4d - __rustc[ea4f61d10b84890b]::rust_begin_unwind
[INFO] [stdout]   10:     0x58d7d354311c - core[a373ad73a504971]::panicking::panic_fmt
[INFO] [stdout]   11:     0x58d7d3542ef2 - core[a373ad73a504971]::result::unwrap_failed
[INFO] [stdout]   12:     0x58d7d3451fe5 - elm_rs[4c59a4dd58a77a5c]::test::run_repl
[INFO] [stdout]   13:     0x58d7d34470ff - elm_rs[4c59a4dd58a77a5c]::test::test_json::<elm_rs[4c59a4dd58a77a5c]::test::structs_serde::Unit>
[INFO] [stdout]   14:     0x58d7d3492c09 - <elm_rs[4c59a4dd58a77a5c]::test::structs_serde::unit::{closure#0} as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]   15:     0x58d7d34b4f3b - test[aada8e7e76ba119b]::__rust_begin_short_backtrace::<core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String>, fn() -> core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String>>
[INFO] [stdout]   16:     0x58d7d34c2115 - test[aada8e7e76ba119b]::run_test::{closure#0}
[INFO] [stdout]   17:     0x58d7d34bba04 - std[617be2ca0a6fd877]::sys::backtrace::__rust_begin_short_backtrace::<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>
[INFO] [stdout]   18:     0x58d7d34c51a2 - <std[617be2ca0a6fd877]::thread::lifecycle::spawn_unchecked<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>::{closure#1} as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]   19:     0x58d7d352d6ff - <std[617be2ca0a6fd877]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]   20:     0x7a1f1c968dfa - <unknown>
[INFO] [stdout]   21:     0x7a1f1c9fc3d4 - clone
[INFO] [stdout]   22:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- test::types::types stdout ----
[INFO] [stdout] 
[INFO] [stdout] import Json.Decode
[INFO] [stdout] import Json.Encode
[INFO] [stdout] import Dict exposing (Dict)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] type alias Duration =
[INFO] [stdout]     { secs : Int
[INFO] [stdout]     , nanos : Int
[INFO] [stdout]     }
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] durationEncoder : Duration -> Json.Encode.Value
[INFO] [stdout] durationEncoder duration =
[INFO] [stdout]     Json.Encode.object
[INFO] [stdout]     [ ( "secs", Json.Encode.int duration.secs )
[INFO] [stdout]     , ( "nanos", Json.Encode.int duration.nanos )
[INFO] [stdout]     ]
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] durationDecoder : Json.Decode.Decoder Duration
[INFO] [stdout] durationDecoder =
[INFO] [stdout]     Json.Decode.succeed Duration
[INFO] [stdout]     |> Json.Decode.andThen (\x -> Json.Decode.map x (Json.Decode.field "secs" (Json.Decode.int)))
[INFO] [stdout]     |> Json.Decode.andThen (\x -> Json.Decode.map x (Json.Decode.field "nanos" (Json.Decode.int)))
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] type alias SystemTime =
[INFO] [stdout]     { secs_since_epoch : Int
[INFO] [stdout]     , nanos_since_epoch : Int
[INFO] [stdout]     }
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] systemTimeEncoder : SystemTime -> Json.Encode.Value
[INFO] [stdout] systemTimeEncoder duration =
[INFO] [stdout]     Json.Encode.object
[INFO] [stdout]     [ ( "secs_since_epoch", Json.Encode.int duration.secs_since_epoch )
[INFO] [stdout]     , ( "nanos_since_epoch", Json.Encode.int duration.nanos_since_epoch )
[INFO] [stdout]     ]
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] systemTimeDecoder : Json.Decode.Decoder SystemTime
[INFO] [stdout] systemTimeDecoder =
[INFO] [stdout]     Json.Decode.succeed SystemTime
[INFO] [stdout]     |> Json.Decode.andThen (\x -> Json.Decode.map x (Json.Decode.field "secs_since_epoch" (Json.Decode.int)))
[INFO] [stdout]     |> Json.Decode.andThen (\x -> Json.Decode.map x (Json.Decode.field "nanos_since_epoch" (Json.Decode.int)))
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] resultEncoder : (e -> Json.Encode.Value) -> (t -> Json.Encode.Value) -> (Result e t -> Json.Encode.Value)
[INFO] [stdout] resultEncoder errEncoder okEncoder enum =
[INFO] [stdout]     case enum of
[INFO] [stdout]         Ok inner ->
[INFO] [stdout]             Json.Encode.object [ ( "Ok", okEncoder inner ) ]
[INFO] [stdout]         Err inner ->
[INFO] [stdout]             Json.Encode.object [ ( "Err", errEncoder inner ) ]
[INFO] [stdout] 
[INFO] [stdout] resultDecoder : Json.Decode.Decoder e -> Json.Decode.Decoder t -> Json.Decode.Decoder (Result e t)
[INFO] [stdout] resultDecoder errDecoder okDecoder =
[INFO] [stdout]     Json.Decode.oneOf
[INFO] [stdout]         [ Json.Decode.map Ok (Json.Decode.field "Ok" okDecoder)
[INFO] [stdout]         , Json.Decode.map Err (Json.Decode.field "Err" errDecoder)
[INFO] [stdout]         ]
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] resultDecoder : Json.Decode.Decoder e -> Json.Decode.Decoder t -> Json.Decode.Decoder (Result e t)
[INFO] [stdout] resultDecoder errDecoder okDecoder =
[INFO] [stdout]     Json.Decode.oneOf
[INFO] [stdout]         [ Json.Decode.map Ok (Json.Decode.field "Ok" okDecoder)
[INFO] [stdout]         , Json.Decode.map Err (Json.Decode.field "Err" errDecoder)
[INFO] [stdout]         ]
[INFO] [stdout] 
[INFO] [stdout] resultEncoder : (e -> Json.Encode.Value) -> (t -> Json.Encode.Value) -> (Result e t -> Json.Encode.Value)
[INFO] [stdout] resultEncoder errEncoder okEncoder enum =
[INFO] [stdout]     case enum of
[INFO] [stdout]         Ok inner ->
[INFO] [stdout]             Json.Encode.object [ ( "Ok", okEncoder inner ) ]
[INFO] [stdout]         Err inner ->
[INFO] [stdout]             Json.Encode.object [ ( "Err", errEncoder inner ) ]
[INFO] [stdout] 
[INFO] [stdout] type alias Types =
[INFO] [stdout]     { t : Int
[INFO] [stdout]     , unit : ()
[INFO] [stdout]     , one : Int
[INFO] [stdout]     , two : ( Int, Int )
[INFO] [stdout]     , three : ( Int, Int, Int )
[INFO] [stdout]     , arc : Int
[INFO] [stdout]     , abool : Bool
[INFO] [stdout]     , ai8 : Int
[INFO] [stdout]     , ai16 : Int
[INFO] [stdout]     , ai32 : Int
[INFO] [stdout]     , ai64 : Int
[INFO] [stdout]     , aisize : Int
[INFO] [stdout]     , au8 : Int
[INFO] [stdout]     , au16 : Int
[INFO] [stdout]     , au32 : Int
[INFO] [stdout]     , au64 : Int
[INFO] [stdout]     , ausize : Int
[INFO] [stdout]     , btreemap : Dict String (Int)
[INFO] [stdout]     , btreeset : List (Int)
[INFO] [stdout]     , b : Int
[INFO] [stdout]     , cell : Int
[INFO] [stdout]     , cow : Int
[INFO] [stdout]     , duration : Duration
[INFO] [stdout]     , hashmap : Dict String (Int)
[INFO] [stdout]     , hashset : List (Int)
[INFO] [stdout]     , linkedlist : List (Int)
[INFO] [stdout]     , mutex : Int
[INFO] [stdout]     , nu8 : Int
[INFO] [stdout]     , nu16 : Int
[INFO] [stdout]     , nu32 : Int
[INFO] [stdout]     , nu64 : Int
[INFO] [stdout]     , nusize : Int
[INFO] [stdout]     , ni8 : Int
[INFO] [stdout]     , ni16 : Int
[INFO] [stdout]     , ni32 : Int
[INFO] [stdout]     , ni64 : Int
[INFO] [stdout]     , nisize : Int
[INFO] [stdout]     , optionSome : Maybe (Int)
[INFO] [stdout]     , optionNone : Maybe (Int)
[INFO] [stdout]     , pathbuf : String
[INFO] [stdout]     , rc : Int
[INFO] [stdout]     , refcell : Int
[INFO] [stdout]     , result : Result (Int) (Int)
[INFO] [stdout]     , rwlock : Int
[INFO] [stdout]     , string : String
[INFO] [stdout]     , systemtime : SystemTime
[INFO] [stdout]     , vec : List (Int)
[INFO] [stdout]     , array : List (Int)
[INFO] [stdout]     , bool : Bool
[INFO] [stdout]     , f32 : Float
[INFO] [stdout]     , f64 : Float
[INFO] [stdout]     , u8 : Int
[INFO] [stdout]     , u16 : Int
[INFO] [stdout]     , u32 : Int
[INFO] [stdout]     , u64 : Int
[INFO] [stdout]     , usize : Int
[INFO] [stdout]     , i8 : Int
[INFO] [stdout]     , i16 : Int
[INFO] [stdout]     , i32 : Int
[INFO] [stdout]     , i64 : Int
[INFO] [stdout]     , isize : Int
[INFO] [stdout]     }
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] typesEncoder : Types -> Json.Encode.Value
[INFO] [stdout] typesEncoder struct =
[INFO] [stdout]     Json.Encode.object
[INFO] [stdout]         [ ( "t", (Json.Encode.int) struct.t )
[INFO] [stdout]         , ( "unit", ((\_ -> Json.Encode.null)) struct.unit )
[INFO] [stdout]         , ( "one", (\( a ) -> Json.Encode.list identity [ Json.Encode.int a ]) struct.one )
[INFO] [stdout]         , ( "two", (\( a, b) -> Json.Encode.list identity [ Json.Encode.int a, Json.Encode.int b ]) struct.two )
[INFO] [stdout]         , ( "three", (\( a, b, c ) -> Json.Encode.list identity [ Json.Encode.int a, Json.Encode.int b, Json.Encode.int c ]) struct.three )
[INFO] [stdout]         , ( "arc", (Json.Encode.int) struct.arc )
[INFO] [stdout]         , ( "abool", (Json.Encode.bool) struct.abool )
[INFO] [stdout]         , ( "ai8", (Json.Encode.int) struct.ai8 )
[INFO] [stdout]         , ( "ai16", (Json.Encode.int) struct.ai16 )
[INFO] [stdout]         , ( "ai32", (Json.Encode.int) struct.ai32 )
[INFO] [stdout]         , ( "ai64", (Json.Encode.int) struct.ai64 )
[INFO] [stdout]         , ( "aisize", (Json.Encode.int) struct.aisize )
[INFO] [stdout]         , ( "au8", (Json.Encode.int) struct.au8 )
[INFO] [stdout]         , ( "au16", (Json.Encode.int) struct.au16 )
[INFO] [stdout]         , ( "au32", (Json.Encode.int) struct.au32 )
[INFO] [stdout]         , ( "au64", (Json.Encode.int) struct.au64 )
[INFO] [stdout]         , ( "ausize", (Json.Encode.int) struct.ausize )
[INFO] [stdout]         , ( "btreemap", (Json.Encode.dict identity (Json.Encode.int)) struct.btreemap )
[INFO] [stdout]         , ( "btreeset", (Json.Encode.list (Json.Encode.int)) struct.btreeset )
[INFO] [stdout]         , ( "b", (Json.Encode.int) struct.b )
[INFO] [stdout]         , ( "cell", (Json.Encode.int) struct.cell )
[INFO] [stdout]         , ( "cow", (Json.Encode.int) struct.cow )
[INFO] [stdout]         , ( "duration", (durationEncoder) struct.duration )
[INFO] [stdout]         , ( "hashmap", (Json.Encode.dict identity (Json.Encode.int)) struct.hashmap )
[INFO] [stdout]         , ( "hashset", (Json.Encode.list (Json.Encode.int)) struct.hashset )
[INFO] [stdout]         , ( "linkedlist", (Json.Encode.list (Json.Encode.int)) struct.linkedlist )
[INFO] [stdout]         , ( "mutex", (Json.Encode.int) struct.mutex )
[INFO] [stdout]         , ( "nu8", (Json.Encode.int) struct.nu8 )
[INFO] [stdout]         , ( "nu16", (Json.Encode.int) struct.nu16 )
[INFO] [stdout]         , ( "nu32", (Json.Encode.int) struct.nu32 )
[INFO] [stdout]         , ( "nu64", (Json.Encode.int) struct.nu64 )
[INFO] [stdout]         , ( "nusize", (Json.Encode.int) struct.nusize )
[INFO] [stdout]         , ( "ni8", (Json.Encode.int) struct.ni8 )
[INFO] [stdout]         , ( "ni16", (Json.Encode.int) struct.ni16 )
[INFO] [stdout]         , ( "ni32", (Json.Encode.int) struct.ni32 )
[INFO] [stdout]         , ( "ni64", (Json.Encode.int) struct.ni64 )
[INFO] [stdout]         , ( "nisize", (Json.Encode.int) struct.nisize )
[INFO] [stdout]         , ( "option_some", (Maybe.withDefault Json.Encode.null << Maybe.map (Json.Encode.int)) struct.optionSome )
[INFO] [stdout]         , ( "option_none", (Maybe.withDefault Json.Encode.null << Maybe.map (Json.Encode.int)) struct.optionNone )
[INFO] [stdout]         , ( "pathbuf", (Json.Encode.string) struct.pathbuf )
[INFO] [stdout]         , ( "rc", (Json.Encode.int) struct.rc )
[INFO] [stdout]         , ( "refcell", (Json.Encode.int) struct.refcell )
[INFO] [stdout]         , ( "result", (resultEncoder (Json.Encode.int) (Json.Encode.int)) struct.result )
[INFO] [stdout]         , ( "rwlock", (Json.Encode.int) struct.rwlock )
[INFO] [stdout]         , ( "string", (Json.Encode.string) struct.string )
[INFO] [stdout]         , ( "systemtime", (systemTimeEncoder) struct.systemtime )
[INFO] [stdout]         , ( "vec", (Json.Encode.list (Json.Encode.int)) struct.vec )
[INFO] [stdout]         , ( "array", (Json.Encode.list (Json.Encode.int)) struct.array )
[INFO] [stdout]         , ( "bool", (Json.Encode.bool) struct.bool )
[INFO] [stdout]         , ( "f32", (Json.Encode.float) struct.f32 )
[INFO] [stdout]         , ( "f64", (Json.Encode.float) struct.f64 )
[INFO] [stdout]         , ( "u8", (Json.Encode.int) struct.u8 )
[INFO] [stdout]         , ( "u16", (Json.Encode.int) struct.u16 )
[INFO] [stdout]         , ( "u32", (Json.Encode.int) struct.u32 )
[INFO] [stdout]         , ( "u64", (Json.Encode.int) struct.u64 )
[INFO] [stdout]         , ( "usize", (Json.Encode.int) struct.usize )
[INFO] [stdout]         , ( "i8", (Json.Encode.int) struct.i8 )
[INFO] [stdout]         , ( "i16", (Json.Encode.int) struct.i16 )
[INFO] [stdout]         , ( "i32", (Json.Encode.int) struct.i32 )
[INFO] [stdout]         , ( "i64", (Json.Encode.int) struct.i64 )
[INFO] [stdout]         , ( "isize", (Json.Encode.int) struct.isize )
[INFO] [stdout]         ]
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] typesDecoder : Json.Decode.Decoder Types
[INFO] [stdout] typesDecoder =
[INFO] [stdout]     Json.Decode.succeed Types
[INFO] [stdout]         |> Json.Decode.andThen (\x -> Json.Decode.map x (Json.Decode.field "t" (Json.Decode.int)))
[INFO] [stdout]         |> Json.Decode.andThen (\x -> Json.Decode.map x (Json.Decode.field "unit" (Json.Decode.null ())))
[INFO] [stdout]         |> Json.Decode.andThen (\x -> Json.Decode.map x (Json.Decode.field "one" ((Json.Decode.index 0 (Json.Decode.int)))))
[INFO] [stdout]         |> Json.Decode.andThen (\x -> Json.Decode.map x (Json.Decode.field "two" (Json.Decode.map2 (\a b -> ( a, b )) (Json.Decode.index 0 (Json.Decode.int)) (Json.Decode.index 1 (Json.Decode.int)))))
[INFO] [stdout]         |> Json.Decode.andThen (\x -> Json.Decode.map x (Json.Decode.field "three" (Json.Decode.map3 (\a b c -> ( a, b, c )) (Json.Decode.index 0 (Json.Decode.int)) (Json.Decode.index 1 (Json.Decode.int)) (Json.Decode.index 2 (Json.Decode.int)))))
[INFO] [stdout]         |> Json.Decode.andThen (\x -> Json.Decode.map x (Json.Decode.field "arc" (Json.Decode.int)))
[INFO] [stdout]         |> Json.Decode.andThen (\x -> Json.Decode.map x (Json.Decode.field "abool" (Json.Decode.bool)))
[INFO] [stdout]         |> Json.Decode.andThen (\x -> Json.Decode.map x (Json.Decode.field "ai8" (Json.Decode.int)))
[INFO] [stdout]         |> Json.Decode.andThen (\x -> Json.Decode.map x (Json.Decode.field "ai16" (Json.Decode.int)))
[INFO] [stdout]         |> Json.Decode.andThen (\x -> Json.Decode.map x (Json.Decode.field "ai32" (Json.Decode.int)))
[INFO] [stdout]         |> Json.Decode.andThen (\x -> Json.Decode.map x (Json.Decode.field "ai64" (Json.Decode.int)))
[INFO] [stdout]         |> Json.Decode.andThen (\x -> Json.Decode.map x (Json.Decode.field "aisize" (Json.Decode.int)))
[INFO] [stdout]         |> Json.Decode.andThen (\x -> Json.Decode.map x (Json.Decode.field "au8" (Json.Decode.int)))
[INFO] [stdout]         |> Json.Decode.andThen (\x -> Json.Decode.map x (Json.Decode.field "au16" (Json.Decode.int)))
[INFO] [stdout]         |> Json.Decode.andThen (\x -> Json.Decode.map x (Json.Decode.field "au32" (Json.Decode.int)))
[INFO] [stdout]         |> Json.Decode.andThen (\x -> Json.Decode.map x (Json.Decode.field "au64" (Json.Decode.int)))
[INFO] [stdout]         |> Json.Decode.andThen (\x -> Json.Decode.map x (Json.Decode.field "ausize" (Json.Decode.int)))
[INFO] [stdout]         |> Json.Decode.andThen (\x -> Json.Decode.map x (Json.Decode.field "btreemap" (Json.Decode.dict (Json.Decode.int))))
[INFO] [stdout]         |> Json.Decode.andThen (\x -> Json.Decode.map x (Json.Decode.field "btreeset" (Json.Decode.list (Json.Decode.int))))
[INFO] [stdout]         |> Json.Decode.andThen (\x -> Json.Decode.map x (Json.Decode.field "b" (Json.Decode.int)))
[INFO] [stdout]         |> Json.Decode.andThen (\x -> Json.Decode.map x (Json.Decode.field "cell" (Json.Decode.int)))
[INFO] [stdout]         |> Json.Decode.andThen (\x -> Json.Decode.map x (Json.Decode.field "cow" (Json.Decode.int)))
[INFO] [stdout]         |> Json.Decode.andThen (\x -> Json.Decode.map x (Json.Decode.field "duration" (durationDecoder)))
[INFO] [stdout]         |> Json.Decode.andThen (\x -> Json.Decode.map x (Json.Decode.field "hashmap" (Json.Decode.dict (Json.Decode.int))))
[INFO] [stdout]         |> Json.Decode.andThen (\x -> Json.Decode.map x (Json.Decode.field "hashset" (Json.Decode.list (Json.Decode.int))))
[INFO] [stdout]         |> Json.Decode.andThen (\x -> Json.Decode.map x (Json.Decode.field "linkedlist" (Json.Decode.list (Json.Decode.int))))
[INFO] [stdout]         |> Json.Decode.andThen (\x -> Json.Decode.map x (Json.Decode.field "mutex" (Json.Decode.int)))
[INFO] [stdout]         |> Json.Decode.andThen (\x -> Json.Decode.map x (Json.Decode.field "nu8" (Json.Decode.int)))
[INFO] [stdout]         |> Json.Decode.andThen (\x -> Json.Decode.map x (Json.Decode.field "nu16" (Json.Decode.int)))
[INFO] [stdout]         |> Json.Decode.andThen (\x -> Json.Decode.map x (Json.Decode.field "nu32" (Json.Decode.int)))
[INFO] [stdout]         |> Json.Decode.andThen (\x -> Json.Decode.map x (Json.Decode.field "nu64" (Json.Decode.int)))
[INFO] [stdout]         |> Json.Decode.andThen (\x -> Json.Decode.map x (Json.Decode.field "nusize" (Json.Decode.int)))
[INFO] [stdout]         |> Json.Decode.andThen (\x -> Json.Decode.map x (Json.Decode.field "ni8" (Json.Decode.int)))
[INFO] [stdout]         |> Json.Decode.andThen (\x -> Json.Decode.map x (Json.Decode.field "ni16" (Json.Decode.int)))
[INFO] [stdout]         |> Json.Decode.andThen (\x -> Json.Decode.map x (Json.Decode.field "ni32" (Json.Decode.int)))
[INFO] [stdout]         |> Json.Decode.andThen (\x -> Json.Decode.map x (Json.Decode.field "ni64" (Json.Decode.int)))
[INFO] [stdout]         |> Json.Decode.andThen (\x -> Json.Decode.map x (Json.Decode.field "nisize" (Json.Decode.int)))
[INFO] [stdout]         |> Json.Decode.andThen (\x -> Json.Decode.map x (Json.Decode.field "option_some" (Json.Decode.nullable (Json.Decode.int))))
[INFO] [stdout]         |> Json.Decode.andThen (\x -> Json.Decode.map x (Json.Decode.field "option_none" (Json.Decode.nullable (Json.Decode.int))))
[INFO] [stdout]         |> Json.Decode.andThen (\x -> Json.Decode.map x (Json.Decode.field "pathbuf" (Json.Decode.string)))
[INFO] [stdout]         |> Json.Decode.andThen (\x -> Json.Decode.map x (Json.Decode.field "rc" (Json.Decode.int)))
[INFO] [stdout]         |> Json.Decode.andThen (\x -> Json.Decode.map x (Json.Decode.field "refcell" (Json.Decode.int)))
[INFO] [stdout]         |> Json.Decode.andThen (\x -> Json.Decode.map x (Json.Decode.field "result" (resultDecoder (Json.Decode.int) (Json.Decode.int))))
[INFO] [stdout]         |> Json.Decode.andThen (\x -> Json.Decode.map x (Json.Decode.field "rwlock" (Json.Decode.int)))
[INFO] [stdout]         |> Json.Decode.andThen (\x -> Json.Decode.map x (Json.Decode.field "string" (Json.Decode.string)))
[INFO] [stdout]         |> Json.Decode.andThen (\x -> Json.Decode.map x (Json.Decode.field "systemtime" (systemTimeDecoder)))
[INFO] [stdout]         |> Json.Decode.andThen (\x -> Json.Decode.map x (Json.Decode.field "vec" (Json.Decode.list (Json.Decode.int))))
[INFO] [stdout]         |> Json.Decode.andThen (\x -> Json.Decode.map x (Json.Decode.field "array" (Json.Decode.list (Json.Decode.int))))
[INFO] [stdout]         |> Json.Decode.andThen (\x -> Json.Decode.map x (Json.Decode.field "bool" (Json.Decode.bool)))
[INFO] [stdout]         |> Json.Decode.andThen (\x -> Json.Decode.map x (Json.Decode.field "f32" (Json.Decode.float)))
[INFO] [stdout]         |> Json.Decode.andThen (\x -> Json.Decode.map x (Json.Decode.field "f64" (Json.Decode.float)))
[INFO] [stdout]         |> Json.Decode.andThen (\x -> Json.Decode.map x (Json.Decode.field "u8" (Json.Decode.int)))
[INFO] [stdout]         |> Json.Decode.andThen (\x -> Json.Decode.map x (Json.Decode.field "u16" (Json.Decode.int)))
[INFO] [stdout]         |> Json.Decode.andThen (\x -> Json.Decode.map x (Json.Decode.field "u32" (Json.Decode.int)))
[INFO] [stdout]         |> Json.Decode.andThen (\x -> Json.Decode.map x (Json.Decode.field "u64" (Json.Decode.int)))
[INFO] [stdout]         |> Json.Decode.andThen (\x -> Json.Decode.map x (Json.Decode.field "usize" (Json.Decode.int)))
[INFO] [stdout]         |> Json.Decode.andThen (\x -> Json.Decode.map x (Json.Decode.field "i8" (Json.Decode.int)))
[INFO] [stdout]         |> Json.Decode.andThen (\x -> Json.Decode.map x (Json.Decode.field "i16" (Json.Decode.int)))
[INFO] [stdout]         |> Json.Decode.andThen (\x -> Json.Decode.map x (Json.Decode.field "i32" (Json.Decode.int)))
[INFO] [stdout]         |> Json.Decode.andThen (\x -> Json.Decode.map x (Json.Decode.field "i64" (Json.Decode.int)))
[INFO] [stdout]         |> Json.Decode.andThen (\x -> Json.Decode.map x (Json.Decode.field "isize" (Json.Decode.int)))
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] decoded = Json.Decode.decodeString typesDecoder "{\"t\":0,\"unit\":null,\"one\":[0],\"two\":[0,0],\"three\":[0,0,0],\"arc\":0,\"abool\":false,\"ai8\":0,\"ai16\":0,\"ai32\":0,\"ai64\":0,\"aisize\":0,\"au8\":0,\"au16\":0,\"au32\":0,\"au64\":0,\"ausize\":0,\"btreemap\":{},\"btreeset\":[],\"b\":0,\"cell\":0,\"cow\":0,\"duration\":{\"secs\":0,\"nanos\":0},\"hashmap\":{},\"hashset\":[],\"linkedlist\":[],\"mutex\":0,\"nu8\":1,\"nu16\":1,\"nu32\":1,\"nu64\":1,\"nusize\":1,\"ni8\":1,\"ni16\":1,\"ni32\":1,\"ni64\":1,\"nisize\":1,\"option_some\":0,\"option_none\":null,\"pathbuf\":\"\",\"rc\":0,\"refcell\":0,\"result\":{\"Err\":0},\"rwlock\":0,\"string\":\"0\",\"systemtime\":{\"secs_since_epoch\":0,\"nanos_since_epoch\":0},\"vec\":[0,0],\"array\":[0,0],\"bool\":false,\"f32\":0.0,\"f64\":0.0,\"u8\":0,\"u16\":0,\"u32\":0,\"u64\":0,\"usize\":0,\"i8\":0,\"i16\":0,\"i32\":0,\"i64\":0,\"isize\":0}"
[INFO] [stdout] 
[INFO] [stdout] reEncoded = Result.map typesEncoder decoded
[INFO] [stdout] 
[INFO] [stdout] s = case reEncoded of
[INFO] [stdout]     Ok value ->
[INFO] [stdout]         Json.Encode.encode 0 value
[INFO] [stdout]     Err err ->
[INFO] [stdout]         Json.Decode.errorToString err
[INFO] [stdout] 
[INFO] [stdout] "START"
[INFO] [stdout] s
[INFO] [stdout] "END"
[INFO] [stdout] 
[INFO] [stdout] :exit
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] thread 'test::types::types' (620) panicked at src/test/mod.rs:179:10:
[INFO] [stdout] called `Result::unwrap()` on an `Err` value: Os { code: 2, kind: NotFound, message: "No such file or directory" }
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x58d7d352dea1 - <<std[617be2ca0a6fd877]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[a373ad73a504971]::fmt::Display>::fmt
[INFO] [stdout]    1:     0x58d7d35429ea - core[a373ad73a504971]::fmt::write
[INFO] [stdout]    2:     0x58d7d35321dc - <alloc[2e1b2a31b91974c5]::vec::Vec<u8> as core[a373ad73a504971]::io::write::Write>::write_fmt
[INFO] [stdout]    3:     0x58d7d3509d96 - std[617be2ca0a6fd877]::panicking::default_hook::{closure#0}
[INFO] [stdout]    4:     0x58d7d3526539 - std[617be2ca0a6fd877]::panicking::default_hook
[INFO] [stdout]    5:     0x58d7d34c1af0 - test[aada8e7e76ba119b]::test_main_inner::{closure#0}
[INFO] [stdout]    6:     0x58d7d35266f2 - std[617be2ca0a6fd877]::panicking::panic_with_hook
[INFO] [stdout]    7:     0x58d7d3509e42 - std[617be2ca0a6fd877]::panicking::panic_handler::{closure#0}
[INFO] [stdout]    8:     0x58d7d3502b29 - std[617be2ca0a6fd877]::sys::backtrace::__rust_end_short_backtrace::<std[617be2ca0a6fd877]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]    9:     0x58d7d350aa4d - __rustc[ea4f61d10b84890b]::rust_begin_unwind
[INFO] [stdout]   10:     0x58d7d354311c - core[a373ad73a504971]::panicking::panic_fmt
[INFO] [stdout]   11:     0x58d7d3542ef2 - core[a373ad73a504971]::result::unwrap_failed
[INFO] [stdout]   12:     0x58d7d3451fe5 - elm_rs[4c59a4dd58a77a5c]::test::run_repl
[INFO] [stdout]   13:     0x58d7d3445edf - elm_rs[4c59a4dd58a77a5c]::test::test_json_without_eq::<elm_rs[4c59a4dd58a77a5c]::test::types::Types<u8>>
[INFO] [stdout]   14:     0x58d7d3462678 - <elm_rs[4c59a4dd58a77a5c]::test::types::types::{closure#0} as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]   15:     0x58d7d34b4f3b - test[aada8e7e76ba119b]::__rust_begin_short_backtrace::<core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String>, fn() -> core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String>>
[INFO] [stdout]   16:     0x58d7d34c2115 - test[aada8e7e76ba119b]::run_test::{closure#0}
[INFO] [stdout]   17:     0x58d7d34bba04 - std[617be2ca0a6fd877]::sys::backtrace::__rust_begin_short_backtrace::<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>
[INFO] [stdout]   18:     0x58d7d34c51a2 - <std[617be2ca0a6fd877]::thread::lifecycle::spawn_unchecked<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>::{closure#1} as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]   19:     0x58d7d352d6ff - <std[617be2ca0a6fd877]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]   20:     0x7a1f1c968dfa - <unknown>
[INFO] [stdout]   21:     0x7a1f1c9fc3d4 - clone
[INFO] [stdout]   22:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- test::structs::unit stdout ----
[INFO] [stdout] 
[INFO] [stdout] import Json.Decode
[INFO] [stdout] import Json.Encode
[INFO] [stdout] import Dict exposing (Dict)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] resultDecoder : Json.Decode.Decoder e -> Json.Decode.Decoder t -> Json.Decode.Decoder (Result e t)
[INFO] [stdout] resultDecoder errDecoder okDecoder =
[INFO] [stdout]     Json.Decode.oneOf
[INFO] [stdout]         [ Json.Decode.map Ok (Json.Decode.field "Ok" okDecoder)
[INFO] [stdout]         , Json.Decode.map Err (Json.Decode.field "Err" errDecoder)
[INFO] [stdout]         ]
[INFO] [stdout] 
[INFO] [stdout] resultEncoder : (e -> Json.Encode.Value) -> (t -> Json.Encode.Value) -> (Result e t -> Json.Encode.Value)
[INFO] [stdout] resultEncoder errEncoder okEncoder enum =
[INFO] [stdout]     case enum of
[INFO] [stdout]         Ok inner ->
[INFO] [stdout]             Json.Encode.object [ ( "Ok", okEncoder inner ) ]
[INFO] [stdout]         Err inner ->
[INFO] [stdout]             Json.Encode.object [ ( "Err", errEncoder inner ) ]
[INFO] [stdout] 
[INFO] [stdout] type Unit
[INFO] [stdout]     = Unit
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] unitEncoder : Unit -> Json.Encode.Value
[INFO] [stdout] unitEncoder _ =
[INFO] [stdout]     Json.Encode.null
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] unitDecoder : Json.Decode.Decoder Unit
[INFO] [stdout] unitDecoder =
[INFO] [stdout]     Json.Decode.null Unit
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] decoded = Json.Decode.decodeString unitDecoder "null"
[INFO] [stdout] 
[INFO] [stdout] reEncoded = Result.map unitEncoder decoded
[INFO] [stdout] 
[INFO] [stdout] s = case reEncoded of
[INFO] [stdout]     Ok value ->
[INFO] [stdout]         Json.Encode.encode 0 value
[INFO] [stdout]     Err err ->
[INFO] [stdout]         Json.Decode.errorToString err
[INFO] [stdout] 
[INFO] [stdout] "START"
[INFO] [stdout] s
[INFO] [stdout] "END"
[INFO] [stdout] 
[INFO] [stdout] :exit
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] thread 'test::structs::unit' (614) panicked at src/test/mod.rs:179:10:
[INFO] [stdout] called `Result::unwrap()` on an `Err` value: Os { code: 2, kind: NotFound, message: "No such file or directory" }
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x58d7d352dea1 - <<std[617be2ca0a6fd877]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[a373ad73a504971]::fmt::Display>::fmt
[INFO] [stdout]    1:     0x58d7d35429ea - core[a373ad73a504971]::fmt::write
[INFO] [stdout]    2:     0x58d7d35321dc - <alloc[2e1b2a31b91974c5]::vec::Vec<u8> as core[a373ad73a504971]::io::write::Write>::write_fmt
[INFO] [stdout]    3:     0x58d7d3509d96 - std[617be2ca0a6fd877]::panicking::default_hook::{closure#0}
[INFO] [stdout]    4:     0x58d7d3526539 - std[617be2ca0a6fd877]::panicking::default_hook
[INFO] [stdout]    5:     0x58d7d34c1af0 - test[aada8e7e76ba119b]::test_main_inner::{closure#0}
[INFO] [stdout]    6:     0x58d7d35266f2 - std[617be2ca0a6fd877]::panicking::panic_with_hook
[INFO] [stdout]    7:     0x58d7d3509e42 - std[617be2ca0a6fd877]::panicking::panic_handler::{closure#0}
[INFO] [stdout]    8:     0x58d7d3502b29 - std[617be2ca0a6fd877]::sys::backtrace::__rust_end_short_backtrace::<std[617be2ca0a6fd877]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]    9:     0x58d7d350aa4d - __rustc[ea4f61d10b84890b]::rust_begin_unwind
[INFO] [stdout]   10:     0x58d7d354311c - core[a373ad73a504971]::panicking::panic_fmt
[INFO] [stdout]   11:     0x58d7d3542ef2 - core[a373ad73a504971]::result::unwrap_failed
[INFO] [stdout]   12:     0x58d7d3451fe5 - elm_rs[4c59a4dd58a77a5c]::test::run_repl
[INFO] [stdout]   13:     0x58d7d344c3df - elm_rs[4c59a4dd58a77a5c]::test::test_json::<elm_rs[4c59a4dd58a77a5c]::test::structs::Unit>
[INFO] [stdout]   14:     0x58d7d3492d49 - <elm_rs[4c59a4dd58a77a5c]::test::structs::unit::{closure#0} as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]   15:     0x58d7d34b4f3b - test[aada8e7e76ba119b]::__rust_begin_short_backtrace::<core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String>, fn() -> core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String>>
[INFO] [stdout]   16:     0x58d7d34c2115 - test[aada8e7e76ba119b]::run_test::{closure#0}
[INFO] [stdout]   17:     0x58d7d34bba04 - std[617be2ca0a6fd877]::sys::backtrace::__rust_begin_short_backtrace::<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>
[INFO] [stdout]   18:     0x58d7d34c51a2 - <std[617be2ca0a6fd877]::thread::lifecycle::spawn_unchecked<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>::{closure#1} as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]   19:     0x58d7d352d6ff - <std[617be2ca0a6fd877]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]   20:     0x7a1f1c968dfa - <unknown>
[INFO] [stdout]   21:     0x7a1f1c9fc3d4 - clone
[INFO] [stdout]   22:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- test::structs_serde::newtype stdout ----
[INFO] [stdout] 
[INFO] [stdout] import Json.Decode
[INFO] [stdout] import Json.Encode
[INFO] [stdout] import Dict exposing (Dict)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] resultDecoder : Json.Decode.Decoder e -> Json.Decode.Decoder t -> Json.Decode.Decoder (Result e t)
[INFO] [stdout] resultDecoder errDecoder okDecoder =
[INFO] [stdout]     Json.Decode.oneOf
[INFO] [stdout]         [ Json.Decode.map Ok (Json.Decode.field "Ok" okDecoder)
[INFO] [stdout]         , Json.Decode.map Err (Json.Decode.field "Err" errDecoder)
[INFO] [stdout]         ]
[INFO] [stdout] 
[INFO] [stdout] resultEncoder : (e -> Json.Encode.Value) -> (t -> Json.Encode.Value) -> (Result e t -> Json.Encode.Value)
[INFO] [stdout] resultEncoder errEncoder okEncoder enum =
[INFO] [stdout]     case enum of
[INFO] [stdout]         Ok inner ->
[INFO] [stdout]             Json.Encode.object [ ( "Ok", okEncoder inner ) ]
[INFO] [stdout]         Err inner ->
[INFO] [stdout]             Json.Encode.object [ ( "Err", errEncoder inner ) ]
[INFO] [stdout] 
[INFO] [stdout] type Newtype
[INFO] [stdout]     = Newtype (Int)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] newtypeEncoder : Newtype -> Json.Encode.Value
[INFO] [stdout] newtypeEncoder (Newtype inner) =
[INFO] [stdout]     (Json.Encode.int) inner
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] newtypeDecoder : Json.Decode.Decoder Newtype
[INFO] [stdout] newtypeDecoder =
[INFO] [stdout]     Json.Decode.map Newtype (Json.Decode.int)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] decoded = Json.Decode.decodeString newtypeDecoder "123"
[INFO] [stdout] 
[INFO] [stdout] reEncoded = Result.map newtypeEncoder decoded
[INFO] [stdout] 
[INFO] [stdout] s = case reEncoded of
[INFO] [stdout]     Ok value ->
[INFO] [stdout]         Json.Encode.encode 0 value
[INFO] [stdout]     Err err ->
[INFO] [stdout]         Json.Decode.errorToString err
[INFO] [stdout] 
[INFO] [stdout] "START"
[INFO] [stdout] s
[INFO] [stdout] "END"
[INFO] [stdout] 
[INFO] [stdout] :exit
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] thread 'test::structs_serde::newtype' (616) panicked at src/test/mod.rs:179:10:
[INFO] [stdout] called `Result::unwrap()` on an `Err` value: Os { code: 2, kind: NotFound, message: "No such file or directory" }
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x58d7d352dea1 - <<std[617be2ca0a6fd877]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[a373ad73a504971]::fmt::Display>::fmt
[INFO] [stdout]    1:     0x58d7d35429ea - core[a373ad73a504971]::fmt::write
[INFO] [stdout]    2:     0x58d7d35321dc - <alloc[2e1b2a31b91974c5]::vec::Vec<u8> as core[a373ad73a504971]::io::write::Write>::write_fmt
[INFO] [stdout]    3:     0x58d7d3509d96 - std[617be2ca0a6fd877]::panicking::default_hook::{closure#0}
[INFO] [stdout]    4:     0x58d7d3526539 - std[617be2ca0a6fd877]::panicking::default_hook
[INFO] [stdout]    5:     0x58d7d34c1af0 - test[aada8e7e76ba119b]::test_main_inner::{closure#0}
[INFO] [stdout]    6:     0x58d7d35266f2 - std[617be2ca0a6fd877]::panicking::panic_with_hook
[INFO] [stdout]    7:     0x58d7d3509e42 - std[617be2ca0a6fd877]::panicking::panic_handler::{closure#0}
[INFO] [stdout]    8:     0x58d7d3502b29 - std[617be2ca0a6fd877]::sys::backtrace::__rust_end_short_backtrace::<std[617be2ca0a6fd877]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]    9:     0x58d7d350aa4d - __rustc[ea4f61d10b84890b]::rust_begin_unwind
[INFO] [stdout]   10:     0x58d7d354311c - core[a373ad73a504971]::panicking::panic_fmt
[INFO] [stdout]   11:     0x58d7d3542ef2 - core[a373ad73a504971]::result::unwrap_failed
[INFO] [stdout]   12:     0x58d7d3451fe5 - elm_rs[4c59a4dd58a77a5c]::test::run_repl
[INFO] [stdout]   13:     0x58d7d3448aee - elm_rs[4c59a4dd58a77a5c]::test::test_json::<elm_rs[4c59a4dd58a77a5c]::test::structs_serde::Newtype>
[INFO] [stdout]   14:     0x58d7d3492c6e - <elm_rs[4c59a4dd58a77a5c]::test::structs_serde::newtype::{closure#0} as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]   15:     0x58d7d34b4f3b - test[aada8e7e76ba119b]::__rust_begin_short_backtrace::<core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String>, fn() -> core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String>>
[INFO] [stdout]   16:     0x58d7d34c2115 - test[aada8e7e76ba119b]::run_test::{closure#0}
[INFO] [stdout]   17:     0x58d7d34bba04 - std[617be2ca0a6fd877]::sys::backtrace::__rust_begin_short_backtrace::<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>
[INFO] [stdout]   18:     0x58d7d34c51a2 - <std[617be2ca0a6fd877]::thread::lifecycle::spawn_unchecked<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>::{closure#1} as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]   19:     0x58d7d352d6ff - <std[617be2ca0a6fd877]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]   20:     0x7a1f1c968dfa - <unknown>
[INFO] [stdout]   21:     0x7a1f1c9fc3d4 - clone
[INFO] [stdout]   22:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- test::structs::newtype stdout ----
[INFO] [stdout] 
[INFO] [stdout] import Json.Decode
[INFO] [stdout] import Json.Encode
[INFO] [stdout] import Dict exposing (Dict)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] resultDecoder : Json.Decode.Decoder e -> Json.Decode.Decoder t -> Json.Decode.Decoder (Result e t)
[INFO] [stdout] resultDecoder errDecoder okDecoder =
[INFO] [stdout]     Json.Decode.oneOf
[INFO] [stdout]         [ Json.Decode.map Ok (Json.Decode.field "Ok" okDecoder)
[INFO] [stdout]         , Json.Decode.map Err (Json.Decode.field "Err" errDecoder)
[INFO] [stdout]         ]
[INFO] [stdout] 
[INFO] [stdout] resultEncoder : (e -> Json.Encode.Value) -> (t -> Json.Encode.Value) -> (Result e t -> Json.Encode.Value)
[INFO] [stdout] resultEncoder errEncoder okEncoder enum =
[INFO] [stdout]     case enum of
[INFO] [stdout]         Ok inner ->
[INFO] [stdout]             Json.Encode.object [ ( "Ok", okEncoder inner ) ]
[INFO] [stdout]         Err inner ->
[INFO] [stdout]             Json.Encode.object [ ( "Err", errEncoder inner ) ]
[INFO] [stdout] 
[INFO] [stdout] type Newtype
[INFO] [stdout]     = Newtype (Int)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] newtypeEncoder : Newtype -> Json.Encode.Value
[INFO] [stdout] newtypeEncoder (Newtype inner) =
[INFO] [stdout]     (Json.Encode.int) inner
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] newtypeDecoder : Json.Decode.Decoder Newtype
[INFO] [stdout] newtypeDecoder =
[INFO] [stdout]     Json.Decode.map Newtype (Json.Decode.int)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] decoded = Json.Decode.decodeString newtypeDecoder "123"
[INFO] [stdout] 
[INFO] [stdout] reEncoded = Result.map newtypeEncoder decoded
[INFO] [stdout] 
[INFO] [stdout] s = case reEncoded of
[INFO] [stdout]     Ok value ->
[INFO] [stdout]         Json.Encode.encode 0 value
[INFO] [stdout]     Err err ->
[INFO] [stdout]         Json.Decode.errorToString err
[INFO] [stdout] 
[INFO] [stdout] "START"
[INFO] [stdout] s
[INFO] [stdout] "END"
[INFO] [stdout] 
[INFO] [stdout] :exit
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] thread 'test::structs::newtype' (608) panicked at src/test/mod.rs:179:10:
[INFO] [stdout] called `Result::unwrap()` on an `Err` value: Os { code: 2, kind: NotFound, message: "No such file or directory" }
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x58d7d352dea1 - <<std[617be2ca0a6fd877]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[a373ad73a504971]::fmt::Display>::fmt
[INFO] [stdout]    1:     0x58d7d35429ea - core[a373ad73a504971]::fmt::write
[INFO] [stdout]    2:     0x58d7d35321dc - <alloc[2e1b2a31b91974c5]::vec::Vec<u8> as core[a373ad73a504971]::io::write::Write>::write_fmt
[INFO] [stdout]    3:     0x58d7d3509d96 - std[617be2ca0a6fd877]::panicking::default_hook::{closure#0}
[INFO] [stdout]    4:     0x58d7d3526539 - std[617be2ca0a6fd877]::panicking::default_hook
[INFO] [stdout]    5:     0x58d7d34c1af0 - test[aada8e7e76ba119b]::test_main_inner::{closure#0}
[INFO] [stdout]    6:     0x58d7d35266f2 - std[617be2ca0a6fd877]::panicking::panic_with_hook
[INFO] [stdout]    7:     0x58d7d3509e42 - std[617be2ca0a6fd877]::panicking::panic_handler::{closure#0}
[INFO] [stdout]    8:     0x58d7d3502b29 - std[617be2ca0a6fd877]::sys::backtrace::__rust_end_short_backtrace::<std[617be2ca0a6fd877]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]    9:     0x58d7d350aa4d - __rustc[ea4f61d10b84890b]::rust_begin_unwind
[INFO] [stdout]   10:     0x58d7d354311c - core[a373ad73a504971]::panicking::panic_fmt
[INFO] [stdout]   11:     0x58d7d3542ef2 - core[a373ad73a504971]::result::unwrap_failed
[INFO] [stdout]   12:     0x58d7d3451fe5 - elm_rs[4c59a4dd58a77a5c]::test::run_repl
[INFO] [stdout]   13:     0x58d7d344de7e - elm_rs[4c59a4dd58a77a5c]::test::test_json::<elm_rs[4c59a4dd58a77a5c]::test::structs::Newtype>
[INFO] [stdout]   14:     0x58d7d3492e0e - <elm_rs[4c59a4dd58a77a5c]::test::structs::newtype::{closure#0} as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]   15:     0x58d7d34b4f3b - test[aada8e7e76ba119b]::__rust_begin_short_backtrace::<core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String>, fn() -> core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String>>
[INFO] [stdout]   16:     0x58d7d34c2115 - test[aada8e7e76ba119b]::run_test::{closure#0}
[INFO] [stdout]   17:     0x58d7d34bba04 - std[617be2ca0a6fd877]::sys::backtrace::__rust_begin_short_backtrace::<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>
[INFO] [stdout]   18:     0x58d7d34c51a2 - <std[617be2ca0a6fd877]::thread::lifecycle::spawn_unchecked<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>::{closure#1} as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]   19:     0x58d7d352d6ff - <std[617be2ca0a6fd877]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]   20:     0x7a1f1c968dfa - <unknown>
[INFO] [stdout]   21:     0x7a1f1c9fc3d4 - clone
[INFO] [stdout]   22:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     test::complex::complex
[INFO] [stdout]     test::enums_adjacent::named
[INFO] [stdout]     test::enums_adjacent::newtype
[INFO] [stdout]     test::enums_adjacent::tuple
[INFO] [stdout]     test::enums_adjacent::unit
[INFO] [stdout]     test::enums_external::named
[INFO] [stdout]     test::enums_external::newtype
[INFO] [stdout]     test::enums_external::tuple
[INFO] [stdout]     test::enums_external::unit
[INFO] [stdout]     test::enums_internal::named
[INFO] [stdout]     test::enums_internal::unit
[INFO] [stdout]     test::enums_untagged::named
[INFO] [stdout]     test::enums_untagged::newtype
[INFO] [stdout]     test::enums_untagged::tuple
[INFO] [stdout]     test::enums_untagged::unit
[INFO] [stdout]     test::etc_serde::other
[INFO] [stdout]     test::etc_serde::rename_enum
[INFO] [stdout]     test::etc_serde::rename_struct
[INFO] [stdout]     test::etc_serde::skip
[INFO] [stdout]     test::etc_serde::transparent_newtype
[INFO] [stdout]     test::etc_serde::transparent_struct
[INFO] [stdout]     test::nested::nestedtypes
[INFO] [stdout]     test::query::query_enum
[INFO] [stdout]     test::query::query_struct
[INFO] [stdout]     test::regression::regression_2
[INFO] [stdout]     test::regression::regression_4
[INFO] [stdout]     test::structs::named
[INFO] [stdout]     test::structs::newtype
[INFO] [stdout]     test::structs::tuple
[INFO] [stdout]     test::structs::unit
[INFO] [stdout]     test::structs_serde::named
[INFO] [stdout]     test::structs_serde::newtype
[INFO] [stdout]     test::structs_serde::tuple
[INFO] [stdout]     test::structs_serde::unit
[INFO] [stdout]     test::types::types
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 1 passed; 35 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "09f2703829c227a5a561670393f12ab9876e02acf6b174a98de4380164cc7872", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "09f2703829c227a5a561670393f12ab9876e02acf6b174a98de4380164cc7872", kill_on_drop: false }`
[INFO] [stdout] 09f2703829c227a5a561670393f12ab9876e02acf6b174a98de4380164cc7872
