[INFO] cloning repository https://github.com/1000VICKY/shift_jis_with_Rust
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/1000VICKY/shift_jis_with_Rust" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2F1000VICKY%2Fshift_jis_with_Rust", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2F1000VICKY%2Fshift_jis_with_Rust'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] abc9a806f9469206b452914b9c1ea34b63832810
[INFO] checking 1000VICKY/shift_jis_with_Rust against try#e117153a45c546e883c1f91d82611775fcaeffe0 for pr-146470
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2F1000VICKY%2Fshift_jis_with_Rust" "/workspace/builds/worker-3-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/1000VICKY/shift_jis_with_Rust
[INFO] finished tweaking git repo https://github.com/1000VICKY/shift_jis_with_Rust
[INFO] tweaked toml for git repo https://github.com/1000VICKY/shift_jis_with_Rust written to /workspace/builds/worker-3-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/1000VICKY/shift_jis_with_Rust on toolchain e117153a45c546e883c1f91d82611775fcaeffe0
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+e117153a45c546e883c1f91d82611775fcaeffe0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/1000VICKY/shift_jis_with_Rust 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" "+e117153a45c546e883c1f91d82611775fcaeffe0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+e117153a45c546e883c1f91d82611775fcaeffe0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] b836a57d28dc67a16cac7b9afd24698dfacaa7d701bde4f135206fa05e4f9355
[INFO] running `Command { std: "docker" "start" "-a" "b836a57d28dc67a16cac7b9afd24698dfacaa7d701bde4f135206fa05e4f9355", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "b836a57d28dc67a16cac7b9afd24698dfacaa7d701bde4f135206fa05e4f9355", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "b836a57d28dc67a16cac7b9afd24698dfacaa7d701bde4f135206fa05e4f9355", kill_on_drop: false }`
[INFO] [stdout] b836a57d28dc67a16cac7b9afd24698dfacaa7d701bde4f135206fa05e4f9355
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+e117153a45c546e883c1f91d82611775fcaeffe0" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 0ce171dc99c4de23ef002da6b8e50e3391a8f38ab6226c7135d47ddfff304898
[INFO] running `Command { std: "docker" "start" "-a" "0ce171dc99c4de23ef002da6b8e50e3391a8f38ab6226c7135d47ddfff304898", kill_on_drop: false }`
[INFO] [stderr]    Compiling gcc v0.3.55
[INFO] [stderr]    Compiling libc v0.2.71
[INFO] [stderr]    Compiling printf v0.1.0
[INFO] [stderr]     Checking shift_jis v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `Write`
[INFO] [stdout]   --> src/main.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 |     Write
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]   --> src/main.rs:24:9
[INFO] [stdout]    |
[INFO] [stdout] 24 |         /// panicせずにエラーのみを表示
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations
[INFO] [stdout]    |
[INFO] [stdout]    = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout]    = note: `#[warn(unused_doc_comments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/main.rs:110:12
[INFO] [stdout]     |
[INFO] [stdout] 110 |         if (to_print.is_ok() == true) {
[INFO] [stdout]     |            ^                        ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 110 -         if (to_print.is_ok() == true) {
[INFO] [stdout] 110 +         if to_print.is_ok() == true {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable statement
[INFO] [stdout]   --> src/main.rs:44:5
[INFO] [stdout]    |
[INFO] [stdout] 43 |     return;
[INFO] [stdout]    |     ------ any code following this expression is unreachable
[INFO] [stdout] 44 |     println!("Hello, world!");
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^ unreachable statement
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unreachable_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout]    = note: this warning originates in the macro `println` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable statement
[INFO] [stdout]    --> src/main.rs:116:9
[INFO] [stdout]     |
[INFO] [stdout] 112 |             return output_size;
[INFO] [stdout]     |             ------------------ any code following this expression is unreachable
[INFO] [stdout] ...
[INFO] [stdout] 116 |         return -1;
[INFO] [stdout]     |         ^^^^^^^^^^ unreachable statement
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `s_01`
[INFO] [stdout]   --> src/main.rs:46:9
[INFO] [stdout]    |
[INFO] [stdout] 46 |     let s_01: String = String :: from ("あいうえお");
[INFO] [stdout]    |         ^^^^ help: if this is intentional, prefix it with an underscore: `_s_01`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]   --> src/main.rs:49:9
[INFO] [stdout]    |
[INFO] [stdout] 49 |     for value in s_01.as_bytes().iter() {
[INFO] [stdout]    |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `index`
[INFO] [stdout]   --> src/main.rs:53:10
[INFO] [stdout]    |
[INFO] [stdout] 53 |     for (index, value)  in s_01.as_bytes().iter().enumerate() {
[INFO] [stdout]    |          ^^^^^ help: if this is intentional, prefix it with an underscore: `_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]   --> src/main.rs:53:17
[INFO] [stdout]    |
[INFO] [stdout] 53 |     for (index, value)  in s_01.as_bytes().iter().enumerate() {
[INFO] [stdout]    |                 ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key_value`
[INFO] [stdout]   --> src/main.rs:58:9
[INFO] [stdout]    |
[INFO] [stdout] 58 |     let key_value = s_01.as_bytes().iter().enumerate();
[INFO] [stdout]    |         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_key_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `index`
[INFO] [stdout]   --> src/main.rs:62:10
[INFO] [stdout]    |
[INFO] [stdout] 62 |     for (index, value) in key_value
[INFO] [stdout]    |          ^^^^^ help: if this is intentional, prefix it with an underscore: `_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]   --> src/main.rs:62:17
[INFO] [stdout]    |
[INFO] [stdout] 62 |     for (index, value) in key_value
[INFO] [stdout]    |                 ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `text_path`
[INFO] [stdout]   --> src/main.rs:66:9
[INFO] [stdout]    |
[INFO] [stdout] 66 |     let text_path : String = "shift_jis.dat".to_string();
[INFO] [stdout]    |         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_text_path`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `f`
[INFO] [stdout]   --> src/main.rs:72:13
[INFO] [stdout]    |
[INFO] [stdout] 72 |         let mut f = fs::read("shift_jis.dat").unwrap();
[INFO] [stdout]    |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_f`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `utf`
[INFO] [stdout]   --> src/main.rs:73:13
[INFO] [stdout]    |
[INFO] [stdout] 73 |         let mut utf = fs::read_to_string("utf-8.dat").unwrap().as_bytes().to_vec();
[INFO] [stdout]    |             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_utf`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Write`
[INFO] [stdout]   --> src/main.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 |     Write
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `percent_s`
[INFO] [stdout]   --> src/main.rs:77:13
[INFO] [stdout]    |
[INFO] [stdout] 77 |         let percent_s = "%s".to_string().as_bytes().to_vec();
[INFO] [stdout]    |             ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_percent_s`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `c_string`
[INFO] [stdout]   --> src/main.rs:81:13
[INFO] [stdout]    |
[INFO] [stdout] 81 |         let c_string : *const c_char = CString :: new (percent_s).unwrap().as_ptr();
[INFO] [stdout]    |             ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_c_string`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]   --> src/main.rs:24:9
[INFO] [stdout]    |
[INFO] [stdout] 24 |         /// panicせずにエラーのみを表示
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations
[INFO] [stdout]    |
[INFO] [stdout]    = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout]    = note: `#[warn(unused_doc_comments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `void_pointer`
[INFO] [stdout]   --> src/main.rs:84:13
[INFO] [stdout]    |
[INFO] [stdout] 84 | ...   let void_pointer = CString:: new ("32473048302583284932aiueo".to_string().as_bytes().to_vec()).unwrap().as_ptr() as *mut std::...
[INFO] [stdout]    |           ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_void_pointer`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `my_vector`
[INFO] [stdout]   --> src/main.rs:91:9
[INFO] [stdout]    |
[INFO] [stdout] 91 |     let mut my_vector = s_01.as_bytes().to_vec();
[INFO] [stdout]    |         ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_my_vector`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/main.rs:110:12
[INFO] [stdout]     |
[INFO] [stdout] 110 |         if (to_print.is_ok() == true) {
[INFO] [stdout]     |            ^                        ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 110 -         if (to_print.is_ok() == true) {
[INFO] [stdout] 110 +         if to_print.is_ok() == true {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable statement
[INFO] [stdout]   --> src/main.rs:44:5
[INFO] [stdout]    |
[INFO] [stdout] 43 |     return;
[INFO] [stdout]    |     ------ any code following this expression is unreachable
[INFO] [stdout] 44 |     println!("Hello, world!");
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^ unreachable statement
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unreachable_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout]    = note: this warning originates in the macro `println` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable statement
[INFO] [stdout]    --> src/main.rs:116:9
[INFO] [stdout]     |
[INFO] [stdout] 112 |             return output_size;
[INFO] [stdout]     |             ------------------ any code following this expression is unreachable
[INFO] [stdout] ...
[INFO] [stdout] 116 |         return -1;
[INFO] [stdout]     |         ^^^^^^^^^^ unreachable statement
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: a dangling pointer will be produced because the temporary `CString` will be dropped
[INFO] [stdout]   --> src/main.rs:81:76
[INFO] [stdout]    |
[INFO] [stdout] 81 |         let c_string : *const c_char = CString :: new (percent_s).unwrap().as_ptr();
[INFO] [stdout]    |                                        ----------------------------------- ^^^^^^ this pointer will immediately be invalid
[INFO] [stdout]    |                                        |
[INFO] [stdout]    |                                        this `CString` is deallocated at the end of the statement, bind it to a variable to extend its lifetime
[INFO] [stdout]    |
[INFO] [stdout]    = note: pointers do not have a lifetime; when calling `as_ptr` the `CString` will be deallocated at the end of the statement because nothing is referencing it as far as the type system is concerned
[INFO] [stdout]    = help: you must make sure that the variable you bind the `CString` to lives at least as long as the pointer returned by the call to `as_ptr`
[INFO] [stdout]    = help: in particular, if this pointer is returned from the current function, binding the `CString` inside the function will not suffice
[INFO] [stdout]    = help: for more information, see <https://doc.rust-lang.org/reference/destructors.html>
[INFO] [stdout]    = note: `#[warn(dangling_pointers_from_temporaries)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: a dangling pointer will be produced because the temporary `CString` will be dropped
[INFO] [stdout]   --> src/main.rs:84:113
[INFO] [stdout]    |
[INFO] [stdout] 84 | ...void_pointer = CString:: new ("32473048302583284932aiueo".to_string().as_bytes().to_vec()).unwrap().as_ptr() as *mut std::os::raw...
[INFO] [stdout]    |                   ------------------------------------------------------------------------------------ ^^^^^^ this pointer will immediately be invalid
[INFO] [stdout]    |                   |
[INFO] [stdout]    |                   this `CString` is deallocated at the end of the statement, bind it to a variable to extend its lifetime
[INFO] [stdout]    |
[INFO] [stdout]    = note: pointers do not have a lifetime; when calling `as_ptr` the `CString` will be deallocated at the end of the statement because nothing is referencing it as far as the type system is concerned
[INFO] [stdout]    = help: you must make sure that the variable you bind the `CString` to lives at least as long as the pointer returned by the call to `as_ptr`
[INFO] [stdout]    = help: in particular, if this pointer is returned from the current function, binding the `CString` inside the function will not suffice
[INFO] [stdout]    = help: for more information, see <https://doc.rust-lang.org/reference/destructors.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `s_01`
[INFO] [stdout]   --> src/main.rs:46:9
[INFO] [stdout]    |
[INFO] [stdout] 46 |     let s_01: String = String :: from ("あいうえお");
[INFO] [stdout]    |         ^^^^ help: if this is intentional, prefix it with an underscore: `_s_01`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]   --> src/main.rs:49:9
[INFO] [stdout]    |
[INFO] [stdout] 49 |     for value in s_01.as_bytes().iter() {
[INFO] [stdout]    |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `index`
[INFO] [stdout]   --> src/main.rs:53:10
[INFO] [stdout]    |
[INFO] [stdout] 53 |     for (index, value)  in s_01.as_bytes().iter().enumerate() {
[INFO] [stdout]    |          ^^^^^ help: if this is intentional, prefix it with an underscore: `_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]   --> src/main.rs:53:17
[INFO] [stdout]    |
[INFO] [stdout] 53 |     for (index, value)  in s_01.as_bytes().iter().enumerate() {
[INFO] [stdout]    |                 ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key_value`
[INFO] [stdout]   --> src/main.rs:58:9
[INFO] [stdout]    |
[INFO] [stdout] 58 |     let key_value = s_01.as_bytes().iter().enumerate();
[INFO] [stdout]    |         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_key_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `index`
[INFO] [stdout]   --> src/main.rs:62:10
[INFO] [stdout]    |
[INFO] [stdout] 62 |     for (index, value) in key_value
[INFO] [stdout]    |          ^^^^^ help: if this is intentional, prefix it with an underscore: `_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]   --> src/main.rs:62:17
[INFO] [stdout]    |
[INFO] [stdout] 62 |     for (index, value) in key_value
[INFO] [stdout]    |                 ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `text_path`
[INFO] [stdout]   --> src/main.rs:66:9
[INFO] [stdout]    |
[INFO] [stdout] 66 |     let text_path : String = "shift_jis.dat".to_string();
[INFO] [stdout]    |         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_text_path`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `f`
[INFO] [stdout]   --> src/main.rs:72:13
[INFO] [stdout]    |
[INFO] [stdout] 72 |         let mut f = fs::read("shift_jis.dat").unwrap();
[INFO] [stdout]    |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_f`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `utf`
[INFO] [stdout]   --> src/main.rs:73:13
[INFO] [stdout]    |
[INFO] [stdout] 73 |         let mut utf = fs::read_to_string("utf-8.dat").unwrap().as_bytes().to_vec();
[INFO] [stdout]    |             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_utf`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `percent_s`
[INFO] [stdout]   --> src/main.rs:77:13
[INFO] [stdout]    |
[INFO] [stdout] 77 |         let percent_s = "%s".to_string().as_bytes().to_vec();
[INFO] [stdout]    |             ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_percent_s`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `c_string`
[INFO] [stdout]   --> src/main.rs:81:13
[INFO] [stdout]    |
[INFO] [stdout] 81 |         let c_string : *const c_char = CString :: new (percent_s).unwrap().as_ptr();
[INFO] [stdout]    |             ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_c_string`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `void_pointer`
[INFO] [stdout]   --> src/main.rs:84:13
[INFO] [stdout]    |
[INFO] [stdout] 84 | ...   let void_pointer = CString:: new ("32473048302583284932aiueo".to_string().as_bytes().to_vec()).unwrap().as_ptr() as *mut std::...
[INFO] [stdout]    |           ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_void_pointer`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `my_vector`
[INFO] [stdout]   --> src/main.rs:91:9
[INFO] [stdout]    |
[INFO] [stdout] 91 |     let mut my_vector = s_01.as_bytes().to_vec();
[INFO] [stdout]    |         ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_my_vector`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `puts` is never used
[INFO] [stdout]   --> src/main.rs:70:16
[INFO] [stdout]    |
[INFO] [stdout] 70 |             fn puts(s: *const c_char) -> c_int;
[INFO] [stdout]    |                ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: a dangling pointer will be produced because the temporary `CString` will be dropped
[INFO] [stdout]   --> src/main.rs:81:76
[INFO] [stdout]    |
[INFO] [stdout] 81 |         let c_string : *const c_char = CString :: new (percent_s).unwrap().as_ptr();
[INFO] [stdout]    |                                        ----------------------------------- ^^^^^^ this pointer will immediately be invalid
[INFO] [stdout]    |                                        |
[INFO] [stdout]    |                                        this `CString` is deallocated at the end of the statement, bind it to a variable to extend its lifetime
[INFO] [stdout]    |
[INFO] [stdout]    = note: pointers do not have a lifetime; when calling `as_ptr` the `CString` will be deallocated at the end of the statement because nothing is referencing it as far as the type system is concerned
[INFO] [stdout]    = help: you must make sure that the variable you bind the `CString` to lives at least as long as the pointer returned by the call to `as_ptr`
[INFO] [stdout]    = help: in particular, if this pointer is returned from the current function, binding the `CString` inside the function will not suffice
[INFO] [stdout]    = help: for more information, see <https://doc.rust-lang.org/reference/destructors.html>
[INFO] [stdout]    = note: `#[warn(dangling_pointers_from_temporaries)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: a dangling pointer will be produced because the temporary `CString` will be dropped
[INFO] [stdout]   --> src/main.rs:84:113
[INFO] [stdout]    |
[INFO] [stdout] 84 | ...void_pointer = CString:: new ("32473048302583284932aiueo".to_string().as_bytes().to_vec()).unwrap().as_ptr() as *mut std::os::raw...
[INFO] [stdout]    |                   ------------------------------------------------------------------------------------ ^^^^^^ this pointer will immediately be invalid
[INFO] [stdout]    |                   |
[INFO] [stdout]    |                   this `CString` is deallocated at the end of the statement, bind it to a variable to extend its lifetime
[INFO] [stdout]    |
[INFO] [stdout]    = note: pointers do not have a lifetime; when calling `as_ptr` the `CString` will be deallocated at the end of the statement because nothing is referencing it as far as the type system is concerned
[INFO] [stdout]    = help: you must make sure that the variable you bind the `CString` to lives at least as long as the pointer returned by the call to `as_ptr`
[INFO] [stdout]    = help: in particular, if this pointer is returned from the current function, binding the `CString` inside the function will not suffice
[INFO] [stdout]    = help: for more information, see <https://doc.rust-lang.org/reference/destructors.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1.68s
[INFO] running `Command { std: "docker" "inspect" "0ce171dc99c4de23ef002da6b8e50e3391a8f38ab6226c7135d47ddfff304898", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "0ce171dc99c4de23ef002da6b8e50e3391a8f38ab6226c7135d47ddfff304898", kill_on_drop: false }`
[INFO] [stdout] 0ce171dc99c4de23ef002da6b8e50e3391a8f38ab6226c7135d47ddfff304898
