[INFO] cloning repository https://github.com/freelife1191/crypto-rust [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/freelife1191/crypto-rust" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ffreelife1191%2Fcrypto-rust", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ffreelife1191%2Fcrypto-rust'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 9818a8fd66e5d1d1dddebc4b76e14b419c8586f5 [INFO] checking freelife1191/crypto-rust against try#a4980311fb7bb9e7893708e6bd3fbbfb2819fd3d for pr-145342-1 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ffreelife1191%2Fcrypto-rust" "/workspace/builds/worker-4-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc2/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/freelife1191/crypto-rust [INFO] finished tweaking git repo https://github.com/freelife1191/crypto-rust [INFO] tweaked toml for git repo https://github.com/freelife1191/crypto-rust written to /workspace/builds/worker-4-tc2/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/freelife1191/crypto-rust on toolchain a4980311fb7bb9e7893708e6bd3fbbfb2819fd3d [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+a4980311fb7bb9e7893708e6bd3fbbfb2819fd3d" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/freelife1191/crypto-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" "+a4980311fb7bb9e7893708e6bd3fbbfb2819fd3d" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+a4980311fb7bb9e7893708e6bd3fbbfb2819fd3d" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 4de85452f7478f1e3adca3c3073a15af690627c77635b3b755e721c66a29a29a [INFO] running `Command { std: "docker" "start" "-a" "4de85452f7478f1e3adca3c3073a15af690627c77635b3b755e721c66a29a29a", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "4de85452f7478f1e3adca3c3073a15af690627c77635b3b755e721c66a29a29a", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "4de85452f7478f1e3adca3c3073a15af690627c77635b3b755e721c66a29a29a", kill_on_drop: false }` [INFO] [stdout] 4de85452f7478f1e3adca3c3073a15af690627c77635b3b755e721c66a29a29a [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+a4980311fb7bb9e7893708e6bd3fbbfb2819fd3d" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 8155f085bb74a4d497e636065502ba585009db35af3e2bb6ec99f3dff15a65bb [INFO] running `Command { std: "docker" "start" "-a" "8155f085bb74a4d497e636065502ba585009db35af3e2bb6ec99f3dff15a65bb", kill_on_drop: false }` [INFO] [stderr] Compiling proc-macro2 v1.0.92 [INFO] [stderr] Compiling unicode-ident v1.0.14 [INFO] [stderr] Compiling libc v0.2.168 [INFO] [stderr] Checking cfg-if v1.0.0 [INFO] [stderr] Compiling autocfg v1.4.0 [INFO] [stderr] Checking smallvec v1.13.2 [INFO] [stderr] Checking bytes v1.9.0 [INFO] [stderr] Compiling typenum v1.17.0 [INFO] [stderr] Checking pin-project-lite v0.2.15 [INFO] [stderr] Compiling version_check v0.9.5 [INFO] [stderr] Compiling parking_lot_core v0.9.10 [INFO] [stderr] Checking scopeguard v1.2.0 [INFO] [stderr] Checking itoa v1.0.14 [INFO] [stderr] Checking futures-core v0.3.31 [INFO] [stderr] Checking fnv v1.0.7 [INFO] [stderr] Checking either v1.13.0 [INFO] [stderr] Checking pin-utils v0.1.0 [INFO] [stderr] Checking futures-task v0.3.31 [INFO] [stderr] Checking once_cell v1.20.2 [INFO] [stderr] Checking futures-sink v0.3.31 [INFO] [stderr] Compiling shlex v1.3.0 [INFO] [stderr] Checking powerfmt v0.2.0 [INFO] [stderr] Checking hashbrown v0.15.2 [INFO] [stderr] Checking futures-util v0.3.31 [INFO] [stderr] Checking time-core v0.1.2 [INFO] [stderr] Checking ryu v1.0.18 [INFO] [stderr] Checking log v0.4.22 [INFO] [stderr] Checking num-conv v0.1.0 [INFO] [stderr] Checking deranged v0.3.11 [INFO] [stderr] Checking vsimd v0.8.0 [INFO] [stderr] Checking outref v0.5.1 [INFO] [stderr] Checking equivalent v1.0.1 [INFO] [stderr] Compiling generic-array v0.14.7 [INFO] [stderr] Checking subtle v2.6.1 [INFO] [stderr] Checking untrusted v0.9.0 [INFO] [stderr] Compiling cc v1.2.3 [INFO] [stderr] Checking tracing-core v0.1.33 [INFO] [stderr] Compiling lock_api v0.4.12 [INFO] [stderr] Compiling num-traits v0.2.19 [INFO] [stderr] Checking spin v0.9.8 [INFO] [stderr] Checking stable_deref_trait v1.2.0 [INFO] [stderr] Compiling slab v0.4.9 [INFO] [stderr] Checking zeroize v1.8.1 [INFO] [stderr] Checking fastrand v2.3.0 [INFO] [stderr] Compiling semver v1.0.24 [INFO] [stderr] Compiling rustix v0.38.42 [INFO] [stderr] Checking cpufeatures v0.2.16 [INFO] [stderr] Checking percent-encoding v2.3.1 [INFO] [stderr] Compiling rustls v0.21.12 [INFO] [stderr] Compiling httparse v1.9.5 [INFO] [stderr] Checking http v0.2.12 [INFO] [stderr] Checking http v1.2.0 [INFO] [stderr] Compiling quote v1.0.37 [INFO] [stderr] Checking indexmap v2.7.0 [INFO] [stderr] Checking base64-simd v0.8.0 [INFO] [stderr] Checking bytes-utils v0.1.4 [INFO] [stderr] Compiling rustversion v1.0.18 [INFO] [stderr] Checking memchr v2.7.4 [INFO] [stderr] Compiling syn v2.0.90 [INFO] [stderr] Checking try-lock v0.2.5 [INFO] [stderr] Checking base64 v0.21.7 [INFO] [stderr] Checking http-body v0.4.6 [INFO] [stderr] Checking time v0.3.37 [INFO] [stderr] Checking want v0.3.1 [INFO] [stderr] Compiling rustc_version v0.4.1 [INFO] [stderr] Checking futures-channel v0.3.31 [INFO] [stderr] Checking openssl-probe v0.1.5 [INFO] [stderr] Checking tower-service v0.3.3 [INFO] [stderr] Checking rustls-pemfile v1.0.4 [INFO] [stderr] Checking httpdate v1.0.3 [INFO] [stderr] Checking writeable v0.5.5 [INFO] [stderr] Compiling heck v0.5.0 [INFO] [stderr] Checking litemap v0.7.4 [INFO] [stderr] Checking rustls-native-certs v0.6.3 [INFO] [stderr] Checking form_urlencoded v1.2.1 [INFO] [stderr] Checking http-body v1.0.1 [INFO] [stderr] Compiling ring v0.17.8 [INFO] [stderr] Compiling rustc-hash v1.1.0 [INFO] [stderr] Checking num-integer v0.1.46 [INFO] [stderr] Checking hex v0.4.3 [INFO] [stderr] Checking icu_locid_transform_data v1.5.0 [INFO] [stderr] Checking icu_properties_data v1.5.0 [INFO] [stderr] Compiling aws-types v1.3.3 [INFO] [stderr] Checking uuid v1.11.0 [INFO] [stderr] Compiling glob v0.3.1 [INFO] [stderr] Checking icu_normalizer_data v1.5.0 [INFO] [stderr] Compiling strsim v0.11.1 [INFO] [stderr] Checking bitflags v2.6.0 [INFO] [stderr] Checking http-body-util v0.1.2 [INFO] [stderr] Checking write16 v1.0.0 [INFO] [stderr] Checking utf8_iter v1.0.4 [INFO] [stderr] Checking regex-lite v0.1.6 [INFO] [stderr] Compiling zerocopy v0.8.13 [INFO] [stderr] Checking utf16_iter v1.0.5 [INFO] [stderr] Compiling regex-syntax v0.8.5 [INFO] [stderr] Compiling ident_case v1.0.1 [INFO] [stderr] Checking aho-corasick v1.1.3 [INFO] [stderr] Checking linux-raw-sys v0.4.14 [INFO] [stderr] Checking block-buffer v0.10.4 [INFO] [stderr] Checking getrandom v0.2.15 [INFO] [stderr] Checking signal-hook-registry v1.4.2 [INFO] [stderr] Checking mio v1.0.3 [INFO] [stderr] Checking socket2 v0.5.8 [INFO] [stderr] Checking parking_lot v0.12.3 [INFO] [stderr] Checking block-padding v0.3.3 [INFO] [stderr] Checking rand_core v0.6.4 [INFO] [stderr] Checking inout v0.1.3 [INFO] [stderr] Compiling clang-sys v1.8.1 [INFO] [stderr] Checking crypto-common v0.1.6 [INFO] [stderr] Checking byteorder v1.5.0 [INFO] [stderr] Compiling serde v1.0.216 [INFO] [stderr] Checking digest v0.10.7 [INFO] [stderr] Checking cipher v0.4.4 [INFO] [stderr] Checking universal-hash v0.5.1 [INFO] [stderr] Checking getrandom v0.3.0-rc.0 [INFO] [stderr] Compiling minimal-lexical v0.2.1 [INFO] [stderr] Checking opaque-debug v0.3.1 [INFO] [stderr] Checking hmac v0.12.1 [INFO] [stderr] Checking sha2 v0.10.8 [INFO] [stderr] Checking urlencoding v2.1.3 [INFO] [stderr] Compiling utf8parse v0.2.2 [INFO] [stderr] Checking xmlparser v0.13.6 [INFO] [stderr] Compiling anstyle-parse v0.2.6 [INFO] [stderr] Compiling nom v7.1.3 [INFO] [stderr] Compiling libloading v0.8.6 [INFO] [stderr] Checking polyval v0.6.2 [INFO] [stderr] Compiling anstyle v1.0.10 [INFO] [stderr] Compiling is_terminal_polyfill v1.70.1 [INFO] [stderr] Checking aws-smithy-xml v0.60.9 [INFO] [stderr] Compiling colorchoice v1.0.3 [INFO] [stderr] Compiling fixedbitset v0.4.2 [INFO] [stderr] Checking anstyle-query v1.1.2 [INFO] [stderr] Compiling home v0.5.9 [INFO] [stderr] Checking unicode-width v0.1.14 [INFO] [stderr] Compiling pulldown-cmark v0.9.6 [INFO] [stderr] Compiling thiserror v1.0.69 [INFO] [stderr] Compiling serde_json v1.0.133 [INFO] [stderr] Compiling bindgen v0.71.1 [INFO] [stderr] Checking anstream v0.6.18 [INFO] [stderr] Checking petgraph v0.6.5 [INFO] [stderr] Checking getopts v0.2.21 [INFO] [stderr] Checking ghash v0.5.1 [INFO] [stderr] Checking regex-automata v0.4.9 [INFO] [stderr] Checking aes v0.8.4 [INFO] [stderr] Checking ctr v0.9.2 [INFO] [stderr] Compiling itertools v0.13.0 [INFO] [stderr] Checking rand_core v0.9.0-beta.1 [INFO] [stderr] Checking aead v0.5.2 [INFO] [stderr] Checking hybrid-array v0.2.3 [INFO] [stderr] Checking unicase v2.8.0 [INFO] [stderr] Compiling rustc-hash v2.1.0 [INFO] [stderr] Compiling smol_str v0.3.2 [INFO] [stderr] Compiling humantime v2.1.0 [INFO] [stderr] Checking base64 v0.22.1 [INFO] [stderr] Compiling same-file v1.0.6 [INFO] [stderr] Checking which v4.4.2 [INFO] [stderr] Compiling walkdir v2.5.0 [INFO] [stderr] Compiling cexpr v0.6.0 [INFO] [stderr] Checking block-padding v0.4.0-rc.2 [INFO] [stderr] Checking tempfile v3.14.0 [INFO] [stderr] Checking aes-gcm v0.10.3 [INFO] [stderr] Checking sct v0.7.1 [INFO] [stderr] Checking rustls-webpki v0.101.7 [INFO] [stderr] Checking cbc v0.1.2 [INFO] [stderr] Checking generic-array v1.1.1 [INFO] [stderr] Checking md5 v0.7.0 [INFO] [stderr] Checking jni-sys v0.3.0 [INFO] [stderr] Checking regex v1.11.1 [INFO] [stderr] Checking env_filter v0.1.2 [INFO] [stderr] Checking env_logger v0.11.5 [INFO] [stderr] Compiling synstructure v0.13.1 [INFO] [stderr] Compiling darling_core v0.20.10 [INFO] [stderr] Compiling tokio-macros v2.4.0 [INFO] [stderr] Compiling tracing-attributes v0.1.28 [INFO] [stderr] Compiling zerovec-derive v0.10.3 [INFO] [stderr] Compiling displaydoc v0.2.5 [INFO] [stderr] Compiling strum_macros v0.26.4 [INFO] [stderr] Compiling icu_provider_macros v1.5.0 [INFO] [stderr] Compiling flapigen v0.8.0 (/opt/rustwide/workdir/flapigen) [INFO] [stderr] Compiling zerocopy-derive v0.7.35 [INFO] [stderr] Compiling serde_derive v1.0.216 [INFO] [stderr] Compiling zerofrom-derive v0.1.5 [INFO] [stderr] Compiling yoke-derive v0.7.5 [INFO] [stderr] Compiling thiserror-impl v1.0.69 [INFO] [stderr] Checking zerocopy v0.7.35 [INFO] [stderr] Checking tokio v1.42.0 [INFO] [stderr] Checking tracing v0.1.41 [INFO] [stderr] Checking ppv-lite86 v0.2.20 [INFO] [stderr] Compiling darling_macro v0.20.10 [INFO] [stderr] Compiling darling v0.20.10 [INFO] [stderr] Checking zerofrom v0.1.5 [INFO] [stderr] Compiling serde_with_macros v3.11.0 [INFO] [stderr] Checking yoke v0.7.5 [INFO] [stderr] Checking rand_chacha v0.9.0-beta.1 [INFO] [stderr] Checking zerovec v0.10.4 [INFO] [stderr] Compiling strum v0.26.3 [INFO] [stderr] Checking rand v0.9.0-beta.1 [INFO] [stderr] Checking tinystr v0.7.6 [INFO] [stderr] Checking icu_collections v1.5.0 [INFO] [stderr] Checking icu_locid v1.5.0 [INFO] [stderr] Checking icu_provider v1.5.0 [INFO] [stderr] Checking icu_locid_transform v1.5.0 [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> flapigen/src/typemap/ast.rs:360:9 [INFO] [stdout] | [INFO] [stdout] 360 | &self, [INFO] [stdout] | ^^^^^ the lifetime is elided here [INFO] [stdout] ... [INFO] [stdout] 364 | ) -> Option [INFO] [stdout] | ---------------- the same lifetime is hidden here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 364 | ) -> Option> [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> flapigen/src/typemap/ast.rs:914:41 [INFO] [stdout] | [INFO] [stdout] 914 | pub(crate) fn get_trait_bounds(generic: &syn::Generics) -> GenericTraitBoundVec { [INFO] [stdout] | ^^^^^^^^^^^^^^ -------------------- the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 914 | pub(crate) fn get_trait_bounds(generic: &syn::Generics) -> GenericTraitBoundVec<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> flapigen/src/typemap/ast/subst_map.rs:33:28 [INFO] [stdout] | [INFO] [stdout] 33 | pub(crate) fn as_slice(&self) -> &[TyParamsSubstItem] { [INFO] [stdout] | ^^^^^ -------------------- [INFO] [stdout] | | | | [INFO] [stdout] | | | the same lifetime is hidden here [INFO] [stdout] | | the same lifetime is elided here [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 33 | pub(crate) fn as_slice(&self) -> &[TyParamsSubstItem<'_>] { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> flapigen/src/typemap/typemap_macro.rs:196:9 [INFO] [stdout] | [INFO] [stdout] 196 | &self, [INFO] [stdout] | ^^^^^ the lifetime is elided here [INFO] [stdout] ... [INFO] [stdout] 200 | ) -> Option [INFO] [stdout] | ---------------- the same lifetime is hidden here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 200 | ) -> Option> [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Checking icu_properties v1.5.1 [INFO] [stderr] Checking serde_with v3.11.0 [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> flapigen/src/typemap/ast.rs:360:9 [INFO] [stdout] | [INFO] [stdout] 360 | &self, [INFO] [stdout] | ^^^^^ the lifetime is elided here [INFO] [stdout] ... [INFO] [stdout] 364 | ) -> Option [INFO] [stdout] | ---------------- the same lifetime is hidden here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 364 | ) -> Option> [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> flapigen/src/typemap/ast.rs:914:41 [INFO] [stdout] | [INFO] [stdout] 914 | pub(crate) fn get_trait_bounds(generic: &syn::Generics) -> GenericTraitBoundVec { [INFO] [stdout] | ^^^^^^^^^^^^^^ -------------------- the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 914 | pub(crate) fn get_trait_bounds(generic: &syn::Generics) -> GenericTraitBoundVec<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> flapigen/src/typemap/ast/subst_map.rs:33:28 [INFO] [stdout] | [INFO] [stdout] 33 | pub(crate) fn as_slice(&self) -> &[TyParamsSubstItem] { [INFO] [stdout] | ^^^^^ -------------------- [INFO] [stdout] | | | | [INFO] [stdout] | | | the same lifetime is hidden here [INFO] [stdout] | | the same lifetime is elided here [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 33 | pub(crate) fn as_slice(&self) -> &[TyParamsSubstItem<'_>] { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> flapigen/src/typemap/typemap_macro.rs:196:9 [INFO] [stdout] | [INFO] [stdout] 196 | &self, [INFO] [stdout] | ^^^^^ the lifetime is elided here [INFO] [stdout] ... [INFO] [stdout] 200 | ) -> Option [INFO] [stdout] | ---------------- the same lifetime is hidden here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 200 | ) -> Option> [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> flapigen/src/typemap/ast.rs:360:9 [INFO] [stdout] | [INFO] [stdout] 360 | &self, [INFO] [stdout] | ^^^^^ the lifetime is elided here [INFO] [stdout] ... [INFO] [stdout] 364 | ) -> Option [INFO] [stdout] | ---------------- the same lifetime is hidden here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 364 | ) -> Option> [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> flapigen/src/typemap/ast.rs:914:41 [INFO] [stdout] | [INFO] [stdout] 914 | pub(crate) fn get_trait_bounds(generic: &syn::Generics) -> GenericTraitBoundVec { [INFO] [stdout] | ^^^^^^^^^^^^^^ -------------------- the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 914 | pub(crate) fn get_trait_bounds(generic: &syn::Generics) -> GenericTraitBoundVec<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> flapigen/src/typemap/ast/subst_map.rs:33:28 [INFO] [stdout] | [INFO] [stdout] 33 | pub(crate) fn as_slice(&self) -> &[TyParamsSubstItem] { [INFO] [stdout] | ^^^^^ -------------------- [INFO] [stdout] | | | | [INFO] [stdout] | | | the same lifetime is hidden here [INFO] [stdout] | | the same lifetime is elided here [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 33 | pub(crate) fn as_slice(&self) -> &[TyParamsSubstItem<'_>] { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> flapigen/src/typemap/typemap_macro.rs:196:9 [INFO] [stdout] | [INFO] [stdout] 196 | &self, [INFO] [stdout] | ^^^^^ the lifetime is elided here [INFO] [stdout] ... [INFO] [stdout] 200 | ) -> Option [INFO] [stdout] | ---------------- the same lifetime is hidden here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 200 | ) -> Option> [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> /opt/rustwide/target/debug/build/flapigen-e2b184cbc08e4619/out/jni-include.rs:1:5269 [INFO] [stdout] | [INFO] [stdout] 1 | ... : Vec :: new () , } } fn get_jni_env (& self) -> JniEnvHolder { assert ! (! self . java_vm . is_null ()) ; let mut env : * mut JNIEnv... [INFO] [stdout] | ^^^^^^ ------------ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 1 | macro_rules ! foreign_typemap { ($ ($ tree : tt) *) => { } ; } # [doc = "swig_ replace"] # [doc = "swig_ replace"] # [doc = "swig_ replace"] # [doc = "swig_ replace"] mod swig_foreign_types_map { } # [allow (dead_code)] mod internal_aliases { use super :: * ; pub type JStringOptStr = jstring ; pub type JInteger = jobject ; pub type JByte = jobject ; pub type JShort = jobject ; pub type JFloat = jobject ; pub type JDouble = jobject ; pub type JLong = jobject ; # [repr (transparent)] pub struct JForeignObjectsArray < T : SwigForeignClass > { pub (crate) inner : jobjectArray , pub (crate) _marker : :: std :: marker :: PhantomData < T > , } pub type JStringPath = jstring ; pub type JStringObjectsArray = jobjectArray ; } # [doc = " Default JNI_VERSION"] const SWIG_JNI_VERSION : jint = JNI_VERSION_1_6 as jint ; # [doc = " Marker for what to cache in JNI_OnLoad"] # [allow (unused_macros)] macro_rules ! swig_jni_find_class { ($ id : ident , $ path : expr) => { unsafe { $ id } } ; ($ id : ident , $ path : expr ,) => { unsafe { $ id } } ; } # [allow (unused_macros)] macro_rules ! swig_jni_get_method_id { ($ global_id : ident , $ class_id : ident , $ name : expr , $ sig : expr) => { unsafe { $ global_id } } ; ($ global_id : ident , $ class_id : ident , $ name : expr , $ sig : expr ,) => { unsafe { $ global_id } } ; } # [allow (unused_macros)] macro_rules ! swig_jni_get_static_method_id { ($ global_id : ident , $ class_id : ident , $ name : expr , $ sig : expr) => { unsafe { $ global_id } } ; ($ global_id : ident , $ class_id : ident , $ name : expr , $ sig : expr ,) => { unsafe { $ global_id } } ; } # [allow (unused_macros)] macro_rules ! swig_jni_get_field_id { ($ global_id : ident , $ class_id : ident , $ name : expr , $ sig : expr) => { unsafe { $ global_id } } ; ($ global_id : ident , $ class_id : ident , $ name : expr , $ sig : expr ,) => { unsafe { $ global_id } } ; } # [allow (unused_macros)] macro_rules ! swig_jni_get_static_field_id { ($ global_id : ident , $ class_id : ident , $ name : expr , $ sig : expr) => { unsafe { $ global_id } } ; ($ global_id : ident , $ class_id : ident , $ name : expr , $ sig : expr ,) => { unsafe { $ global_id } } ; } # [allow (dead_code)] # [doc = "swig_ replace"] trait SwigInto < T > { fn swig_into (self , env : * mut JNIEnv) -> T ; } # [allow (dead_code)] # [doc = "swig_ replace"] trait SwigFrom < T > { fn swig_from (_ : T , env : * mut JNIEnv) -> Self ; } # [allow (unused_macros)] macro_rules ! swig_c_str { ($ lit : expr) => { concat ! ($ lit , "\0") . as_ptr () as * const :: std :: os :: raw :: c_char } ; } # [allow (unused_macros)] macro_rules ! swig_assert_eq_size { ($ x : ty , $ ($ xs : ty) ,+ $ (,) *) => { $ (let _ = :: std :: mem :: transmute ::<$ x , $ xs >;) + } ; } # [cfg (target_pointer_width = "32")] pub unsafe fn jlong_to_pointer < T > (val : jlong) -> * mut T { (val as u32) as * mut T } # [cfg (target_pointer_width = "64")] pub unsafe fn jlong_to_pointer < T > (val : jlong) -> * mut T { val as * mut T } foreign_typemap ! ((r_type) () ; (f_type) "void" ;) ; foreign_typemap ! ((r_type) jbyte ; (f_type) "byte" ;) ; foreign_typemap ! ((r_type) jshort ; (f_type) "short" ;) ; foreign_typemap ! ((r_type) jint ; (f_type) "int" ;) ; foreign_typemap ! ((r_type) jlong ; (f_type) "long" ;) ; foreign_typemap ! ((r_type) jfloat ; (f_type) "float" ;) ; foreign_typemap ! ((r_type) jdouble ; (f_type) "double" ;) ; foreign_typemap ! ((r_type) jstring ; (f_type , option = "NoNullAnnotations") "String" ; (f_type , option = "NullAnnotations") "@NonNull String" ;) ; # [allow (dead_code)] pub trait SwigForeignClass { type PointedType ; fn jni_class () -> jclass ; fn jni_class_pointer_field () -> jfieldID ; fn box_object (x : Self) -> jlong ; fn unbox_object (x : jlong) -> Self ; fn to_pointer (x : jlong) -> :: std :: ptr :: NonNull < Self :: PointedType > ; } # [allow (dead_code)] pub trait SwigForeignCLikeEnum { fn as_jint (& self) -> jint ; # [doc = " # Panics"] # [doc = " Panics on error"] fn from_jint (_ : jint) -> Self ; } # [allow (dead_code)] struct JavaCallback { java_vm : * mut JavaVM , this : jobject , methods : Vec < jmethodID > , } # [doc = " According to JNI spec it should be safe to"] # [doc = " pass pointer to JavaVm and jobject (global) across threads"] unsafe impl Send for JavaCallback { } # [allow (dead_code)] struct JniEnvHolder < 'a > { env : Option < * mut JNIEnv > , callback : & 'a JavaCallback , need_detach : bool , } # [allow (dead_code)] impl < 'a > Drop for JniEnvHolder < 'a > { fn drop (& mut self) { if self . need_detach { let res = unsafe { (* * self . callback . java_vm) . DetachCurrentThread . unwrap () (self . callback . java_vm) } ; if res != 0 { log :: error ! ("JniEnvHolder: DetachCurrentThread failed: {}" , res) ; } } } } # [allow (dead_code)] impl JavaCallback { fn new (obj : jobject , env : * mut JNIEnv) -> JavaCallback { let mut java_vm : * mut JavaVM = :: std :: ptr :: null_mut () ; let ret = unsafe { (* * env) . GetJavaVM . unwrap () (env , & mut java_vm) } ; assert_eq ! (0 , ret , "GetJavaVm failed") ; let global_obj = unsafe { (* * env) . NewGlobalRef . unwrap () (env , obj) } ; assert ! (! global_obj . is_null ()) ; JavaCallback { java_vm , this : global_obj , methods : Vec :: new () , } } fn get_jni_env (& self) -> JniEnvHolder<'_> { assert ! (! self . java_vm . is_null ()) ; let mut env : * mut JNIEnv = :: std :: ptr :: null_mut () ; let res = unsafe { (* * self . java_vm) . GetEnv . unwrap () (self . java_vm , (& mut env) as * mut * mut JNIEnv as * mut * mut :: std :: os :: raw :: c_void , SWIG_JNI_VERSION ,) } ; if res == (JNI_OK as jint) { return JniEnvHolder { env : Some (env) , callback : self , need_detach : false , } ; } if res != (JNI_EDETACHED as jint) { panic ! ("get_jni_env: GetEnv return error `{}`" , res) ; } trait ConvertPtr < T > { fn convert_ptr (self) -> T ; } impl ConvertPtr < * mut * mut :: std :: os :: raw :: c_void > for * mut * mut JNIEnv { fn convert_ptr (self) -> * mut * mut :: std :: os :: raw :: c_void { self as * mut * mut :: std :: os :: raw :: c_void } } impl ConvertPtr < * mut * mut JNIEnv > for * mut * mut JNIEnv { fn convert_ptr (self) -> * mut * mut JNIEnv { self } } let res = unsafe { (* * self . java_vm) . AttachCurrentThread . unwrap () (self . java_vm , (& mut env as * mut * mut JNIEnv) . convert_ptr () , :: std :: ptr :: null_mut () ,) } ; if res != 0 { log :: error ! ("JavaCallback::get_jnienv: AttachCurrentThread failed: {}" , res) ; JniEnvHolder { env : None , callback : self , need_detach : false , } } else { assert ! (! env . is_null ()) ; JniEnvHolder { env : Some (env) , callback : self , need_detach : true , } } } } # [allow (dead_code)] impl Drop for JavaCallback { fn drop (& mut self) { let env = self . get_jni_env () ; if let Some (env) = env . env { assert ! (! env . is_null ()) ; unsafe { (* * env) . DeleteGlobalRef . unwrap () (env , self . this) } ; } else { log :: error ! ("JavaCallback::drop failed, can not get JNIEnv") ; } } } # [allow (dead_code)] fn jni_throw (env : * mut JNIEnv , ex_class : jclass , message : & str) { let c_message = :: std :: ffi :: CString :: new (message) . unwrap () ; let res = unsafe { (* * env) . ThrowNew . unwrap () (env , ex_class , c_message . as_ptr ()) } ; if res != 0 { log :: error ! ("JNI ThrowNew({}) failed for class {:?} failed" , message , ex_class) ; } } # [allow (dead_code)] fn jni_throw_exception (env : * mut JNIEnv , message : & str) { let exception_class = swig_jni_find_class ! (JAVA_LANG_EXCEPTION , "java/lang/Exception") ; jni_throw (env , exception_class , message) } # [allow (dead_code)] fn object_to_jobject < T : SwigForeignClass > (env : * mut JNIEnv , obj : T) -> jobject { let jcls = < T > :: jni_class () ; assert ! (! jcls . is_null ()) ; let field_id = < T > :: jni_class_pointer_field () ; assert ! (! field_id . is_null ()) ; let jobj : jobject = unsafe { (* * env) . AllocObject . unwrap () (env , jcls) } ; assert ! (! jobj . is_null () , "object_to_jobject: AllocObject failed") ; let ret : jlong = < T > :: box_object (obj) ; unsafe { (* * env) . SetLongField . unwrap () (env , jobj , field_id , ret) ; if (* * env) . ExceptionCheck . unwrap () (env) != 0 { panic ! ("object_to_jobject: Can not set mNativeObj field: catch exception") ; } } jobj } foreign_typemap ! (($ p : r_type) < T : SwigForeignClass > Vec < T > => internal_aliases :: JForeignObjectsArray < T > { $ out = vec_of_objects_to_jobject_array (env , $ p) ; } ; ($ p : f_type , option = "NoNullAnnotations") => "swig_f_type!(T) []" ; ($ p : f_type , option = "NullAnnotations") => "@NonNull swig_f_type!(T, NoNullAnnotations) []" ;) ; # [allow (dead_code)] fn jobject_array_to_vec_of_objects < T : SwigForeignClass + Clone > (env : * mut JNIEnv , arr : internal_aliases :: JForeignObjectsArray < T > ,) -> Vec < T > { let field_id = < T > :: jni_class_pointer_field () ; assert ! (! field_id . is_null ()) ; let length = unsafe { (* * env) . GetArrayLength . unwrap () (env , arr . inner) } ; let len = < usize as :: std :: convert :: TryFrom < jsize > > :: try_from (length) . expect ("invalid jsize, in jsize => usize conversion") ; let mut result = Vec :: with_capacity (len) ; for i in 0 .. length { let native : & mut T = unsafe { let obj = (* * env) . GetObjectArrayElement . unwrap () (env , arr . inner , i) ; if (* * env) . ExceptionCheck . unwrap () (env) != 0 { panic ! ("Failed to retrieve element {} from this `jobjectArray'" , i) ; } let ptr = (* * env) . GetLongField . unwrap () (env , obj , field_id) ; let native = (jlong_to_pointer (ptr) as * mut T) . as_mut () . unwrap () ; (* * env) . DeleteLocalRef . unwrap () (env , obj) ; native } ; result . push (native . clone ()) ; } result } foreign_typemap ! (($ p : r_type) < T : SwigForeignClass + Clone > Vec < T > <= internal_aliases :: JForeignObjectsArray < T > { $ out = jobject_array_to_vec_of_objects (env , $ p) ; } ; ($ p : f_type , option = "NoNullAnnotations") <= "swig_f_type!(T) []" ; ($ p : f_type , option = "NullAnnotations") <= "@NonNull swig_f_type!(T, NoNullAnnotations) []" ;) ; # [allow (dead_code)] fn vec_of_objects_to_jobject_array < T : SwigForeignClass > (env : * mut JNIEnv , mut arr : Vec < T > ,) -> internal_aliases :: JForeignObjectsArray < T > { let jcls : jclass = < T > :: jni_class () ; assert ! (! jcls . is_null ()) ; let arr_len = < jsize as :: std :: convert :: TryFrom < usize > > :: try_from (arr . len ()) . expect ("invalid usize, in usize => to jsize conversion") ; let obj_arr : jobjectArray = unsafe { (* * env) . NewObjectArray . unwrap () (env , arr_len , jcls , :: std :: ptr :: null_mut ()) } ; assert ! (! obj_arr . is_null ()) ; let field_id = < T > :: jni_class_pointer_field () ; assert ! (! field_id . is_null ()) ; for (i , r_obj) in arr . drain (..) . enumerate () { let jobj : jobject = unsafe { (* * env) . AllocObject . unwrap () (env , jcls) } ; assert ! (! jobj . is_null ()) ; let r_obj : jlong = < T > :: box_object (r_obj) ; unsafe { (* * env) . SetLongField . unwrap () (env , jobj , field_id , r_obj) ; if (* * env) . ExceptionCheck . unwrap () (env) != 0 { panic ! ("Can not mNativeObj field: catch exception") ; } (* * env) . SetObjectArrayElement . unwrap () (env , obj_arr , i as jsize , jobj) ; if (* * env) . ExceptionCheck . unwrap () (env) != 0 { panic ! ("SetObjectArrayElement({}) failed" , i) ; } (* * env) . DeleteLocalRef . unwrap () (env , jobj) ; } } internal_aliases :: JForeignObjectsArray { inner : obj_arr , _marker : :: std :: marker :: PhantomData , } } # [allow (dead_code)] trait JniInvalidValue { fn jni_invalid_value () -> Self ; } impl < T > JniInvalidValue for * const T { fn jni_invalid_value () -> Self { :: std :: ptr :: null () } } impl < T > JniInvalidValue for * mut T { fn jni_invalid_value () -> Self { :: std :: ptr :: null_mut () } } impl JniInvalidValue for () { fn jni_invalid_value () { } } impl < T : SwigForeignClass > JniInvalidValue for internal_aliases :: JForeignObjectsArray < T > { fn jni_invalid_value () -> Self { Self { inner : :: std :: ptr :: null_mut () , _marker : :: std :: marker :: PhantomData , } } } macro_rules ! impl_jni_jni_invalid_value { ($ ($ type : ty) *) => ($ (impl JniInvalidValue for $ type { fn jni_invalid_value () -> Self { <$ type >:: default () } }) *) } impl_jni_jni_invalid_value ! { jbyte jshort jint jlong jfloat jdouble jboolean } foreign_typemap ! (($ p : r_type) < T > Result < T , & str > => swig_i_type ! (T) { $ out = match $ p { Ok (x) => { swig_from_rust_to_i_type ! (T , x , ret) ret } Err (msg) => { jni_throw_exception (env , msg) ; return < swig_i_type ! (T) >:: jni_invalid_value () ; } } ; } ; ($ p : f_type , unique_prefix = "/*Result*/") => "/*Result*/swig_f_type!(T)" "swig_foreign_from_i_type!(T, $p)" ;) ; foreign_typemap ! (($ p : r_type) < T > Result < T , String > => swig_i_type ! (T) { $ out = match $ p { Ok (x) => { swig_from_rust_to_i_type ! (T , x , ret) ret } Err (msg) => { jni_throw_exception (env , & msg) ; return < swig_i_type ! (T) >:: jni_invalid_value () ; } } ; } ; ($ p : f_type , unique_prefix = "/*Result*/") => "/*Result*/swig_f_type!(T)" "swig_foreign_from_i_type!(T, $p)" ;) ; foreign_typemap ! (($ p : r_type) bool => jboolean { $ out = if $ p { 1 as jboolean } else { 0 as jboolean } ; } ; ($ p : f_type) => "boolean" ; ($ p : r_type) bool <= jboolean { $ out = $ p != 0 ; } ; ($ p : f_type) <= "boolean" ;) ; foreign_typemap ! (($ p : r_type) SystemTime => jlong { let since_unix_epoch = $ p . duration_since (:: std :: time :: UNIX_EPOCH) . expect ("SystemTime to Unix time conv. error") ; $ out = < i64 as :: std :: convert :: TryFrom < u64 >>:: try_from (since_unix_epoch . as_secs () * 1_000 + u64 :: from (since_unix_epoch . subsec_millis ()) ,) . expect ("SystemTime: milleseconds u64 to i64 convert error") ; } ; ($ p : f_type , option = "NoNullAnnotations") => "java.util.Date" "$out = new java.util.Date($p);" ; ($ p : f_type , option = "NullAnnotations") => "@NonNull java.util.Date" "$out = new java.util.Date($p);" ;) ; foreign_typemap ! (($ p : r_type) jbyte => i8 { $ out = $ p ; } ; ($ p : r_type) jbyte <= i8 { $ out = $ p ; } ;) ; foreign_typemap ! (($ p : r_type) u8 => jshort { $ out = jshort :: from ($ p) ; } ;) ; foreign_typemap ! (($ p : r_type) u8 <= jshort { $ out = < u8 as :: std :: convert :: TryFrom < jshort >>:: try_from ($ p) . expect ("invalid jshort, in jshort => u8 conversion") ; } ;) ; foreign_typemap ! (($ p : r_type) i16 => jshort { $ out = $ p ; } ; ($ p : r_type) i16 <= jshort { $ out = $ p ; } ;) ; foreign_typemap ! (($ p : r_type) u16 => jint { $ out = jint :: from ($ p) ; } ; ($ p : r_type) u16 <= jint { $ out = < u16 as :: std :: convert :: TryFrom < jint >>:: try_from ($ p) . expect ("invalid jint, in jint => u16 conversion") ; } ;) ; foreign_typemap ! (($ p : r_type) jint => i32 { $ out = $ p ; } ; ($ p : r_type) jint <= i32 { $ out = $ p ; } ;) ; foreign_typemap ! (($ p : r_type) u32 => jlong { $ out = jlong :: from ($ p) ; } ; ($ p : r_type) u32 <= jlong { $ out = < u32 as :: std :: convert :: TryFrom < jlong >>:: try_from ($ p) . expect ("invalid jlong, in jlong => u32 conversion") ; } ;) ; foreign_typemap ! (($ p : r_type) i64 => jlong { $ out = $ p ; } ; ($ p : r_type) i64 <= jlong { $ out = $ p ; } ;) ; foreign_typemap ! (($ p : r_type) u64 => jlong { $ out = < jlong as :: std :: convert :: TryFrom < u64 >>:: try_from ($ p) . expect ("invalid u64, in u64 => jlong conversion") ; } ; ($ p : r_type) u64 <= jlong { $ out = < u64 as :: std :: convert :: TryFrom < jlong >>:: try_from ($ p) . expect ("invalid jlong, in jlong => u64 conversion") ; } ;) ; # [allow (dead_code)] pub fn u64_to_jlong_checked (x : u64) -> jlong { < jlong as :: std :: convert :: TryFrom < u64 > > :: try_from (x) . expect ("invalid u64, in u64 => jlong conversion") } foreign_typemap ! (($ p : r_type) f32 => jfloat { $ out = $ p ; } ; ($ p : r_type) f32 <= jfloat { $ out = $ p ; } ;) ; foreign_typemap ! (($ p : r_type) f64 => jdouble { $ out = $ p ; } ; ($ p : r_type) f64 <= jdouble { $ out = $ p ; } ;) ; foreign_typemap ! (($ p : r_type) & str => jstring { $ out = from_std_str_jstring ($ p , env) ; } ;) ; foreign_typemap ! (($ p : r_type) String <= jstring { $ out = from_jstring_std_string ($ p , env) ; } ;) ; foreign_typemap ! (($ p : r_type) String => & str { $ out = $ p . as_str () ; } ;) ; foreign_typemap ! (($ p : r_type) String => jstring { $ out = from_std_str_jstring (&$ p , env) ; } ;) ; # [allow (dead_code)] struct JavaUTF16Slice { string : jstring , chars : * const :: std :: os :: raw :: c_ushort , len : usize , env : * mut JNIEnv , } # [allow (dead_code)] impl JavaUTF16Slice { pub fn new (env : * mut JNIEnv , js : jstring) -> JavaUTF16Slice { let len = unsafe { (* * env) . GetStringLength . unwrap () (env , js) } ; let chars = unsafe { (* * env) . GetStringChars . unwrap () (env , js , :: std :: ptr :: null_mut ()) } ; JavaUTF16Slice { string : js , chars , len : len as usize , env , } } pub fn as_slice (& self) -> & [u16] { unsafe { :: std :: slice :: from_raw_parts (self . chars , self . len) } } pub fn into_string (self) -> String { String :: from_utf16 (self . as_slice ()) . unwrap () } } # [allow (dead_code)] impl Drop for JavaUTF16Slice { fn drop (& mut self) { unsafe { (* * self . env) . ReleaseStringChars . unwrap () (self . env , self . string , self . chars) ; } } } # [allow (dead_code)] fn from_jstring_std_string (js : jstring , env : * mut JNIEnv) -> String { if ! js . is_null () { JavaUTF16Slice :: new (env , js) . into_string () } else { "" . to_string () } } # [allow (dead_code)] fn from_std_str_jstring (x : & str , env : * mut JNIEnv) -> jstring { let x : Vec < :: std :: os :: raw :: c_ushort > = x . encode_utf16 () . collect () ; unsafe { (* * env) . NewString . unwrap () (env , x . as_ptr () , x . len () as i32) } } foreign_typemap ! (($ p : r_type) usize <= jlong { $ out = < usize as :: std :: convert :: TryFrom < jlong >>:: try_from ($ p) . expect ("invalid jlong, in jlong => usize conversion") ; } ;) ; foreign_typemap ! (($ p : r_type) & Path <= internal_aliases :: JStringPath { let jstr = from_jstring_std_string ($ p , env) ; $ out = Path :: new (jstr . as_str ()) ; } ; ($ p : f_type , option = "NoNullAnnotations" , unique_prefix = "/*Path*/") <= "/*Path*/String" ; ($ p : f_type , option = "NullAnnotations" , unique_prefix = "/*Path*/") <= "/*Path*/@NonNull String" ;) ; # [allow (dead_code)] fn vec_string_to_jobject_array (mut arr : Vec < String > , env : * mut JNIEnv) -> jobjectArray { let jcls : jclass = swig_jni_find_class ! (JAVA_LANG_STRING , "java/lang/String") ; assert ! (! jcls . is_null ()) ; let obj_arr : jobjectArray = unsafe { (* * env) . NewObjectArray . unwrap () (env , arr . len () as jsize , jcls , :: std :: ptr :: null_mut ()) } ; assert ! (! obj_arr . is_null ()) ; for (i , r_str) in arr . drain (..) . enumerate () { let jstr : jstring = from_std_str_jstring (& r_str , env) ; assert ! (! jstr . is_null ()) ; unsafe { (* * env) . SetObjectArrayElement . unwrap () (env , obj_arr , i as jsize , jstr) ; if (* * env) . ExceptionCheck . unwrap () (env) != 0 { panic ! ("SetObjectArrayElement({}) failed" , i) ; } (* * env) . DeleteLocalRef . unwrap () (env , jstr) ; } } obj_arr } foreign_typemap ! (($ p : r_type) Vec < String > => internal_aliases :: JStringObjectsArray { $ out = vec_string_to_jobject_array ($ p , env) ; } ; ($ p : f_type , option = "NoNullAnnotations") => "java.lang.String []" ; ($ p : f_type , option = "NullAnnotations") => "@NonNull java.lang.String []" ;) ; macro_rules ! define_array_handling_code { ($ ([jni_arr_type = $ jni_arr_type : ident , rust_arr_wrapper = $ rust_arr_wrapper : ident , jni_get_array_elements = $ jni_get_array_elements : ident , jni_elem_type = $ jni_elem_type : ident , rust_elem_type = $ rust_elem_type : ident , jni_release_array_elements = $ jni_release_array_elements : ident , jni_new_array = $ jni_new_array : ident , jni_set_array_region = $ jni_set_array_region : ident]) ,*) => { $ (# [allow (dead_code)] struct $ rust_arr_wrapper { array : $ jni_arr_type , data : * mut $ jni_elem_type , env : * mut JNIEnv , } # [allow (dead_code)] impl $ rust_arr_wrapper { fn new (env : * mut JNIEnv , array : $ jni_arr_type) -> $ rust_arr_wrapper { assert ! (! array . is_null ()) ; let data = unsafe { (** env) .$ jni_get_array_elements . unwrap () (env , array , :: std :: ptr :: null_mut ()) } ; $ rust_arr_wrapper { array , data , env } } fn to_slice (& self) -> & [$ rust_elem_type] { unsafe { let len : jsize = (** self . env) . GetArrayLength . unwrap () (self . env , self . array) ; assert ! ((len as u64) <= (usize :: max_value () as u64)) ; :: std :: slice :: from_raw_parts (self . data , len as usize) } } fn from_slice_to_raw (arr : & [$ rust_elem_type] , env : * mut JNIEnv) -> $ jni_arr_type { assert ! ((arr . len () as u64) <= (jsize :: max_value () as u64)) ; let jarr : $ jni_arr_type = unsafe { (** env) .$ jni_new_array . unwrap () (env , arr . len () as jsize) } ; assert ! (! jarr . is_null ()) ; unsafe { (** env) .$ jni_set_array_region . unwrap () (env , jarr , 0 , arr . len () as jsize , arr . as_ptr ()) ; if (** env) . ExceptionCheck . unwrap () (env) != 0 { panic ! ("{}:{} {} failed" , file ! () , line ! () , stringify ! ($ jni_set_array_region)) ; } } jarr } } # [allow (dead_code)] impl Drop for $ rust_arr_wrapper { fn drop (& mut self) { assert ! (! self . env . is_null ()) ; assert ! (! self . array . is_null ()) ; unsafe { (** self . env) .$ jni_release_array_elements . unwrap () (self . env , self . array , self . data , JNI_ABORT as jint ,) } ; } }) * } } define_array_handling_code ! ([jni_arr_type = jbyteArray , rust_arr_wrapper = JavaByteArray , jni_get_array_elements = GetByteArrayElements , jni_elem_type = jbyte , rust_elem_type = i8 , jni_release_array_elements = ReleaseByteArrayElements , jni_new_array = NewByteArray , jni_set_array_region = SetByteArrayRegion] , [jni_arr_type = jshortArray , rust_arr_wrapper = JavaShortArray , jni_get_array_elements = GetShortArrayElements , jni_elem_type = jshort , rust_elem_type = i16 , jni_release_array_elements = ReleaseShortArrayElements , jni_new_array = NewShortArray , jni_set_array_region = SetShortArrayRegion] , [jni_arr_type = jintArray , rust_arr_wrapper = JavaIntArray , jni_get_array_elements = GetIntArrayElements , jni_elem_type = jint , rust_elem_type = i32 , jni_release_array_elements = ReleaseIntArrayElements , jni_new_array = NewIntArray , jni_set_array_region = SetIntArrayRegion] , [jni_arr_type = jlongArray , rust_arr_wrapper = JavaLongArray , jni_get_array_elements = GetLongArrayElements , jni_elem_type = jlong , rust_elem_type = i64 , jni_release_array_elements = ReleaseLongArrayElements , jni_new_array = NewLongArray , jni_set_array_region = SetLongArrayRegion] , [jni_arr_type = jfloatArray , rust_arr_wrapper = JavaFloatArray , jni_get_array_elements = GetFloatArrayElements , jni_elem_type = jfloat , rust_elem_type = f32 , jni_release_array_elements = ReleaseFloatArrayElements , jni_new_array = NewFloatArray , jni_set_array_region = SetFloatArrayRegion] , [jni_arr_type = jdoubleArray , rust_arr_wrapper = JavaDoubleArray , jni_get_array_elements = GetDoubleArrayElements , jni_elem_type = jdouble , rust_elem_type = f64 , jni_release_array_elements = ReleaseDoubleArrayElements , jni_new_array = NewDoubleArray , jni_set_array_region = SetDoubleArrayRegion]) ; foreign_typemap ! (($ p : r_type) < T > Vec < T > => & [T] { $ out = $ p . as_slice () ; } ;) ; foreign_typemap ! (($ p : r_type) & [i32] => jintArray { $ out = JavaIntArray :: from_slice_to_raw ($ p , env) ; } ; (f_type) => "int []" ;) ; foreign_typemap ! (($ p : r_type) JavaIntArray <= jintArray { $ out = JavaIntArray :: new (env , $ p) ; } ; (f_type) <= "int []" ;) ; foreign_typemap ! (($ p : r_type) & [i32] <= JavaIntArray { $ out = $ p . to_slice () ; } ;) ; foreign_typemap ! (($ p : r_type) & [i64] => jlongArray { $ out = JavaLongArray :: from_slice_to_raw ($ p , env) ; } ; (f_type) => "long []" ;) ; foreign_typemap ! (($ p : r_type) JavaLongArray <= jlongArray { $ out = JavaLongArray :: new (env , $ p) ; } ; (f_type) <= "long []" ;) ; foreign_typemap ! (($ p : r_type) & [i64] <= JavaLongArray { $ out = $ p . to_slice () ; } ;) ; foreign_typemap ! (($ p : r_type) & [f32] => jfloatArray { $ out = JavaFloatArray :: from_slice_to_raw ($ p , env) ; } ; (f_type) => "float []" ;) ; foreign_typemap ! (($ p : r_type) JavaFloatArray <= jfloatArray { $ out = JavaFloatArray :: new (env , $ p) ; } ; (f_type) <= "float []" ;) ; foreign_typemap ! (($ p : r_type) & [f32] <= JavaFloatArray { $ out = $ p . to_slice () ; } ;) ; foreign_typemap ! (($ p : r_type) & [f64] => jdoubleArray { $ out = JavaDoubleArray :: from_slice_to_raw ($ p , env) ; } ; (f_type) => "double []" ;) ; foreign_typemap ! (($ p : r_type) JavaDoubleArray <= jdoubleArray { $ out = JavaDoubleArray :: new (env , $ p) ; } ; (f_type) <= "double []" ;) ; foreign_typemap ! (($ p : r_type) & [f64] <= JavaDoubleArray { $ out = $ p . to_slice () ; } ;) ; foreign_typemap ! (($ p : r_type) & [i8] => jbyteArray { $ out = JavaByteArray :: from_slice_to_raw ($ p , env) ; } ; (f_type) => "byte []" ;) ; foreign_typemap ! (($ p : r_type) JavaByteArray <= jbyteArray { $ out = JavaByteArray :: new (env , $ p) ; } ; (f_type) <= "byte []" ;) ; foreign_typemap ! (($ p : r_type) & [i8] <= JavaByteArray { $ out = $ p . to_slice () ; } ;) ; foreign_typemap ! (($ p : r_type) & [i16] => jshortArray { $ out = JavaShortArray :: from_slice_to_raw ($ p , env) ; } ; (f_type) => "short []" ;) ; foreign_typemap ! (($ p : r_type) JavaShortArray <= jshortArray { $ out = JavaShortArray :: new (env , $ p) ; } ; (f_type) <= "short []" ;) ; foreign_typemap ! (($ p : r_type) & [i16] <= JavaShortArray { $ out = $ p . to_slice () ; } ;) ; foreign_typemap ! (($ p : r_type) String => & str { $ out = $ p . as_str () ; } ;) ; foreign_typemap ! (($ p : r_type) < T > Arc < Mutex < T >> => & Mutex < T > { $ out = & $ p ; } ;) ; foreign_typemap ! (($ p : r_type) < T > & Mutex < T > => MutexGuard < T > { $ out = $ p . lock () . unwrap () ; } ;) ; foreign_typemap ! (($ p : r_type) < T > MutexGuard < T > => & T { $ out = & $ p ; } ;) ; foreign_typemap ! (($ p : r_type) < T > MutexGuard < T > => & mut T { $ out = & mut $ p ; } ;) ; foreign_typemap ! (($ p : r_type) < T > Rc < T > => & T { $ out = & $ p ; } ;) ; foreign_typemap ! (($ p : r_type) < T > & Rc < T > => & T { $ out = & $ p ; } ;) ; foreign_typemap ! (($ p : r_type) < T > & RefCell < T > => Ref < T > { $ out = $ p . borrow () ; } ;) ; foreign_typemap ! (($ p : r_type) < T > & RefCell < T > => RefMut < T > { $ out = $ p . borrow_mut () ; } ;) ; foreign_typemap ! (($ p : r_type) < T > Ref < T > => & T { $ out = & $ p ; } ;) ; foreign_typemap ! (($ p : r_type) < T > RefMut < T > => & mut T { $ out = & mut $ p ; } ;) ; # [cfg (target_pointer_width = "32")] impl SwigFrom < isize > for jint { fn swig_from (x : isize , _ : * mut JNIEnv) -> Self { x as jint } } # [cfg (target_pointer_width = "64")] impl SwigFrom < isize > for jlong { fn swig_from (x : isize , _ : * mut JNIEnv) -> Self { x as jlong } } # [cfg (target_pointer_width = "32")] impl SwigFrom < usize > for jlong { fn swig_from (x : usize , _ : * mut JNIEnv) -> Self { x as jlong } } # [cfg (target_pointer_width = "64")] impl SwigFrom < usize > for jlong { fn swig_from (x : usize , _ : * mut JNIEnv) -> Self { let x = x as u64 ; u64_to_jlong_checked (x) } } foreign_typemap ! (($ p : r_type) & str => String { $ out = $ p . to_string () ; } ;) ; # [allow (dead_code)] fn from_java_lang_double_to_rust (env : * mut JNIEnv , x : internal_aliases :: JDouble) -> Option < f64 > { if x . is_null () { None } else { let x = unsafe { (* * env) . NewLocalRef . unwrap () (env , x) } ; if x . is_null () { None } else { let class : jclass = swig_jni_find_class ! (JAVA_LANG_DOUBLE , "java/lang/Double") ; assert ! (! class . is_null ()) ; let double_value_m : jmethodID = swig_jni_get_method_id ! (JAVA_LANG_DOUBLE_DOUBLE_VALUE_METHOD , JAVA_LANG_DOUBLE , "doubleValue" , "()D" ,) ; assert ! (! double_value_m . is_null () ,) ; let ret : f64 = unsafe { let ret = (* * env) . CallDoubleMethod . unwrap () (env , x , double_value_m) ; if (* * env) . ExceptionCheck . unwrap () (env) != 0 { panic ! ("Double.doubleValue failed: catch exception") ; } (* * env) . DeleteLocalRef . unwrap () (env , x) ; ret } ; Some (ret) } } } foreign_typemap ! (($ p : r_type) Option < f64 > <= internal_aliases :: JDouble { $ out = from_java_lang_double_to_rust (env , $ p) ; } ; (f_type , option = "NoNullAnnotations") <= "Double" ; (f_type , option = "NullAnnotations") <= "@Nullable Double" ;) ; # [allow (dead_code)] fn from_java_lang_float_to_rust (env : * mut JNIEnv , x : internal_aliases :: JFloat) -> Option < f32 > { if x . is_null () { None } else { let x = unsafe { (* * env) . NewLocalRef . unwrap () (env , x) } ; if x . is_null () { None } else { let class : jclass = swig_jni_find_class ! (JAVA_LANG_FLOAT , "java/lang/Float") ; assert ! (! class . is_null ()) ; let float_value_m : jmethodID = swig_jni_get_method_id ! (JAVA_LANG_FLOAT_FLOAT_VALUE , JAVA_LANG_FLOAT , "floatValue" , "()F") ; assert ! (! float_value_m . is_null ()) ; let ret : f32 = unsafe { let ret = (* * env) . CallFloatMethod . unwrap () (env , x , float_value_m) ; if (* * env) . ExceptionCheck . unwrap () (env) != 0 { panic ! ("Float.floatValue failed: catch exception") ; } (* * env) . DeleteLocalRef . unwrap () (env , x) ; ret } ; Some (ret) } } } foreign_typemap ! (($ p : r_type) Option < f32 > <= internal_aliases :: JFloat { $ out = from_java_lang_float_to_rust (env , $ p) ; } ; (f_type , option = "NoNullAnnotations") <= "Float" ; (f_type , option = "NullAnnotations") <= "@Nullable Float" ;) ; # [allow (dead_code)] fn from_java_lang_long_to_rust (env : * mut JNIEnv , x : internal_aliases :: JLong) -> Option < i64 > { if x . is_null () { None } else { let x = unsafe { (* * env) . NewLocalRef . unwrap () (env , x) } ; if x . is_null () { None } else { let class : jclass = swig_jni_find_class ! (JAVA_LANG_LONG , "java/lang/Long") ; assert ! (! class . is_null ()) ; let long_value_m : jmethodID = swig_jni_get_method_id ! (JAVA_LANG_LONG_LONG_VALUE , JAVA_LANG_LONG , "longValue" , "()J") ; assert ! (! long_value_m . is_null ()) ; let ret : i64 = unsafe { let ret = (* * env) . CallLongMethod . unwrap () (env , x , long_value_m) ; if (* * env) . ExceptionCheck . unwrap () (env) != 0 { panic ! ("Long.longValue failed: catch exception") ; } (* * env) . DeleteLocalRef . unwrap () (env , x) ; ret } ; Some (ret) } } } foreign_typemap ! (($ p : r_type) Option < i64 > <= internal_aliases :: JLong { $ out = from_java_lang_long_to_rust (env , $ p) ; } ; (f_type , option = "NoNullAnnotations") <= "Long" ; (f_type , option = "NullAnnotations") <= "@Nullable Long" ;) ; # [allow (dead_code)] fn from_java_lang_int_to_rust (env : * mut JNIEnv , x : internal_aliases :: JInteger) -> Option < i32 > { if x . is_null () { None } else { let x = unsafe { (* * env) . NewLocalRef . unwrap () (env , x) } ; if x . is_null () { None } else { let class : jclass = swig_jni_find_class ! (JAVA_LANG_INTEGER , "java/lang/Integer") ; assert ! (! class . is_null ()) ; let int_value_m : jmethodID = swig_jni_get_method_id ! (JAVA_LANG_INTEGER_INT_VALUE , JAVA_LANG_INTEGER , "intValue" , "()I") ; assert ! (! int_value_m . is_null () ,) ; let ret : i32 = unsafe { let ret = (* * env) . CallIntMethod . unwrap () (env , x , int_value_m) ; if (* * env) . ExceptionCheck . unwrap () (env) != 0 { panic ! ("Integer.intValue failed: catch exception") ; } (* * env) . DeleteLocalRef . unwrap () (env , x) ; ret } ; Some (ret) } } } # [allow (dead_code)] fn from_java_lang_byte_to_rust (env : * mut JNIEnv , x : internal_aliases :: JByte) -> Option < i8 > { if x . is_null () { None } else { let x = unsafe { (* * env) . NewLocalRef . unwrap () (env , x) } ; if x . is_null () { None } else { let class : jclass = swig_jni_find_class ! (JAVA_LANG_BYTE , "java/lang/Byte") ; assert ! (! class . is_null ()) ; let byte_value_m : jmethodID = swig_jni_get_method_id ! (JAVA_LANG_BYTE_BYTE_VALUE , JAVA_LANG_BYTE , "byteValue" , "()B") ; assert ! (! byte_value_m . is_null () ,) ; let ret : i8 = unsafe { let ret = (* * env) . CallByteMethod . unwrap () (env , x , byte_value_m) ; if (* * env) . ExceptionCheck . unwrap () (env) != 0 { panic ! ("Byte.byteValue failed: catch exception") ; } (* * env) . DeleteLocalRef . unwrap () (env , x) ; ret } ; Some (ret) } } } # [allow (dead_code)] fn from_java_lang_short_to_rust (env : * mut JNIEnv , x : internal_aliases :: JByte) -> Option < i16 > { if x . is_null () { None } else { let x = unsafe { (* * env) . NewLocalRef . unwrap () (env , x) } ; if x . is_null () { None } else { let class : jclass = swig_jni_find_class ! (JAVA_LANG_SHORT , "java/lang/Short") ; assert ! (! class . is_null ()) ; let short_value_m : jmethodID = swig_jni_get_method_id ! (JAVA_LANG_SHORT_SHORT_VALUE , JAVA_LANG_SHORT , "shortValue" , "()S") ; assert ! (! short_value_m . is_null ()) ; let ret : i16 = unsafe { let ret = (* * env) . CallShortMethod . unwrap () (env , x , short_value_m) ; if (* * env) . ExceptionCheck . unwrap () (env) != 0 { panic ! ("Short.shortValue failed: catch exception") ; } (* * env) . DeleteLocalRef . unwrap () (env , x) ; ret } ; Some (ret) } } } foreign_typemap ! (($ p : r_type) Option < i32 > <= internal_aliases :: JInteger { $ out = from_java_lang_int_to_rust (env , $ p) ; } ; (f_type , option = "NoNullAnnotations") <= "Integer" ; (f_type , option = "NullAnnotations") <= "@Nullable Integer" ;) ; foreign_typemap ! (($ p : r_type) Option < i8 > <= internal_aliases :: JByte { $ out = from_java_lang_byte_to_rust (env , $ p) ; } ; (f_type , option = "NoNullAnnotations") <= "Byte" ; (f_type , option = "NullAnnotations") <= "@Nullable Byte" ;) ; foreign_typemap ! (($ p : r_type) Option < i16 > <= internal_aliases :: JShort { $ out = from_java_lang_short_to_rust (env , $ p) ; } ; (f_type , option = "NoNullAnnotations") <= "Short" ; (f_type , option = "NullAnnotations") <= "@Nullable Short" ;) ; foreign_typemap ! (($ p : r_type) < T : SwigForeignClass > Option < T > => jlong { $ out = match $ p { Some (x) => { let ptr = < swig_subst_type ! (T) >:: box_object (x) ; debug_assert_ne ! (0 , ptr) ; ptr } None => 0 , } ; } ; ($ p : f_type , option = "NoNullAnnotations" , unique_prefix = "/*opt*/") <= "/*opt*/swig_f_type!(T)" r#" [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Checking tokio-util v0.7.13 [INFO] [stderr] Checking aws-smithy-async v1.2.1 [INFO] [stderr] Checking tokio-rustls v0.24.1 [INFO] [stderr] Checking aws-smithy-types v1.2.9 [INFO] [stderr] Checking h2 v0.3.26 [INFO] [stderr] Checking icu_normalizer v1.5.0 [INFO] [stderr] Checking aws-smithy-runtime-api v1.7.3 [INFO] [stderr] Checking aws-smithy-json v0.61.1 [INFO] [stderr] Checking aws-smithy-query v0.60.7 [INFO] [stderr] Checking aws-smithy-json v0.60.7 [INFO] [stderr] Compiling crypto v0.0.1 (/opt/rustwide/workdir/crypto-build) [INFO] [stderr] Checking idna_adapter v1.2.0 [INFO] [stderr] Checking idna v1.0.3 [INFO] [stderr] error: failed to run custom build command for `crypto v0.0.1 (/opt/rustwide/workdir/crypto-build)` [INFO] [stderr] note: To improve backtraces for build dependencies, set the CARGO_PROFILE_DEV_BUILD_OVERRIDE_DEBUG=true environment variable to enable debug information generation. [INFO] [stderr] [INFO] [stderr] Caused by: [INFO] [stderr] process didn't exit successfully: `/opt/rustwide/target/debug/build/crypto-59ea0945ce1aee67/build-script-build` (exit status: 101) [INFO] [stderr] --- stderr [INFO] [stderr] [INFO] [stderr] thread 'main' (3467) panicked at crypto-build/build.rs:61:43: [INFO] [stderr] JAVA_HOME env variable not settted: NotPresent [INFO] [stderr] stack backtrace: [INFO] [stderr] 0: 0x5e91937db0f2 - std::backtrace_rs::backtrace::libunwind::trace::h105f921882c12e03 [INFO] [stderr] at /rustc/a4980311fb7bb9e7893708e6bd3fbbfb2819fd3d/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9 [INFO] [stderr] 1: 0x5e91937db0f2 - std::backtrace_rs::backtrace::trace_unsynchronized::hc8b40918ba88bae2 [INFO] [stderr] at /rustc/a4980311fb7bb9e7893708e6bd3fbbfb2819fd3d/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14 [INFO] [stderr] 2: 0x5e91937db0f2 - std::sys::backtrace::_print_fmt::h61144b3593b669a6 [INFO] [stderr] at /rustc/a4980311fb7bb9e7893708e6bd3fbbfb2819fd3d/library/std/src/sys/backtrace.rs:66:9 [INFO] [stderr] 3: 0x5e91937db0f2 - ::fmt::ha7f14f4d725d0e1f [INFO] [stderr] at /rustc/a4980311fb7bb9e7893708e6bd3fbbfb2819fd3d/library/std/src/sys/backtrace.rs:39:26 [INFO] [stderr] 4: 0x5e91937ff06f - core::fmt::rt::Argument::fmt::h291cffbfb6f5f437 [INFO] [stderr] at /rustc/a4980311fb7bb9e7893708e6bd3fbbfb2819fd3d/library/core/src/fmt/rt.rs:173:76 [INFO] [stderr] 5: 0x5e91937ff06f - core::fmt::write::h613c8eb2432c6a8e [INFO] [stderr] at /rustc/a4980311fb7bb9e7893708e6bd3fbbfb2819fd3d/library/core/src/fmt/mod.rs:1468:25 [INFO] [stderr] 6: 0x5e91937cc373 - std::io::default_write_fmt::h1b19b0ce9c092acc [INFO] [stderr] at /rustc/a4980311fb7bb9e7893708e6bd3fbbfb2819fd3d/library/std/src/io/mod.rs:639:11 [INFO] [stderr] 7: 0x5e91937cc373 - std::io::Write::write_fmt::ha60efb35d66e9b8c [INFO] [stderr] at /rustc/a4980311fb7bb9e7893708e6bd3fbbfb2819fd3d/library/std/src/io/mod.rs:1954:13 [INFO] [stderr] 8: 0x5e91937db402 - std::sys::backtrace::BacktraceLock::print::hb1963680433203b9 [INFO] [stderr] at /rustc/a4980311fb7bb9e7893708e6bd3fbbfb2819fd3d/library/std/src/sys/backtrace.rs:42:9 [INFO] [stderr] 9: 0x5e91937c707c - std::panicking::default_hook::{{closure}}::h12644fad1f9f9c3f [INFO] [stderr] at /rustc/a4980311fb7bb9e7893708e6bd3fbbfb2819fd3d/library/std/src/panicking.rs:301:27 [INFO] [stderr] 10: 0x5e91937c6eb6 - std::panicking::default_hook::h92d7423bfb093343 [INFO] [stderr] at /rustc/a4980311fb7bb9e7893708e6bd3fbbfb2819fd3d/library/std/src/panicking.rs:328:9 [INFO] [stderr] 11: 0x5e91937c69d1 - std::panicking::panic_with_hook::hfd863520fce8e281 [INFO] [stderr] at /rustc/a4980311fb7bb9e7893708e6bd3fbbfb2819fd3d/library/std/src/panicking.rs:834:13 [INFO] [stderr] 12: 0x5e91937db4ba - std::panicking::panic_handler::{{closure}}::h75bad88e9628e7c4 [INFO] [stderr] at /rustc/a4980311fb7bb9e7893708e6bd3fbbfb2819fd3d/library/std/src/panicking.rs:707:13 [INFO] [stderr] 13: 0x5e91937db419 - std::sys::backtrace::__rust_end_short_backtrace::hba2ee9743eb3598b [INFO] [stderr] at /rustc/a4980311fb7bb9e7893708e6bd3fbbfb2819fd3d/library/std/src/sys/backtrace.rs:174:18 [INFO] [stderr] 14: 0x5e91937c690d - __rustc[d20f6e1e05d5ea87]::rust_begin_unwind [INFO] [stderr] at /rustc/a4980311fb7bb9e7893708e6bd3fbbfb2819fd3d/library/std/src/panicking.rs:698:5 [INFO] [stderr] 15: 0x5e9193806f60 - core::panicking::panic_fmt::h291b19446b355b1a [INFO] [stderr] at /rustc/a4980311fb7bb9e7893708e6bd3fbbfb2819fd3d/library/core/src/panicking.rs:75:14 [INFO] [stderr] 16: 0x5e9193808b36 - core::result::unwrap_failed::he6619352ef31eefc [INFO] [stderr] at /rustc/a4980311fb7bb9e7893708e6bd3fbbfb2819fd3d/library/core/src/result.rs:1852:5 [INFO] [stderr] 17: 0x5e9192efb9c4 - core::result::Result::expect::hc52f877419c40610 [INFO] [stderr] 18: 0x5e9192efd2c4 - build_script_build::gen_jni_bindings::hadde8249b660ef74 [INFO] [stderr] 19: 0x5e9192efdbb9 - build_script_build::main::h0d0b9302febf20e7 [INFO] [stderr] 20: 0x5e9192efa0c3 - core::ops::function::FnOnce::call_once::h5a78d81319f4c775 [INFO] [stderr] 21: 0x5e9192efa946 - std::sys::backtrace::__rust_begin_short_backtrace::h1306d6d352ada3bc [INFO] [stderr] 22: 0x5e9192ef9d89 - std::rt::lang_start::{{closure}}::h5212b303cd1ee915 [INFO] [stderr] 23: 0x5e91937dbc60 - core::ops::function::impls:: for &F>::call_once::hd30f70589ce52217 [INFO] [stderr] at /rustc/a4980311fb7bb9e7893708e6bd3fbbfb2819fd3d/library/core/src/ops/function.rs:290:21 [INFO] [stderr] 24: 0x5e91937dbc60 - std::panicking::catch_unwind::do_call::h229a800b64964a72 [INFO] [stderr] at /rustc/a4980311fb7bb9e7893708e6bd3fbbfb2819fd3d/library/std/src/panicking.rs:590:40 [INFO] [stderr] 25: 0x5e91937dbc60 - std::panicking::catch_unwind::hf5b1c782bbaa8c87 [INFO] [stderr] at /rustc/a4980311fb7bb9e7893708e6bd3fbbfb2819fd3d/library/std/src/panicking.rs:553:19 [INFO] [stderr] 26: 0x5e91937dbc60 - std::panic::catch_unwind::h44fb21a21f79e7af [INFO] [stderr] at /rustc/a4980311fb7bb9e7893708e6bd3fbbfb2819fd3d/library/std/src/panic.rs:359:14 [INFO] [stderr] 27: 0x5e91937dbc60 - std::rt::lang_start_internal::{{closure}}::h3d19e32b9588f707 [INFO] [stderr] at /rustc/a4980311fb7bb9e7893708e6bd3fbbfb2819fd3d/library/std/src/rt.rs:175:24 [INFO] [stderr] 28: 0x5e91937dbc60 - std::panicking::catch_unwind::do_call::hf0c858106eb39fbd [INFO] [stderr] at /rustc/a4980311fb7bb9e7893708e6bd3fbbfb2819fd3d/library/std/src/panicking.rs:590:40 [INFO] [stderr] 29: 0x5e91937dbc60 - std::panicking::catch_unwind::h92692cc8e925ec21 [INFO] [stderr] at /rustc/a4980311fb7bb9e7893708e6bd3fbbfb2819fd3d/library/std/src/panicking.rs:553:19 [INFO] [stderr] 30: 0x5e91937dbc60 - std::panic::catch_unwind::h4f023f48f37702a5 [INFO] [stderr] at /rustc/a4980311fb7bb9e7893708e6bd3fbbfb2819fd3d/library/std/src/panic.rs:359:14 [INFO] [stderr] 31: 0x5e91937dbc60 - std::rt::lang_start_internal::h80fdaffb9834036d [INFO] [stderr] at /rustc/a4980311fb7bb9e7893708e6bd3fbbfb2819fd3d/library/std/src/rt.rs:171:5 [INFO] [stderr] 32: 0x5e9192ef9d71 - std::rt::lang_start::h4cc38924371d7a78 [INFO] [stderr] 33: 0x5e9192f017c5 - main [INFO] [stderr] 34: 0x74fa0ccfa1ca - [INFO] [stderr] 35: 0x74fa0ccfa28b - __libc_start_main [INFO] [stderr] 36: 0x5e9192ef8d25 - _start [INFO] [stderr] 37: 0x0 - [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] running `Command { std: "docker" "inspect" "8155f085bb74a4d497e636065502ba585009db35af3e2bb6ec99f3dff15a65bb", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "8155f085bb74a4d497e636065502ba585009db35af3e2bb6ec99f3dff15a65bb", kill_on_drop: false }` [INFO] [stdout] 8155f085bb74a4d497e636065502ba585009db35af3e2bb6ec99f3dff15a65bb