[INFO] fetching crate salary-parser-jp 0.1.1...
[INFO] testing salary-parser-jp-0.1.1 against 1.100.0-beta.1 for beta-1.100-2
[INFO] extracting crate salary-parser-jp 0.1.1 into /workspace/builds/worker-0-tc2/source
[INFO] started tweaking crates.io crate salary-parser-jp 0.1.1
[INFO] removed 0 missing examples
[INFO] removed 0 missing tests
[INFO] finished tweaking crates.io crate salary-parser-jp 0.1.1
[INFO] tweaked toml for crates.io crate salary-parser-jp 0.1.1 written to /workspace/builds/worker-0-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate salary-parser-jp 0.1.1 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 salary-parser-jp 0.1.1 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:3111399a4047eeb3a02b7a90e478d715f38a8c6669b5c4b49d30a17385265909" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] c084725404b0da595cc44cca2058c7d108d206d328e236532e5aa6dd80771378
[INFO] running `Command { std: "docker" "start" "c084725404b0da595cc44cca2058c7d108d206d328e236532e5aa6dd80771378", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "c084725404b0da595cc44cca2058c7d108d206d328e236532e5aa6dd80771378", 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" "c084725404b0da595cc44cca2058c7d108d206d328e236532e5aa6dd80771378" "/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" "c084725404b0da595cc44cca2058c7d108d206d328e236532e5aa6dd80771378", 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" "c084725404b0da595cc44cca2058c7d108d206d328e236532e5aa6dd80771378" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling unicode-ident v1.0.24
[INFO] [stderr]    Compiling thiserror v2.0.19
[INFO] [stderr]    Compiling proc-macro2 v1.0.107
[INFO] [stderr]    Compiling quote v1.0.47
[INFO] [stderr]    Compiling syn v3.0.2
[INFO] [stderr]    Compiling thiserror-impl v2.0.19
[INFO] [stderr]    Compiling salary-parser-jp v0.1.1 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 4.57s
[INFO] running `Command { std: "docker" "inspect" "c084725404b0da595cc44cca2058c7d108d206d328e236532e5aa6dd80771378", 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" "c084725404b0da595cc44cca2058c7d108d206d328e236532e5aa6dd80771378" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling serde_core v1.0.229
[INFO] [stderr]    Compiling zmij v1.0.23
[INFO] [stderr]    Compiling serde_json v1.0.151
[INFO] [stderr]    Compiling memchr v2.8.3
[INFO] [stderr]    Compiling itoa v1.0.18
[INFO] [stderr]    Compiling salary-parser-jp v0.1.1 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 6.07s
[INFO] running `Command { std: "docker" "inspect" "c084725404b0da595cc44cca2058c7d108d206d328e236532e5aa6dd80771378", 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" "c084725404b0da595cc44cca2058c7d108d206d328e236532e5aa6dd80771378" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "test" "--frozen", kill_on_drop: false }`
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.04s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/build/salary-parser-jp/3585fbe2af3f639c/out/salary_parser_jp-3585fbe2af3f639c)
[INFO] [stdout] 
[INFO] [stdout] running 15 tests
[INFO] [stdout] test normalize::tests::全角数字とカンマ連鎖を半角へ揃える ... ok
[INFO] [stdout] test normalize::tests::万と千の表記を桁へ展開する ... ok
[INFO] [stdout] test normalize::tests::億を桁へ展開する ... ok
[INFO] [stdout] test normalize::tests::単位展開で桁が連結する形は展開しない ... ok
[INFO] [stdout] test normalize::tests::数字に挟まれたコロンだけ残す ... ok
[INFO] [stdout] test normalize::tests::装飾記号と空白を取り除く ... ok
[INFO] [stdout] test normalize::tests::範囲の右側だけの万を左へ分配する ... ok
[INFO] [stdout] test normalize::tests::位取りに収まらない万表記は展開しない ... ok
[INFO] [stdout] test normalize::tests::円記号を円表記へ揃える ... ok
[INFO] [stdout] test normalize::tests::金額でない範囲の右端へは円を補わない ... ok
[INFO] [stderr]      Running tests/parse.rs (/opt/rustwide/target/debug/build/salary-parser-jp/c21f96a6e1e6e09f/out/parse-c21f96a6e1e6e09f)
[INFO] [stdout] test normalize::tests::桁区切り誤記の小数点を救済する ... ok
[INFO] [stdout] test normalize::tests::数値のみのテキストへは円を補わない ... ok
[INFO] [stdout] test normalize::tests::範囲区切りのゆれを正準形へ揃える ... ok
[INFO] [stdout] test normalize::tests::桁あふれする破損データは展開しない ... ok
[INFO] [stdout] test normalize::tests::賞与などの給与外数値を落とす ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 15 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 37 tests
[INFO] [stdout] test エラーは日本語の診断文を持つ ... ok
[INFO] [stdout] test 勤務時間などの非金額を給与として誤読しない ... ok
[INFO] [stdout] test 上限が金額の形でなければ下限のみとして扱う ... ok
[INFO] [stdout] test 単位展開で桁が連結する入力は金額として読まない ... ok
[INFO] [stdout] test 文頭の月数字特例は月給として解析する ... ok
[INFO] [stdout] test 妥当範囲を公開している ... ok
[INFO] [stdout] test 文字列からfrom_strで解析できる ... ok
[INFO] [stdout] test 妥当範囲は最低賃金に連動しない ... ok
[INFO] [stdout] test 億表記の高額求人を解析できる ... ok
[INFO] [stdout] test 年収のパターンを解析できる ... ok
[INFO] [stdout] test 妥当範囲外の金額はエラーになる ... ok
[INFO] [stdout] test 時給のパターンを解析できる ... ok
[INFO] [stdout] test 日給は日給として解析する ... ok
[INFO] [stdout] test 既定の換算前提は時給と日給で整合する ... ok
[INFO] [stdout] test 月給の代表パターンを解析できる ... ok
[INFO] [stdout] test 型はデバッグ表示と複製に対応する ... ok
[INFO] [stdout] test 曖昧な種別語は金額の桁で解決する ... ok
[INFO] [stdout] test 妥当範囲は利用側から差し替えられる ... ok
[INFO] [stdout] test 月給換算で上限も換算できる ... ok
[INFO] [stdout] test 月給換算で下限を換算できる ... ok
[INFO] [stdout] test 月給換算の前提は差し替えられる ... ok
[INFO] [stdout] test 桁あふれの破損データはエラーになる ... ok
[INFO] [stdout] test 混在テキストでは種別語の優先度で解決する ... ok
[INFO] [stdout] test 種別語がない金額は桁から種別を推定する ... ok
[INFO] [stdout] test 種別を特定できない金額はエラーになる ... ok
[INFO] [stdout] test 種別語は文頭の裸金額より優先される ... ok
[INFO] [stdout] test 給与種別は日本語で表示される ... ok
[INFO] [stdout] test 解析器は保持した範囲を参照できる ... ok
[INFO] [stdout] test 種別語の直後に金額がない場合は次の出現を試す ... ok
[INFO] [stdout] test 逆転した妥当範囲は設定ミスとして弾く ... ok
[INFO] [stdout] test 範囲の共有単位を分配して解析する ... ok
[INFO] [stdout] test 給与以外の金額語があれば文頭の裸金額を拾わない ... ok
[INFO] [stdout] test 逆転した範囲はエラーになる ... ok
[INFO] [stdout] test 金額がないテキストはエラーになる ... ok
[INFO] [stdout] test 高額帯の実在求人を取りこぼさない ... ok
[INFO] [stdout] test 賞与などの給与外数値に惑わされない ... ok
[INFO] [stdout] test 範囲を広げても桁からの種別推定は変わらない ... ok
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests salary_parser_jp
[INFO] [stdout] test result: ok. 37 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 18 tests
[INFO] [stdout] test src/lib.rs - MonthlyAssumption (line 294) ... ok
[INFO] [stdout] test src/lib.rs - SalaryParser::parse (line 564) ... ok
[INFO] [stdout] test src/lib.rs - (line 47) ... ok
[INFO] [stdout] test src/lib.rs - Salary::from_str (line 269) ... ok
[INFO] [stdout] test src/lib.rs - SalaryParser (line 494) ... ok
[INFO] [stdout] test src/error.rs - error::ParseError (line 14) ... ok
[INFO] [stdout] test src/lib.rs - SalaryBounds::validate (line 387) ... ok
[INFO] [stdout] test src/lib.rs - SalaryParser::new (line 518) ... ok
[INFO] [stdout] test src/lib.rs - SalaryBounds (line 336) ... ok
[INFO] [stdout] test src/lib.rs - SalaryParser::parse (line 597) ... ok
[INFO] [stdout] test src/lib.rs - SalaryType (line 141) ... ok
[INFO] [stdout] test src/lib.rs - SalaryType::valid_yen_range (line 463) ... ok
[INFO] [stdout] test src/lib.rs - (line 17) ... ok
[INFO] [stdout] test src/lib.rs - Salary (line 178) ... ok
[INFO] [stdout] test src/lib.rs - Salary::monthly_max_yen (line 227) ... ok
[INFO] [stdout] test src/lib.rs - Salary::monthly_min_yen (line 210) ... ok
[INFO] [stdout] test src/lib.rs - (line 74) ... ok
[INFO] [stdout] test src/normalize.rs - normalize::normalize (line 57) ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 18 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s
[INFO] [stdout] 
[INFO] [stdout] all doctests ran in 0.55s; merged doctests compilation took 0.53s
[INFO] running `Command { std: "docker" "inspect" "c084725404b0da595cc44cca2058c7d108d206d328e236532e5aa6dd80771378", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "c084725404b0da595cc44cca2058c7d108d206d328e236532e5aa6dd80771378", kill_on_drop: false }`
[INFO] [stdout] c084725404b0da595cc44cca2058c7d108d206d328e236532e5aa6dd80771378
