[INFO] fetching crate rustpak 0.1.0...
[INFO] checking rustpak-0.1.0 against beta-2021-10-15 for beta-1.56-3
[INFO] extracting crate rustpak 0.1.0 into /workspace/builds/worker-1/source
[INFO] validating manifest of crates.io crate rustpak 0.1.0 on toolchain beta-2021-10-15
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+beta-2021-10-15" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking crates.io crate rustpak 0.1.0
[INFO] finished tweaking crates.io crate rustpak 0.1.0
[INFO] tweaked toml for crates.io crate rustpak 0.1.0 written to /workspace/builds/worker-1/source/Cargo.toml
[INFO] crate crates.io crate rustpak 0.1.0 already has a lockfile, it will not be regenerated
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+beta-2021-10-15" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr] warning: only one of `license` or `license-file` is necessary
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1/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:a89201d6b5b9fd45c15d5952ece0a0129e7e80cb26ec023fd59cf09bc26f1604" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2021-10-15" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] f25b106430a5a6a1e8df2ac7915c538b01494094ac678fde7b982b14e860b722
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] running `Command { std: "docker" "start" "-a" "f25b106430a5a6a1e8df2ac7915c538b01494094ac678fde7b982b14e860b722", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "f25b106430a5a6a1e8df2ac7915c538b01494094ac678fde7b982b14e860b722", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "f25b106430a5a6a1e8df2ac7915c538b01494094ac678fde7b982b14e860b722", kill_on_drop: false }`
[INFO] [stdout] f25b106430a5a6a1e8df2ac7915c538b01494094ac678fde7b982b14e860b722
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "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:a89201d6b5b9fd45c15d5952ece0a0129e7e80cb26ec023fd59cf09bc26f1604" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2021-10-15" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] [stdout] 606298a2ea72a064863917b822b1a1002eac69e6f1e525bd4e8a7083501de93d
[INFO] running `Command { std: "docker" "start" "-a" "606298a2ea72a064863917b822b1a1002eac69e6f1e525bd4e8a7083501de93d", kill_on_drop: false }`
[INFO] [stderr] warning: only one of `license` or `license-file` is necessary
[INFO] [stderr]    Compiling libc v0.2.91
[INFO] [stderr]     Checking atty v0.2.14
[INFO] [stderr]     Checking clap v2.33.3
[INFO] [stderr]     Checking rustpak v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] error[E0432]: unresolved import `rustpak`
[INFO] [stdout]  --> tests/pak_test.rs:3:9
[INFO] [stdout]   |
[INFO] [stdout] 3 |     use rustpak::{Pak, PakFileEntry, PakFileError};
[INFO] [stdout]   |         ^^^^^^^ use of undeclared crate or module `rustpak`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `rustpak` due to 2 previous errors
[INFO] [stdout] error: aborting due to previous error
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] For more information about this error, try `rustc --explain E0432`.
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` fn uses type `str`, which is not FFI-safe
[INFO] [stdout]    --> src/lib.rs:125:32
[INFO] [stdout]     |
[INFO] [stdout] 125 |     pub extern "C" fn new() -> Pak<'a> {
[INFO] [stdout]     |                                ^^^^^^^ not FFI-safe
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(improper_ctypes_definitions)]` on by default
[INFO] [stdout]     = help: consider using `*const u8` and a length instead
[INFO] [stdout]     = note: string slices have no C equivalent
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` fn uses type `str`, which is not FFI-safe
[INFO] [stdout]    --> src/lib.rs:134:39
[INFO] [stdout]     |
[INFO] [stdout] 134 |     pub extern "C" fn from_file(path: &'a str) -> Result<Pak, Box<dyn Error>> {
[INFO] [stdout]     |                                       ^^^^^^^ not FFI-safe
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider using `*const u8` and a length instead
[INFO] [stdout]     = note: string slices have no C equivalent
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` fn uses type `Result<Pak, Box<dyn std::error::Error>>`, which is not FFI-safe
[INFO] [stdout]    --> src/lib.rs:134:51
[INFO] [stdout]     |
[INFO] [stdout] 134 |     pub extern "C" fn from_file(path: &'a str) -> Result<Pak, Box<dyn Error>> {
[INFO] [stdout]     |                                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider adding a `#[repr(C)]`, `#[repr(transparent)]`, or integer `#[repr(...)]` attribute to this enum
[INFO] [stdout]     = note: enum has no representation hint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` fn uses type `String`, which is not FFI-safe
[INFO] [stdout]    --> src/lib.rs:164:50
[INFO] [stdout]     |
[INFO] [stdout] 164 |     pub extern "C" fn  add_file(&mut self, file: PakFileEntry) -> Result<&mut Pak<'a>, Box<dyn Error>> {
[INFO] [stdout]     |                                                  ^^^^^^^^^^^^ not FFI-safe
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider adding a `#[repr(C)]` or `#[repr(transparent)]` attribute to this struct
[INFO] [stdout]     = note: this struct has unspecified layout
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` fn uses type `Result<&mut Pak, Box<dyn std::error::Error>>`, which is not FFI-safe
[INFO] [stdout]    --> src/lib.rs:164:67
[INFO] [stdout]     |
[INFO] [stdout] 164 |     pub extern "C" fn  add_file(&mut self, file: PakFileEntry) -> Result<&mut Pak<'a>, Box<dyn Error>> {
[INFO] [stdout]     |                                                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider adding a `#[repr(C)]`, `#[repr(transparent)]`, or integer `#[repr(...)]` attribute to this enum
[INFO] [stdout]     = note: enum has no representation hint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` fn uses type `str`, which is not FFI-safe
[INFO] [stdout]    --> src/lib.rs:178:57
[INFO] [stdout]     |
[INFO] [stdout] 178 |     pub extern "C" fn  remove_file(&mut self, filename: &str) -> Result<(), Box<dyn Error>> {
[INFO] [stdout]     |                                                         ^^^^ not FFI-safe
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider using `*const u8` and a length instead
[INFO] [stdout]     = note: string slices have no C equivalent
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` fn uses type `Result<(), Box<dyn std::error::Error>>`, which is not FFI-safe
[INFO] [stdout]    --> src/lib.rs:178:66
[INFO] [stdout]     |
[INFO] [stdout] 178 |     pub extern "C" fn  remove_file(&mut self, filename: &str) -> Result<(), Box<dyn Error>> {
[INFO] [stdout]     |                                                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider adding a `#[repr(C)]`, `#[repr(transparent)]`, or integer `#[repr(...)]` attribute to this enum
[INFO] [stdout]     = note: enum has no representation hint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` fn uses type `str`, which is not FFI-safe
[INFO] [stdout]    --> src/lib.rs:191:46
[INFO] [stdout]     |
[INFO] [stdout] 191 |     pub extern "C" fn  save(&self, filename: &str) ->  Result<(), Box<dyn Error>> {
[INFO] [stdout]     |                                              ^^^^ not FFI-safe
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider using `*const u8` and a length instead
[INFO] [stdout]     = note: string slices have no C equivalent
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` fn uses type `Result<(), Box<dyn std::error::Error>>`, which is not FFI-safe
[INFO] [stdout]    --> src/lib.rs:191:56
[INFO] [stdout]     |
[INFO] [stdout] 191 |     pub extern "C" fn  save(&self, filename: &str) ->  Result<(), Box<dyn Error>> {
[INFO] [stdout]     |                                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider adding a `#[repr(C)]`, `#[repr(transparent)]`, or integer `#[repr(...)]` attribute to this enum
[INFO] [stdout]     = note: enum has no representation hint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 9 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` fn uses type `str`, which is not FFI-safe
[INFO] [stdout]    --> src/lib.rs:125:32
[INFO] [stdout]     |
[INFO] [stdout] 125 |     pub extern "C" fn new() -> Pak<'a> {
[INFO] [stdout]     |                                ^^^^^^^ not FFI-safe
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(improper_ctypes_definitions)]` on by default
[INFO] [stdout]     = help: consider using `*const u8` and a length instead
[INFO] [stdout]     = note: string slices have no C equivalent
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` fn uses type `str`, which is not FFI-safe
[INFO] [stdout]    --> src/lib.rs:134:39
[INFO] [stdout]     |
[INFO] [stdout] 134 |     pub extern "C" fn from_file(path: &'a str) -> Result<Pak, Box<dyn Error>> {
[INFO] [stdout]     |                                       ^^^^^^^ not FFI-safe
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider using `*const u8` and a length instead
[INFO] [stdout]     = note: string slices have no C equivalent
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` fn uses type `str`, which is not FFI-safe
[INFO] [stdout]    --> src/lib.rs:125:32
[INFO] [stdout]     |
[INFO] [stdout] 125 |     pub extern "C" fn new() -> Pak<'a> {
[INFO] [stdout]     |                                ^^^^^^^ not FFI-safe
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(improper_ctypes_definitions)]` on by default
[INFO] [stdout]     = help: consider using `*const u8` and a length instead
[INFO] [stdout]     = note: string slices have no C equivalent
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` fn uses type `str`, which is not FFI-safe
[INFO] [stdout]    --> src/lib.rs:134:39
[INFO] [stdout]     |
[INFO] [stdout] 134 |     pub extern "C" fn from_file(path: &'a str) -> Result<Pak, Box<dyn Error>> {
[INFO] [stdout]     |                                       ^^^^^^^ not FFI-safe
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider using `*const u8` and a length instead
[INFO] [stdout]     = note: string slices have no C equivalent
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` fn uses type `Result<Pak, Box<dyn std::error::Error>>`, which is not FFI-safe
[INFO] [stdout]    --> src/lib.rs:134:51
[INFO] [stdout]     |
[INFO] [stdout] 134 |     pub extern "C" fn from_file(path: &'a str) -> Result<Pak, Box<dyn Error>> {
[INFO] [stdout]     |                                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider adding a `#[repr(C)]`, `#[repr(transparent)]`, or integer `#[repr(...)]` attribute to this enum
[INFO] [stdout]     = note: enum has no representation hint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` fn uses type `String`, which is not FFI-safe
[INFO] [stdout]    --> src/lib.rs:164:50
[INFO] [stdout]     |
[INFO] [stdout] 164 |     pub extern "C" fn  add_file(&mut self, file: PakFileEntry) -> Result<&mut Pak<'a>, Box<dyn Error>> {
[INFO] [stdout]     |                                                  ^^^^^^^^^^^^ not FFI-safe
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider adding a `#[repr(C)]` or `#[repr(transparent)]` attribute to this struct
[INFO] [stdout]     = note: this struct has unspecified layout
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` fn uses type `Result<&mut Pak, Box<dyn std::error::Error>>`, which is not FFI-safe
[INFO] [stdout]    --> src/lib.rs:164:67
[INFO] [stdout]     |
[INFO] [stdout] 164 |     pub extern "C" fn  add_file(&mut self, file: PakFileEntry) -> Result<&mut Pak<'a>, Box<dyn Error>> {
[INFO] [stdout]     |                                                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider adding a `#[repr(C)]`, `#[repr(transparent)]`, or integer `#[repr(...)]` attribute to this enum
[INFO] [stdout]     = note: enum has no representation hint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` fn uses type `str`, which is not FFI-safe
[INFO] [stdout]    --> src/lib.rs:178:57
[INFO] [stdout]     |
[INFO] [stdout] 178 |     pub extern "C" fn  remove_file(&mut self, filename: &str) -> Result<(), Box<dyn Error>> {
[INFO] [stdout]     |                                                         ^^^^ not FFI-safe
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider using `*const u8` and a length instead
[INFO] [stdout]     = note: string slices have no C equivalent
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` fn uses type `Result<(), Box<dyn std::error::Error>>`, which is not FFI-safe
[INFO] [stdout]    --> src/lib.rs:178:66
[INFO] [stdout]     |
[INFO] [stdout] 178 |     pub extern "C" fn  remove_file(&mut self, filename: &str) -> Result<(), Box<dyn Error>> {
[INFO] [stdout]     |                                                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider adding a `#[repr(C)]`, `#[repr(transparent)]`, or integer `#[repr(...)]` attribute to this enum
[INFO] [stdout]     = note: enum has no representation hint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` fn uses type `str`, which is not FFI-safe
[INFO] [stdout]    --> src/lib.rs:191:46
[INFO] [stdout]     |
[INFO] [stdout] 191 |     pub extern "C" fn  save(&self, filename: &str) ->  Result<(), Box<dyn Error>> {
[INFO] [stdout]     |                                              ^^^^ not FFI-safe
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider using `*const u8` and a length instead
[INFO] [stdout]     = note: string slices have no C equivalent
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` fn uses type `Result<(), Box<dyn std::error::Error>>`, which is not FFI-safe
[INFO] [stdout]    --> src/lib.rs:191:56
[INFO] [stdout]     |
[INFO] [stdout] 191 |     pub extern "C" fn  save(&self, filename: &str) ->  Result<(), Box<dyn Error>> {
[INFO] [stdout]     |                                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider adding a `#[repr(C)]`, `#[repr(transparent)]`, or integer `#[repr(...)]` attribute to this enum
[INFO] [stdout]     = note: enum has no representation hint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` fn uses type `Result<Pak, Box<dyn std::error::Error>>`, which is not FFI-safe
[INFO] [stdout]    --> src/lib.rs:134:51
[INFO] [stdout]     |
[INFO] [stdout] 134 |     pub extern "C" fn from_file(path: &'a str) -> Result<Pak, Box<dyn Error>> {
[INFO] [stdout]     |                                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider adding a `#[repr(C)]`, `#[repr(transparent)]`, or integer `#[repr(...)]` attribute to this enum
[INFO] [stdout]     = note: enum has no representation hint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` fn uses type `String`, which is not FFI-safe
[INFO] [stdout]    --> src/lib.rs:164:50
[INFO] [stdout]     |
[INFO] [stdout] 164 |     pub extern "C" fn  add_file(&mut self, file: PakFileEntry) -> Result<&mut Pak<'a>, Box<dyn Error>> {
[INFO] [stdout]     |                                                  ^^^^^^^^^^^^ not FFI-safe
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider adding a `#[repr(C)]` or `#[repr(transparent)]` attribute to this struct
[INFO] [stdout]     = note: this struct has unspecified layout
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` fn uses type `Result<&mut Pak, Box<dyn std::error::Error>>`, which is not FFI-safe
[INFO] [stdout]    --> src/lib.rs:164:67
[INFO] [stdout]     |
[INFO] [stdout] 164 |     pub extern "C" fn  add_file(&mut self, file: PakFileEntry) -> Result<&mut Pak<'a>, Box<dyn Error>> {
[INFO] [stdout]     |                                                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider adding a `#[repr(C)]`, `#[repr(transparent)]`, or integer `#[repr(...)]` attribute to this enum
[INFO] [stdout]     = note: enum has no representation hint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` fn uses type `str`, which is not FFI-safe
[INFO] [stdout]    --> src/lib.rs:178:57
[INFO] [stdout]     |
[INFO] [stdout] 178 |     pub extern "C" fn  remove_file(&mut self, filename: &str) -> Result<(), Box<dyn Error>> {
[INFO] [stdout]     |                                                         ^^^^ not FFI-safe
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider using `*const u8` and a length instead
[INFO] [stdout]     = note: string slices have no C equivalent
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` fn uses type `Result<(), Box<dyn std::error::Error>>`, which is not FFI-safe
[INFO] [stdout]    --> src/lib.rs:178:66
[INFO] [stdout]     |
[INFO] [stdout] 178 |     pub extern "C" fn  remove_file(&mut self, filename: &str) -> Result<(), Box<dyn Error>> {
[INFO] [stdout]     |                                                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider adding a `#[repr(C)]`, `#[repr(transparent)]`, or integer `#[repr(...)]` attribute to this enum
[INFO] [stdout]     = note: enum has no representation hint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` fn uses type `str`, which is not FFI-safe
[INFO] [stdout]    --> src/lib.rs:191:46
[INFO] [stdout]     |
[INFO] [stdout] 191 |     pub extern "C" fn  save(&self, filename: &str) ->  Result<(), Box<dyn Error>> {
[INFO] [stdout]     |                                              ^^^^ not FFI-safe
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider using `*const u8` and a length instead
[INFO] [stdout]     = note: string slices have no C equivalent
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` fn uses type `Result<(), Box<dyn std::error::Error>>`, which is not FFI-safe
[INFO] [stdout]    --> src/lib.rs:191:56
[INFO] [stdout]     |
[INFO] [stdout] 191 |     pub extern "C" fn  save(&self, filename: &str) ->  Result<(), Box<dyn Error>> {
[INFO] [stdout]     |                                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider adding a `#[repr(C)]`, `#[repr(transparent)]`, or integer `#[repr(...)]` attribute to this enum
[INFO] [stdout]     = note: enum has no representation hint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 9 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 9 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` fn uses type `str`, which is not FFI-safe
[INFO] [stdout]    --> src/lib.rs:125:32
[INFO] [stdout]     |
[INFO] [stdout] 125 |     pub extern "C" fn new() -> Pak<'a> {
[INFO] [stdout]     |                                ^^^^^^^ not FFI-safe
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(improper_ctypes_definitions)]` on by default
[INFO] [stdout]     = help: consider using `*const u8` and a length instead
[INFO] [stdout]     = note: string slices have no C equivalent
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` fn uses type `str`, which is not FFI-safe
[INFO] [stdout]    --> src/lib.rs:134:39
[INFO] [stdout]     |
[INFO] [stdout] 134 |     pub extern "C" fn from_file(path: &'a str) -> Result<Pak, Box<dyn Error>> {
[INFO] [stdout]     |                                       ^^^^^^^ not FFI-safe
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider using `*const u8` and a length instead
[INFO] [stdout]     = note: string slices have no C equivalent
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` fn uses type `Result<Pak, Box<dyn std::error::Error>>`, which is not FFI-safe
[INFO] [stdout]    --> src/lib.rs:134:51
[INFO] [stdout]     |
[INFO] [stdout] 134 |     pub extern "C" fn from_file(path: &'a str) -> Result<Pak, Box<dyn Error>> {
[INFO] [stdout]     |                                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider adding a `#[repr(C)]`, `#[repr(transparent)]`, or integer `#[repr(...)]` attribute to this enum
[INFO] [stdout]     = note: enum has no representation hint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` fn uses type `String`, which is not FFI-safe
[INFO] [stdout]    --> src/lib.rs:164:50
[INFO] [stdout]     |
[INFO] [stdout] 164 |     pub extern "C" fn  add_file(&mut self, file: PakFileEntry) -> Result<&mut Pak<'a>, Box<dyn Error>> {
[INFO] [stdout]     |                                                  ^^^^^^^^^^^^ not FFI-safe
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider adding a `#[repr(C)]` or `#[repr(transparent)]` attribute to this struct
[INFO] [stdout]     = note: this struct has unspecified layout
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` fn uses type `Result<&mut Pak, Box<dyn std::error::Error>>`, which is not FFI-safe
[INFO] [stdout]    --> src/lib.rs:164:67
[INFO] [stdout]     |
[INFO] [stdout] 164 |     pub extern "C" fn  add_file(&mut self, file: PakFileEntry) -> Result<&mut Pak<'a>, Box<dyn Error>> {
[INFO] [stdout]     |                                                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider adding a `#[repr(C)]`, `#[repr(transparent)]`, or integer `#[repr(...)]` attribute to this enum
[INFO] [stdout]     = note: enum has no representation hint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` fn uses type `str`, which is not FFI-safe
[INFO] [stdout]    --> src/lib.rs:178:57
[INFO] [stdout]     |
[INFO] [stdout] 178 |     pub extern "C" fn  remove_file(&mut self, filename: &str) -> Result<(), Box<dyn Error>> {
[INFO] [stdout]     |                                                         ^^^^ not FFI-safe
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider using `*const u8` and a length instead
[INFO] [stdout]     = note: string slices have no C equivalent
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` fn uses type `Result<(), Box<dyn std::error::Error>>`, which is not FFI-safe
[INFO] [stdout]    --> src/lib.rs:178:66
[INFO] [stdout]     |
[INFO] [stdout] 178 |     pub extern "C" fn  remove_file(&mut self, filename: &str) -> Result<(), Box<dyn Error>> {
[INFO] [stdout]     |                                                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider adding a `#[repr(C)]`, `#[repr(transparent)]`, or integer `#[repr(...)]` attribute to this enum
[INFO] [stdout]     = note: enum has no representation hint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` fn uses type `str`, which is not FFI-safe
[INFO] [stdout]    --> src/lib.rs:191:46
[INFO] [stdout]     |
[INFO] [stdout] 191 |     pub extern "C" fn  save(&self, filename: &str) ->  Result<(), Box<dyn Error>> {
[INFO] [stdout]     |                                              ^^^^ not FFI-safe
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider using `*const u8` and a length instead
[INFO] [stdout]     = note: string slices have no C equivalent
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` fn uses type `Result<(), Box<dyn std::error::Error>>`, which is not FFI-safe
[INFO] [stdout]    --> src/lib.rs:191:56
[INFO] [stdout]     |
[INFO] [stdout] 191 |     pub extern "C" fn  save(&self, filename: &str) ->  Result<(), Box<dyn Error>> {
[INFO] [stdout]     |                                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider adding a `#[repr(C)]`, `#[repr(transparent)]`, or integer `#[repr(...)]` attribute to this enum
[INFO] [stdout]     = note: enum has no representation hint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 9 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: build failed
[INFO] running `Command { std: "docker" "inspect" "606298a2ea72a064863917b822b1a1002eac69e6f1e525bd4e8a7083501de93d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "606298a2ea72a064863917b822b1a1002eac69e6f1e525bd4e8a7083501de93d", kill_on_drop: false }`
[INFO] [stdout] 606298a2ea72a064863917b822b1a1002eac69e6f1e525bd4e8a7083501de93d
