[INFO] crate android_ffi 0.1.0 is already in cache
[INFO] checking android_ffi-0.1.0 against master#bf1f2eedda4fa02b7c9347dd849ed73ddd43dedc for pr-70917
[INFO] extracting crate android_ffi 0.1.0 into /workspace/builds/worker-12/source
[INFO] validating manifest of crates.io crate android_ffi 0.1.0 on toolchain bf1f2eedda4fa02b7c9347dd849ed73ddd43dedc
[INFO] running `"/workspace/cargo-home/bin/cargo" "+bf1f2eedda4fa02b7c9347dd849ed73ddd43dedc" "read-manifest" "--manifest-path" "Cargo.toml"`
[INFO] started tweaking crates.io crate android_ffi 0.1.0
[INFO] finished tweaking crates.io crate android_ffi 0.1.0
[INFO] tweaked toml for crates.io crate android_ffi 0.1.0 written to /workspace/builds/worker-12/source/Cargo.toml
[INFO] running `"/workspace/cargo-home/bin/cargo" "+bf1f2eedda4fa02b7c9347dd849ed73ddd43dedc" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update"`
[INFO] running `"/workspace/cargo-home/bin/cargo" "+bf1f2eedda4fa02b7c9347dd849ed73ddd43dedc" "fetch" "--locked" "--manifest-path" "Cargo.toml"`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] running `"docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-12/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-12/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" "MAP_USER_ID=0" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--network" "none" "rustops/crates-build-env" "/opt/rustwide/cargo-home/bin/cargo" "+bf1f2eedda4fa02b7c9347dd849ed73ddd43dedc" "check" "--frozen" "--all" "--all-targets"`
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] [stdout] d7079f0bcaac2e28ae44fb46abe9d698fea7e8d88e5f8e608daa90023fb46789
[INFO] running `"docker" "start" "-a" "d7079f0bcaac2e28ae44fb46abe9d698fea7e8d88e5f8e608daa90023fb46789"`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Checking android_ffi v0.1.0 (/opt/rustwide/workdir)
[INFO] [stderr] warning: unused import: `channel`
[INFO] [stderr]  --> src/lib.rs:9:55
[INFO] [stderr]   |
[INFO] [stderr] 9 | use std::sync::mpsc::{Sender, Receiver, TryRecvError, channel};
[INFO] [stderr]   |                                                       ^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::io::Write`
[INFO] [stderr]   --> src/lib.rs:14:5
[INFO] [stderr]    |
[INFO] [stderr] 14 | use std::io::Write;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `channel`
[INFO] [stderr]  --> src/lib.rs:9:55
[INFO] [stderr]   |
[INFO] [stderr] 9 | use std::sync::mpsc::{Sender, Receiver, TryRecvError, channel};
[INFO] [stderr]   |                                                       ^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::io::Write`
[INFO] [stderr]   --> src/lib.rs:14:5
[INFO] [stderr]    |
[INFO] [stderr] 14 | use std::io::Write;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: type `pthread_t` should have an upper camel case name
[INFO] [stderr]   --> src/lib.rs:16:10
[INFO] [stderr]    |
[INFO] [stderr] 16 | pub type pthread_t = c_long;
[INFO] [stderr]    |          ^^^^^^^^^ help: convert the identifier to upper camel case: `PthreadT`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(non_camel_case_types)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: type `pthread_t` should have an upper camel case name
[INFO] [stderr]   --> src/lib.rs:16:10
[INFO] [stderr]    |
[INFO] [stderr] 16 | pub type pthread_t = c_long;
[INFO] [stderr]    |          ^^^^^^^^^ help: convert the identifier to upper camel case: `PthreadT`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(non_camel_case_types)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: type `pthread_mutexattr_t` should have an upper camel case name
[INFO] [stderr]   --> src/lib.rs:17:10
[INFO] [stderr]    |
[INFO] [stderr] 17 | pub type pthread_mutexattr_t = c_long;
[INFO] [stderr]    |          ^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `PthreadMutexattrT`
[INFO] [stderr] 
[INFO] [stderr] warning: type `pthread_attr_t` should have an upper camel case name
[INFO] [stderr]   --> src/lib.rs:18:10
[INFO] [stderr]    |
[INFO] [stderr] 18 | pub type pthread_attr_t = c_void;       // FIXME: wrong
[INFO] [stderr]    |          ^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `PthreadAttrT`
[INFO] [stderr] 
[INFO] [stderr] warning: type `pthread_mutexattr_t` should have an upper camel case name
[INFO] [stderr]   --> src/lib.rs:17:10
[INFO] [stderr]    |
[INFO] [stderr] 17 | pub type pthread_mutexattr_t = c_long;
[INFO] [stderr]    |          ^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `PthreadMutexattrT`
[INFO] [stderr] 
[INFO] [stderr] warning: type `pthread_attr_t` should have an upper camel case name
[INFO] [stderr]   --> src/lib.rs:18:10
[INFO] [stderr]    |
[INFO] [stderr] 18 | pub type pthread_attr_t = c_void;       // FIXME: wrong
[INFO] [stderr]    |          ^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `PthreadAttrT`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/lib.rs:45:26
[INFO] [stderr]    |
[INFO] [stderr] 45 |     let handler: Box<Box<SyncEventHandler>> = Box::from_raw(handler as *mut _);
[INFO] [stderr]    |                          ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn SyncEventHandler`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/lib.rs:51:29
[INFO] [stderr]    |
[INFO] [stderr] 51 |     let handler: Box<*const SyncEventHandler> = Box::from_raw(handler as *mut _);
[INFO] [stderr]    |                             ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn SyncEventHandler`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/lib.rs:97:41
[INFO] [stderr]    |
[INFO] [stderr] 97 |     sync_event_handlers:  Mutex<Vec<Box<SyncEventHandler>>>,
[INFO] [stderr]    |                                         ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn SyncEventHandler`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/lib.rs:530:44
[INFO] [stderr]     |
[INFO] [stderr] 530 | pub fn add_sync_event_handler(handler: Box<SyncEventHandler>) {
[INFO] [stderr]     |                                            ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn SyncEventHandler`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/lib.rs:536:50
[INFO] [stderr]     |
[INFO] [stderr] 536 | pub fn remove_sync_event_handler(handler: *const SyncEventHandler) {
[INFO] [stderr]     |                                                  ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn SyncEventHandler`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/lib.rs:45:26
[INFO] [stderr]    |
[INFO] [stderr] 45 |     let handler: Box<Box<SyncEventHandler>> = Box::from_raw(handler as *mut _);
[INFO] [stderr]    |                          ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn SyncEventHandler`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/lib.rs:51:29
[INFO] [stderr]    |
[INFO] [stderr] 51 |     let handler: Box<*const SyncEventHandler> = Box::from_raw(handler as *mut _);
[INFO] [stderr]    |                             ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn SyncEventHandler`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/lib.rs:97:41
[INFO] [stderr]    |
[INFO] [stderr] 97 |     sync_event_handlers:  Mutex<Vec<Box<SyncEventHandler>>>,
[INFO] [stderr]    |                                         ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn SyncEventHandler`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/lib.rs:530:44
[INFO] [stderr]     |
[INFO] [stderr] 530 | pub fn add_sync_event_handler(handler: Box<SyncEventHandler>) {
[INFO] [stderr]     |                                            ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn SyncEventHandler`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/lib.rs:536:50
[INFO] [stderr]     |
[INFO] [stderr] 536 | pub fn remove_sync_event_handler(handler: *const SyncEventHandler) {
[INFO] [stderr]     |                                                  ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn SyncEventHandler`
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'std::mem::uninitialized': use `mem::MaybeUninit` instead
[INFO] [stderr]    --> src/lib.rs:294:30
[INFO] [stderr]     |
[INFO] [stderr] 294 |             let mut thread = mem::uninitialized();
[INFO] [stderr]     |                              ^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(deprecated)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'std::mem::uninitialized': use `mem::MaybeUninit` instead
[INFO] [stderr]    --> src/lib.rs:344:30
[INFO] [stderr]     |
[INFO] [stderr] 344 |             let mut events = mem::uninitialized();
[INFO] [stderr]     |                              ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'std::mem::uninitialized': use `mem::MaybeUninit` instead
[INFO] [stderr]    --> src/lib.rs:345:61
[INFO] [stderr]     |
[INFO] [stderr] 345 |             let mut source: *mut ffi::android_poll_source = mem::uninitialized();
[INFO] [stderr]     |                                                             ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'std::thread::sleep_ms': replaced by `std::thread::sleep`
[INFO] [stderr]    --> src/lib.rs:580:9
[INFO] [stderr]     |
[INFO] [stderr] 580 |         thread::sleep_ms(10);
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'std::mem::uninitialized': use `mem::MaybeUninit` instead
[INFO] [stderr]    --> src/lib.rs:294:30
[INFO] [stderr]     |
[INFO] [stderr] 294 |             let mut thread = mem::uninitialized();
[INFO] [stderr]     |                              ^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(deprecated)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'std::mem::uninitialized': use `mem::MaybeUninit` instead
[INFO] [stderr]    --> src/lib.rs:344:30
[INFO] [stderr]     |
[INFO] [stderr] 344 |             let mut events = mem::uninitialized();
[INFO] [stderr]     |                              ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'std::mem::uninitialized': use `mem::MaybeUninit` instead
[INFO] [stderr]    --> src/lib.rs:345:61
[INFO] [stderr]     |
[INFO] [stderr] 345 |             let mut source: *mut ffi::android_poll_source = mem::uninitialized();
[INFO] [stderr]     |                                                             ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'std::thread::sleep_ms': replaced by `std::thread::sleep`
[INFO] [stderr]    --> src/lib.rs:580:9
[INFO] [stderr]     |
[INFO] [stderr] 580 |         thread::sleep_ms(10);
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary `unsafe` block
[INFO] [stderr]    --> src/lib.rs:215:20
[INFO] [stderr]     |
[INFO] [stderr] 215 |     app.userData = unsafe { &context as *const Context as *mut Context as *mut _ };
[INFO] [stderr]     |                    ^^^^^^ unnecessary `unsafe` block
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_unsafe)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary `unsafe` block
[INFO] [stderr]    --> src/lib.rs:215:20
[INFO] [stderr]     |
[INFO] [stderr] 215 |     app.userData = unsafe { &context as *const Context as *mut Context as *mut _ };
[INFO] [stderr]     |                    ^^^^^^ unnecessary `unsafe` block
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_unsafe)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: static variable `g_mainthread_boxed` should have an upper case name
[INFO] [stderr]    --> src/lib.rs:161:12
[INFO] [stderr]     |
[INFO] [stderr] 161 | static mut g_mainthread_boxed: Option<*mut Receiver<()>> = Option::None;
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper case: `G_MAINTHREAD_BOXED`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(non_upper_case_globals)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]   --> src/ffi.rs:98:43
[INFO] [stderr]    |
[INFO] [stderr] 98 | extern { pub fn AAssetDir_close(assetDir: *mut AAssetDir); }
[INFO] [stderr]    |                                           ^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(improper_ctypes)]` on by default
[INFO] [stderr]    = help: consider using a struct instead
[INFO] [stderr]    = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]   --> src/ffi.rs:99:53
[INFO] [stderr]    |
[INFO] [stderr] 99 | extern { pub fn AAssetDir_getNextFileName(assetDir: *mut AAssetDir) -> *const c_char; }
[INFO] [stderr]    |                                                     ^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]    |
[INFO] [stderr]    = help: consider using a struct instead
[INFO] [stderr]    = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:100:44
[INFO] [stderr]     |
[INFO] [stderr] 100 | extern { pub fn AAssetDir_rewind(assetDir: *mut AAssetDir); }
[INFO] [stderr]     |                                            ^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:102:41
[INFO] [stderr]     |
[INFO] [stderr] 102 | extern { pub fn AAssetManager_open(mgr: *mut AAssetManager, filename: *const c_char, mode: c_int) -> *mut AAsset; }
[INFO] [stderr]     |                                         ^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:102:102
[INFO] [stderr]     |
[INFO] [stderr] 102 | extern { pub fn AAssetManager_open(mgr: *mut AAssetManager, filename: *const c_char, mode: c_int) -> *mut AAsset; }
[INFO] [stderr]     |                                                                                                      ^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:103:44
[INFO] [stderr]     |
[INFO] [stderr] 103 | extern { pub fn AAssetManager_openDir(mgr: *mut AAssetManager, dirName: *const c_char) -> *mut AAssetDir; }
[INFO] [stderr]     |                                            ^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:103:91
[INFO] [stderr]     |
[INFO] [stderr] 103 | extern { pub fn AAssetManager_openDir(mgr: *mut AAssetManager, dirName: *const c_char) -> *mut AAssetDir; }
[INFO] [stderr]     |                                                                                           ^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:104:37
[INFO] [stderr]     |
[INFO] [stderr] 104 | extern { pub fn AAsset_close(asset: *mut AAsset); }
[INFO] [stderr]     |                                     ^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:105:41
[INFO] [stderr]     |
[INFO] [stderr] 105 | extern { pub fn AAsset_getBuffer(asset: *mut AAsset) -> *const c_void; }
[INFO] [stderr]     |                                         ^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:106:41
[INFO] [stderr]     |
[INFO] [stderr] 106 | extern { pub fn AAsset_getLength(asset: *mut AAsset) -> isize; }
[INFO] [stderr]     |                                         ^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:107:43
[INFO] [stderr]     |
[INFO] [stderr] 107 | extern { pub fn AAsset_getLength64(asset: *mut AAsset) -> u64; }
[INFO] [stderr]     |                                           ^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:108:50
[INFO] [stderr]     |
[INFO] [stderr] 108 | extern { pub fn AAsset_getRemainingLength(asset: *mut AAsset) -> isize; }
[INFO] [stderr]     |                                                  ^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:109:52
[INFO] [stderr]     |
[INFO] [stderr] 109 | extern { pub fn AAsset_getRemainingLength64(asset: *mut AAsset) -> u64; }
[INFO] [stderr]     |                                                    ^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:110:43
[INFO] [stderr]     |
[INFO] [stderr] 110 | extern { pub fn AAsset_isAllocated(asset: *mut AAsset) -> c_int; }
[INFO] [stderr]     |                                           ^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:111:50
[INFO] [stderr]     |
[INFO] [stderr] 111 | extern { pub fn AAsset_openFileDescriptor(asset: *mut AAsset, outStart: *mut isize, outLength: *mut isize) -> c_int; }
[INFO] [stderr]     |                                                  ^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:112:52
[INFO] [stderr]     |
[INFO] [stderr] 112 | extern { pub fn AAsset_openFileDescriptor64(asset: *mut AAsset, outStart: *mut u64, outLength: *mut u64) -> c_int; }
[INFO] [stderr]     |                                                    ^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:113:36
[INFO] [stderr]     |
[INFO] [stderr] 113 | extern { pub fn AAsset_read(asset: *mut AAsset, buf: *mut c_void, count: usize) -> c_int; }
[INFO] [stderr]     |                                    ^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:114:36
[INFO] [stderr]     |
[INFO] [stderr] 114 | extern { pub fn AAsset_seek(asset: *mut AAsset, offset: isize, whence: c_int) -> isize; }
[INFO] [stderr]     |                                    ^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:115:38
[INFO] [stderr]     |
[INFO] [stderr] 115 | extern { pub fn AAsset_seek64(asset: *mut AAsset, offset: u64, whence: c_int) -> u64; }
[INFO] [stderr]     |                                      ^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:120:45
[INFO] [stderr]     |
[INFO] [stderr] 120 | extern { pub fn AAssetManager_fromJava(env: *mut JNIEnv, assetManager: jobject) -> *mut AAssetManager; }
[INFO] [stderr]     |                                             ^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:120:72
[INFO] [stderr]     |
[INFO] [stderr] 120 | extern { pub fn AAssetManager_fromJava(env: *mut JNIEnv, assetManager: jobject) -> *mut AAssetManager; }
[INFO] [stderr]     |                                                                        ^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:120:84
[INFO] [stderr]     |
[INFO] [stderr] 120 | extern { pub fn AAssetManager_fromJava(env: *mut JNIEnv, assetManager: jobject) -> *mut AAssetManager; }
[INFO] [stderr]     |                                                                                    ^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:138:44
[INFO] [stderr]     |
[INFO] [stderr] 138 | extern { pub fn AndroidBitmap_getInfo(env: *mut JNIEnv, jbitmap: jobject, info: *mut AndroidBitmapInfo) -> c_int; }
[INFO] [stderr]     |                                            ^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:138:66
[INFO] [stderr]     |
[INFO] [stderr] 138 | extern { pub fn AndroidBitmap_getInfo(env: *mut JNIEnv, jbitmap: jobject, info: *mut AndroidBitmapInfo) -> c_int; }
[INFO] [stderr]     |                                                                  ^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:139:47
[INFO] [stderr]     |
[INFO] [stderr] 139 | extern { pub fn AndroidBitmap_lockPixels(env: *mut JNIEnv, jbitmap: jobject, addrPtr: *mut *mut c_void) -> c_int; }
[INFO] [stderr]     |                                               ^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:139:69
[INFO] [stderr]     |
[INFO] [stderr] 139 | extern { pub fn AndroidBitmap_lockPixels(env: *mut JNIEnv, jbitmap: jobject, addrPtr: *mut *mut c_void) -> c_int; }
[INFO] [stderr]     |                                                                     ^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:140:49
[INFO] [stderr]     |
[INFO] [stderr] 140 | extern { pub fn AndroidBitmap_unlockPixels(env: *mut JNIEnv, jbitmap: jobject) -> c_int; }
[INFO] [stderr]     |                                                 ^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:140:71
[INFO] [stderr]     |
[INFO] [stderr] 140 | extern { pub fn AndroidBitmap_unlockPixels(env: *mut JNIEnv, jbitmap: jobject) -> c_int; }
[INFO] [stderr]     |                                                                       ^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:220:43
[INFO] [stderr]     |
[INFO] [stderr] 220 | extern { pub fn AConfiguration_copy(dest: *mut AConfiguration, src: *mut AConfiguration); }
[INFO] [stderr]     |                                           ^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:220:69
[INFO] [stderr]     |
[INFO] [stderr] 220 | extern { pub fn AConfiguration_copy(dest: *mut AConfiguration, src: *mut AConfiguration); }
[INFO] [stderr]     |                                                                     ^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:221:47
[INFO] [stderr]     |
[INFO] [stderr] 221 | extern { pub fn AConfiguration_delete(config: *mut AConfiguration); }
[INFO] [stderr]     |                                               ^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:222:46
[INFO] [stderr]     |
[INFO] [stderr] 222 | extern { pub fn AConfiguration_diff(config1: *mut AConfiguration, config2: *mut AConfiguration) -> i32; }
[INFO] [stderr]     |                                              ^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:222:76
[INFO] [stderr]     |
[INFO] [stderr] 222 | extern { pub fn AConfiguration_diff(config1: *mut AConfiguration, config2: *mut AConfiguration) -> i32; }
[INFO] [stderr]     |                                                                            ^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:223:54
[INFO] [stderr]     |
[INFO] [stderr] 223 | extern { pub fn AConfiguration_fromAssetManager(out: *mut AConfiguration, am: *mut AAssetManager); }
[INFO] [stderr]     |                                                      ^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:223:79
[INFO] [stderr]     |
[INFO] [stderr] 223 | extern { pub fn AConfiguration_fromAssetManager(out: *mut AConfiguration, am: *mut AAssetManager); }
[INFO] [stderr]     |                                                                               ^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:224:51
[INFO] [stderr]     |
[INFO] [stderr] 224 | extern { pub fn AConfiguration_getCountry(config: *mut AConfiguration, outCountry: *mut c_char); }
[INFO] [stderr]     |                                                   ^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:225:51
[INFO] [stderr]     |
[INFO] [stderr] 225 | extern { pub fn AConfiguration_getDensity(config: *mut AConfiguration) -> i32; }
[INFO] [stderr]     |                                                   ^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:226:52
[INFO] [stderr]     |
[INFO] [stderr] 226 | extern { pub fn AConfiguration_getKeyboard(config: *mut AConfiguration) -> i32; }
[INFO] [stderr]     |                                                    ^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:227:54
[INFO] [stderr]     |
[INFO] [stderr] 227 | extern { pub fn AConfiguration_getKeysHidden(config: *mut AConfiguration) -> i32; }
[INFO] [stderr]     |                                                      ^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:228:52
[INFO] [stderr]     |
[INFO] [stderr] 228 | extern { pub fn AConfiguration_getLanguage(config: *mut AConfiguration, outLanguage: *mut c_char); }
[INFO] [stderr]     |                                                    ^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:229:59
[INFO] [stderr]     |
[INFO] [stderr] 229 | extern { pub fn AConfiguration_getLayoutDirection(config: *mut AConfiguration) -> i32; }
[INFO] [stderr]     |                                                           ^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:230:47
[INFO] [stderr]     |
[INFO] [stderr] 230 | extern { pub fn AConfiguration_getMcc(config: *mut AConfiguration) -> i32; }
[INFO] [stderr]     |                                               ^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:231:47
[INFO] [stderr]     |
[INFO] [stderr] 231 | extern { pub fn AConfiguration_getMnc(config: *mut AConfiguration) -> i32; }
[INFO] [stderr]     |                                               ^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:232:53
[INFO] [stderr]     |
[INFO] [stderr] 232 | extern { pub fn AConfiguration_getNavHidden(config: *mut AConfiguration) -> i32; }
[INFO] [stderr]     |                                                     ^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:233:54
[INFO] [stderr]     |
[INFO] [stderr] 233 | extern { pub fn AConfiguration_getNavigation(config: *mut AConfiguration) -> i32; }
[INFO] [stderr]     |                                                      ^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:234:55
[INFO] [stderr]     |
[INFO] [stderr] 234 | extern { pub fn AConfiguration_getOrientation(config: *mut AConfiguration) -> i32; }
[INFO] [stderr]     |                                                       ^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:235:58
[INFO] [stderr]     |
[INFO] [stderr] 235 | extern { pub fn AConfiguration_getScreenHeightDp(config: *mut AConfiguration) -> i32; }
[INFO] [stderr]     |                                                          ^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:236:54
[INFO] [stderr]     |
[INFO] [stderr] 236 | extern { pub fn AConfiguration_getScreenLong(config: *mut AConfiguration) -> i32; }
[INFO] [stderr]     |                                                      ^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:237:54
[INFO] [stderr]     |
[INFO] [stderr] 237 | extern { pub fn AConfiguration_getScreenSize(config: *mut AConfiguration) -> i32; }
[INFO] [stderr]     |                                                      ^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:238:57
[INFO] [stderr]     |
[INFO] [stderr] 238 | extern { pub fn AConfiguration_getScreenWidthDp(config: *mut AConfiguration) -> i32; }
[INFO] [stderr]     |                                                         ^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:239:54
[INFO] [stderr]     |
[INFO] [stderr] 239 | extern { pub fn AConfiguration_getSdkVersion(config: *mut AConfiguration) -> i32; }
[INFO] [stderr]     |                                                      ^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:240:65
[INFO] [stderr]     |
[INFO] [stderr] 240 | extern { pub fn AConfiguration_getSmallestScreenWidthDp(config: *mut AConfiguration) -> i32; }
[INFO] [stderr]     |                                                                 ^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:241:55
[INFO] [stderr]     |
[INFO] [stderr] 241 | extern { pub fn AConfiguration_getTouchscreen(config: *mut AConfiguration) -> i32; }
[INFO] [stderr]     |                                                       ^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:242:55
[INFO] [stderr]     |
[INFO] [stderr] 242 | extern { pub fn AConfiguration_getUiModeNight(config: *mut AConfiguration) -> i32; }
[INFO] [stderr]     |                                                       ^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:243:54
[INFO] [stderr]     |
[INFO] [stderr] 243 | extern { pub fn AConfiguration_getUiModeType(config: *mut AConfiguration) -> i32; }
[INFO] [stderr]     |                                                      ^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:244:51
[INFO] [stderr]     |
[INFO] [stderr] 244 | extern { pub fn AConfiguration_isBetterThan(base: *mut AConfiguration, test: *mut AConfiguration, requested: *mut AConfiguration) -> i32; }
[INFO] [stderr]     |                                                   ^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:244:78
[INFO] [stderr]     |
[INFO] [stderr] 244 | extern { pub fn AConfiguration_isBetterThan(base: *mut AConfiguration, test: *mut AConfiguration, requested: *mut AConfiguration) -> i32; }
[INFO] [stderr]     |                                                                              ^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:244:110
[INFO] [stderr]     |
[INFO] [stderr] 244 | extern { pub fn AConfiguration_isBetterThan(base: *mut AConfiguration, test: *mut AConfiguration, requested: *mut AConfiguration) -> i32; }
[INFO] [stderr]     |                                                                                                              ^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:245:44
[INFO] [stderr]     |
[INFO] [stderr] 245 | extern { pub fn AConfiguration_match(base: *mut AConfiguration, requested: *mut AConfiguration) -> i32; }
[INFO] [stderr]     |                                            ^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:245:76
[INFO] [stderr]     |
[INFO] [stderr] 245 | extern { pub fn AConfiguration_match(base: *mut AConfiguration, requested: *mut AConfiguration) -> i32; }
[INFO] [stderr]     |                                                                            ^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:246:41
[INFO] [stderr]     |
[INFO] [stderr] 246 | extern { pub fn AConfiguration_new() -> *mut AConfiguration; }
[INFO] [stderr]     |                                         ^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:247:51
[INFO] [stderr]     |
[INFO] [stderr] 247 | extern { pub fn AConfiguration_setCountry(config: *mut AConfiguration, country: *const c_char); }
[INFO] [stderr]     |                                                   ^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:248:51
[INFO] [stderr]     |
[INFO] [stderr] 248 | extern { pub fn AConfiguration_setDensity(config: *mut AConfiguration, density: i32); }
[INFO] [stderr]     |                                                   ^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:249:52
[INFO] [stderr]     |
[INFO] [stderr] 249 | extern { pub fn AConfiguration_setKeyboard(config: *mut AConfiguration, keyboard: i32); }
[INFO] [stderr]     |                                                    ^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:250:54
[INFO] [stderr]     |
[INFO] [stderr] 250 | extern { pub fn AConfiguration_setKeysHidden(config: *mut AConfiguration, keysHidden: i32); }
[INFO] [stderr]     |                                                      ^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:251:52
[INFO] [stderr]     |
[INFO] [stderr] 251 | extern { pub fn AConfiguration_setLanguage(config: *mut AConfiguration, language: *const c_char); }
[INFO] [stderr]     |                                                    ^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:252:59
[INFO] [stderr]     |
[INFO] [stderr] 252 | extern { pub fn AConfiguration_setLayoutDirection(config: *mut AConfiguration, value: i32); }
[INFO] [stderr]     |                                                           ^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:253:47
[INFO] [stderr]     |
[INFO] [stderr] 253 | extern { pub fn AConfiguration_setMcc(config: *mut AConfiguration, mcc: i32); }
[INFO] [stderr]     |                                               ^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:254:47
[INFO] [stderr]     |
[INFO] [stderr] 254 | extern { pub fn AConfiguration_setMnc(config: *mut AConfiguration, mnc: i32); }
[INFO] [stderr]     |                                               ^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: static variable `g_mainthread_boxed` should have an upper case name
[INFO] [stderr]    --> src/lib.rs:161:12
[INFO] [stderr]     |
[INFO] [stderr] 161 | static mut g_mainthread_boxed: Option<*mut Receiver<()>> = Option::None;
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper case: `G_MAINTHREAD_BOXED`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(non_upper_case_globals)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:255:53
[INFO] [stderr]     |
[INFO] [stderr] 255 | extern { pub fn AConfiguration_setNavHidden(config: *mut AConfiguration, navHidden: i32); }
[INFO] [stderr]     |                                                     ^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:256:54
[INFO] [stderr]     |
[INFO] [stderr] 256 | extern { pub fn AConfiguration_setNavigation(config: *mut AConfiguration, navigation: i32); }
[INFO] [stderr]     |                                                      ^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:257:55
[INFO] [stderr]     |
[INFO] [stderr] 257 | extern { pub fn AConfiguration_setOrientation(config: *mut AConfiguration, orientation: i32); }
[INFO] [stderr]     |                                                       ^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:258:58
[INFO] [stderr]     |
[INFO] [stderr] 258 | extern { pub fn AConfiguration_setScreenHeightDp(config: *mut AConfiguration, value: i32); }
[INFO] [stderr]     |                                                          ^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:259:54
[INFO] [stderr]     |
[INFO] [stderr] 259 | extern { pub fn AConfiguration_setScreenLong(config: *mut AConfiguration, screenLong: i32); }
[INFO] [stderr]     |                                                      ^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:260:54
[INFO] [stderr]     |
[INFO] [stderr] 260 | extern { pub fn AConfiguration_setScreenSize(config: *mut AConfiguration, screenSize: i32); }
[INFO] [stderr]     |                                                      ^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:261:57
[INFO] [stderr]     |
[INFO] [stderr] 261 | extern { pub fn AConfiguration_setScreenWidthDp(config: *mut AConfiguration, value: i32); }
[INFO] [stderr]     |                                                         ^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:262:54
[INFO] [stderr]     |
[INFO] [stderr] 262 | extern { pub fn AConfiguration_setSdkVersion(config: *mut AConfiguration, sdkVersion: i32); }
[INFO] [stderr]     |                                                      ^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:263:65
[INFO] [stderr]     |
[INFO] [stderr] 263 | extern { pub fn AConfiguration_setSmallestScreenWidthDp(config: *mut AConfiguration, value: i32); }
[INFO] [stderr]     |                                                                 ^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]   --> src/ffi.rs:98:43
[INFO] [stderr]    |
[INFO] [stderr] 98 | extern { pub fn AAssetDir_close(assetDir: *mut AAssetDir); }
[INFO] [stderr]    |                                           ^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(improper_ctypes)]` on by default
[INFO] [stderr]    = help: consider using a struct instead
[INFO] [stderr]    = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:264:55
[INFO] [stderr]     |
[INFO] [stderr] 264 | extern { pub fn AConfiguration_setTouchscreen(config: *mut AConfiguration, touchscreen: i32); }
[INFO] [stderr]     |                                                       ^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]   --> src/ffi.rs:99:53
[INFO] [stderr]    |
[INFO] [stderr] 99 | extern { pub fn AAssetDir_getNextFileName(assetDir: *mut AAssetDir) -> *const c_char; }
[INFO] [stderr]    |                                                     ^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]    |
[INFO] [stderr]    = help: consider using a struct instead
[INFO] [stderr]    = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:265:55
[INFO] [stderr]     |
[INFO] [stderr] 265 | extern { pub fn AConfiguration_setUiModeNight(config: *mut AConfiguration, uiModeNight: i32); }
[INFO] [stderr]     |                                                       ^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:100:44
[INFO] [stderr]     |
[INFO] [stderr] 100 | extern { pub fn AAssetDir_rewind(assetDir: *mut AAssetDir); }
[INFO] [stderr]     |                                            ^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:266:54
[INFO] [stderr]     |
[INFO] [stderr] 266 | extern { pub fn AConfiguration_setUiModeType(config: *mut AConfiguration, uiModeType: i32); }
[INFO] [stderr]     |                                                      ^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:102:41
[INFO] [stderr]     |
[INFO] [stderr] 102 | extern { pub fn AAssetManager_open(mgr: *mut AAssetManager, filename: *const c_char, mode: c_int) -> *mut AAsset; }
[INFO] [stderr]     |                                         ^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:102:102
[INFO] [stderr]     |
[INFO] [stderr] 102 | extern { pub fn AAssetManager_open(mgr: *mut AAssetManager, filename: *const c_char, mode: c_int) -> *mut AAsset; }
[INFO] [stderr]     |                                                                                                      ^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:324:48
[INFO] [stderr]     |
[INFO] [stderr] 324 | extern { pub fn AInputEvent_getDeviceId(event: *const AInputEvent) -> i32; }
[INFO] [stderr]     |                                                ^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:103:44
[INFO] [stderr]     |
[INFO] [stderr] 103 | extern { pub fn AAssetManager_openDir(mgr: *mut AAssetManager, dirName: *const c_char) -> *mut AAssetDir; }
[INFO] [stderr]     |                                            ^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:325:46
[INFO] [stderr]     |
[INFO] [stderr] 325 | extern { pub fn AInputEvent_getSource(event: *const AInputEvent) -> i32; }
[INFO] [stderr]     |                                              ^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:103:91
[INFO] [stderr]     |
[INFO] [stderr] 103 | extern { pub fn AAssetManager_openDir(mgr: *mut AAssetManager, dirName: *const c_char) -> *mut AAssetDir; }
[INFO] [stderr]     |                                                                                           ^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:326:44
[INFO] [stderr]     |
[INFO] [stderr] 326 | extern { pub fn AInputEvent_getType(event: *const AInputEvent) -> i32; }
[INFO] [stderr]     |                                            ^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:104:37
[INFO] [stderr]     |
[INFO] [stderr] 104 | extern { pub fn AAsset_close(asset: *mut AAsset); }
[INFO] [stderr]     |                                     ^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:328:49
[INFO] [stderr]     |
[INFO] [stderr] 328 | extern { pub fn AInputQueue_attachLooper(queue: *mut AInputQueue, looper: *mut ALooper, ident: c_int, callback: ALooper_callbackFunc, data: *mut c_void); }
[INFO] [stderr]     |                                                 ^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:105:41
[INFO] [stderr]     |
[INFO] [stderr] 105 | extern { pub fn AAsset_getBuffer(asset: *mut AAsset) -> *const c_void; }
[INFO] [stderr]     |                                         ^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:328:75
[INFO] [stderr]     |
[INFO] [stderr] 328 | extern { pub fn AInputQueue_attachLooper(queue: *mut AInputQueue, looper: *mut ALooper, ident: c_int, callback: ALooper_callbackFunc, data: *mut c_void); }
[INFO] [stderr]     |                                                                           ^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:106:41
[INFO] [stderr]     |
[INFO] [stderr] 106 | extern { pub fn AAsset_getLength(asset: *mut AAsset) -> isize; }
[INFO] [stderr]     |                                         ^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:329:49
[INFO] [stderr]     |
[INFO] [stderr] 329 | extern { pub fn AInputQueue_detachLooper(queue: *mut AInputQueue); }
[INFO] [stderr]     |                                                 ^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:330:48
[INFO] [stderr]     |
[INFO] [stderr] 330 | extern { pub fn AInputQueue_finishEvent(queue: *mut AInputQueue, event: *mut AInputEvent, handled: c_int); }
[INFO] [stderr]     |                                                ^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:107:43
[INFO] [stderr]     |
[INFO] [stderr] 107 | extern { pub fn AAsset_getLength64(asset: *mut AAsset) -> u64; }
[INFO] [stderr]     |                                           ^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:330:73
[INFO] [stderr]     |
[INFO] [stderr] 330 | extern { pub fn AInputQueue_finishEvent(queue: *mut AInputQueue, event: *mut AInputEvent, handled: c_int); }
[INFO] [stderr]     |                                                                         ^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:108:50
[INFO] [stderr]     |
[INFO] [stderr] 108 | extern { pub fn AAsset_getRemainingLength(asset: *mut AAsset) -> isize; }
[INFO] [stderr]     |                                                  ^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:331:45
[INFO] [stderr]     |
[INFO] [stderr] 331 | extern { pub fn AInputQueue_getEvent(queue: *mut AInputQueue, outEvent: *mut *mut AInputEvent) -> i32; }
[INFO] [stderr]     |                                             ^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:109:52
[INFO] [stderr]     |
[INFO] [stderr] 109 | extern { pub fn AAsset_getRemainingLength64(asset: *mut AAsset) -> u64; }
[INFO] [stderr]     |                                                    ^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:331:73
[INFO] [stderr]     |
[INFO] [stderr] 331 | extern { pub fn AInputQueue_getEvent(queue: *mut AInputQueue, outEvent: *mut *mut AInputEvent) -> i32; }
[INFO] [stderr]     |                                                                         ^^^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:110:43
[INFO] [stderr]     |
[INFO] [stderr] 110 | extern { pub fn AAsset_isAllocated(asset: *mut AAsset) -> c_int; }
[INFO] [stderr]     |                                           ^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:332:46
[INFO] [stderr]     |
[INFO] [stderr] 332 | extern { pub fn AInputQueue_hasEvents(queue: *mut AInputQueue) -> i32; }
[INFO] [stderr]     |                                              ^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:111:50
[INFO] [stderr]     |
[INFO] [stderr] 111 | extern { pub fn AAsset_openFileDescriptor(asset: *mut AAsset, outStart: *mut isize, outLength: *mut isize) -> c_int; }
[INFO] [stderr]     |                                                  ^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:333:53
[INFO] [stderr]     |
[INFO] [stderr] 333 | extern { pub fn AInputQueue_preDispatchEvent(queue: *mut AInputQueue, event: *mut AInputEvent) -> i32; }
[INFO] [stderr]     |                                                     ^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:112:52
[INFO] [stderr]     |
[INFO] [stderr] 112 | extern { pub fn AAsset_openFileDescriptor64(asset: *mut AAsset, outStart: *mut u64, outLength: *mut u64) -> c_int; }
[INFO] [stderr]     |                                                    ^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:333:78
[INFO] [stderr]     |
[INFO] [stderr] 333 | extern { pub fn AInputQueue_preDispatchEvent(queue: *mut AInputQueue, event: *mut AInputEvent) -> i32; }
[INFO] [stderr]     |                                                                              ^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:113:36
[INFO] [stderr]     |
[INFO] [stderr] 113 | extern { pub fn AAsset_read(asset: *mut AAsset, buf: *mut c_void, count: usize) -> c_int; }
[INFO] [stderr]     |                                    ^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:114:36
[INFO] [stderr]     |
[INFO] [stderr] 114 | extern { pub fn AAsset_seek(asset: *mut AAsset, offset: isize, whence: c_int) -> isize; }
[INFO] [stderr]     |                                    ^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:352:48
[INFO] [stderr]     |
[INFO] [stderr] 352 | extern { pub fn AKeyEvent_getAction(key_event: *const AInputEvent) -> i32; }
[INFO] [stderr]     |                                                ^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:115:38
[INFO] [stderr]     |
[INFO] [stderr] 115 | extern { pub fn AAsset_seek64(asset: *mut AAsset, offset: u64, whence: c_int) -> u64; }
[INFO] [stderr]     |                                      ^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:353:50
[INFO] [stderr]     |
[INFO] [stderr] 353 | extern { pub fn AKeyEvent_getDownTime(key_event: *const AInputEvent) -> i64; }
[INFO] [stderr]     |                                                  ^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:120:45
[INFO] [stderr]     |
[INFO] [stderr] 120 | extern { pub fn AAssetManager_fromJava(env: *mut JNIEnv, assetManager: jobject) -> *mut AAssetManager; }
[INFO] [stderr]     |                                             ^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:120:72
[INFO] [stderr]     |
[INFO] [stderr] 120 | extern { pub fn AAssetManager_fromJava(env: *mut JNIEnv, assetManager: jobject) -> *mut AAssetManager; }
[INFO] [stderr]     |                                                                        ^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:354:51
[INFO] [stderr]     |
[INFO] [stderr] 354 | extern { pub fn AKeyEvent_getEventTime(key_event: *const AInputEvent) -> i64; }
[INFO] [stderr]     |                                                   ^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:120:84
[INFO] [stderr]     |
[INFO] [stderr] 120 | extern { pub fn AAssetManager_fromJava(env: *mut JNIEnv, assetManager: jobject) -> *mut AAssetManager; }
[INFO] [stderr]     |                                                                                    ^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:355:47
[INFO] [stderr]     |
[INFO] [stderr] 355 | extern { pub fn AKeyEvent_getFlags(key_event: *const AInputEvent) -> i32; }
[INFO] [stderr]     |                                               ^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:356:49
[INFO] [stderr]     |
[INFO] [stderr] 356 | extern { pub fn AKeyEvent_getKeyCode(key_event: *const AInputEvent) -> i32; }
[INFO] [stderr]     |                                                 ^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:138:44
[INFO] [stderr]     |
[INFO] [stderr] 138 | extern { pub fn AndroidBitmap_getInfo(env: *mut JNIEnv, jbitmap: jobject, info: *mut AndroidBitmapInfo) -> c_int; }
[INFO] [stderr]     |                                            ^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:357:51
[INFO] [stderr]     |
[INFO] [stderr] 357 | extern { pub fn AKeyEvent_getMetaState(key_event: *const AInputEvent) -> i32; }
[INFO] [stderr]     |                                                   ^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:138:66
[INFO] [stderr]     |
[INFO] [stderr] 138 | extern { pub fn AndroidBitmap_getInfo(env: *mut JNIEnv, jbitmap: jobject, info: *mut AndroidBitmapInfo) -> c_int; }
[INFO] [stderr]     |                                                                  ^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:358:53
[INFO] [stderr]     |
[INFO] [stderr] 358 | extern { pub fn AKeyEvent_getRepeatCount(key_event: *const AInputEvent) -> i32; }
[INFO] [stderr]     |                                                     ^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:139:47
[INFO] [stderr]     |
[INFO] [stderr] 139 | extern { pub fn AndroidBitmap_lockPixels(env: *mut JNIEnv, jbitmap: jobject, addrPtr: *mut *mut c_void) -> c_int; }
[INFO] [stderr]     |                                               ^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:359:50
[INFO] [stderr]     |
[INFO] [stderr] 359 | extern { pub fn AKeyEvent_getScanCode(key_event: *const AInputEvent) -> i32; }
[INFO] [stderr]     |                                                  ^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:139:69
[INFO] [stderr]     |
[INFO] [stderr] 139 | extern { pub fn AndroidBitmap_lockPixels(env: *mut JNIEnv, jbitmap: jobject, addrPtr: *mut *mut c_void) -> c_int; }
[INFO] [stderr]     |                                                                     ^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:140:49
[INFO] [stderr]     |
[INFO] [stderr] 140 | extern { pub fn AndroidBitmap_unlockPixels(env: *mut JNIEnv, jbitmap: jobject) -> c_int; }
[INFO] [stderr]     |                                                 ^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:450:54
[INFO] [stderr]     |
[INFO] [stderr] 450 | extern { pub fn AMotionEvent_getAction(motion_event: *const AInputEvent) -> i32; }
[INFO] [stderr]     |                                                      ^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:140:71
[INFO] [stderr]     |
[INFO] [stderr] 140 | extern { pub fn AndroidBitmap_unlockPixels(env: *mut JNIEnv, jbitmap: jobject) -> c_int; }
[INFO] [stderr]     |                                                                       ^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:451:57
[INFO] [stderr]     |
[INFO] [stderr] 451 | extern { pub fn AMotionEvent_getAxisValue(motion_event: *const AInputEvent, axis: i32, pointer_index: usize) -> c_float; }
[INFO] [stderr]     |                                                         ^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:452:59
[INFO] [stderr]     |
[INFO] [stderr] 452 | extern { pub fn AMotionEvent_getButtonState(motion_event: *const AInputEvent) -> i32; }
[INFO] [stderr]     |                                                           ^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:220:43
[INFO] [stderr]     |
[INFO] [stderr] 220 | extern { pub fn AConfiguration_copy(dest: *mut AConfiguration, src: *mut AConfiguration); }
[INFO] [stderr]     |                                           ^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:453:56
[INFO] [stderr]     |
[INFO] [stderr] 453 | extern { pub fn AMotionEvent_getDownTime(motion_event: *const AInputEvent) -> i64; }
[INFO] [stderr]     |                                                        ^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:220:69
[INFO] [stderr]     |
[INFO] [stderr] 220 | extern { pub fn AConfiguration_copy(dest: *mut AConfiguration, src: *mut AConfiguration); }
[INFO] [stderr]     |                                                                     ^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:454:57
[INFO] [stderr]     |
[INFO] [stderr] 454 | extern { pub fn AMotionEvent_getEdgeFlags(motion_event: *const AInputEvent) -> i32; }
[INFO] [stderr]     |                                                         ^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:221:47
[INFO] [stderr]     |
[INFO] [stderr] 221 | extern { pub fn AConfiguration_delete(config: *mut AConfiguration); }
[INFO] [stderr]     |                                               ^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:455:57
[INFO] [stderr]     |
[INFO] [stderr] 455 | extern { pub fn AMotionEvent_getEventTime(motion_event: *const AInputEvent) -> i64; }
[INFO] [stderr]     |                                                         ^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:222:46
[INFO] [stderr]     |
[INFO] [stderr] 222 | extern { pub fn AConfiguration_diff(config1: *mut AConfiguration, config2: *mut AConfiguration) -> i32; }
[INFO] [stderr]     |                                              ^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:456:53
[INFO] [stderr]     |
[INFO] [stderr] 456 | extern { pub fn AMotionEvent_getFlags(motion_event: *const AInputEvent) -> i32; }
[INFO] [stderr]     |                                                     ^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:222:76
[INFO] [stderr]     |
[INFO] [stderr] 222 | extern { pub fn AConfiguration_diff(config1: *mut AConfiguration, config2: *mut AConfiguration) -> i32; }
[INFO] [stderr]     |                                                                            ^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:457:67
[INFO] [stderr]     |
[INFO] [stderr] 457 | extern { pub fn AMotionEvent_getHistoricalAxisValue(motion_event: *const AInputEvent, axis: i32, pointer_index: usize, history_index: usize) -> c_float; }
[INFO] [stderr]     |                                                                   ^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:458:67
[INFO] [stderr]     |
[INFO] [stderr] 458 | extern { pub fn AMotionEvent_getHistoricalEventTime(motion_event: *const AInputEvent, history_index: usize) -> i64; }
[INFO] [stderr]     |                                                                   ^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:223:54
[INFO] [stderr]     |
[INFO] [stderr] 223 | extern { pub fn AConfiguration_fromAssetManager(out: *mut AConfiguration, am: *mut AAssetManager); }
[INFO] [stderr]     |                                                      ^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:459:69
[INFO] [stderr]     |
[INFO] [stderr] 459 | extern { pub fn AMotionEvent_getHistoricalOrientation(motion_event: *const AInputEvent, pointer_index: usize, history_index: usize) -> c_float; }
[INFO] [stderr]     |                                                                     ^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:223:79
[INFO] [stderr]     |
[INFO] [stderr] 223 | extern { pub fn AConfiguration_fromAssetManager(out: *mut AConfiguration, am: *mut AAssetManager); }
[INFO] [stderr]     |                                                                               ^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:224:51
[INFO] [stderr]     |
[INFO] [stderr] 224 | extern { pub fn AConfiguration_getCountry(config: *mut AConfiguration, outCountry: *mut c_char); }
[INFO] [stderr]     |                                                   ^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:460:66
[INFO] [stderr]     |
[INFO] [stderr] 460 | extern { pub fn AMotionEvent_getHistoricalPressure(motion_event: *const AInputEvent, pointer_index: usize, history_index: usize) -> c_float; }
[INFO] [stderr]     |                                                                  ^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:225:51
[INFO] [stderr]     |
[INFO] [stderr] 225 | extern { pub fn AConfiguration_getDensity(config: *mut AConfiguration) -> i32; }
[INFO] [stderr]     |                                                   ^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:461:62
[INFO] [stderr]     |
[INFO] [stderr] 461 | extern { pub fn AMotionEvent_getHistoricalRawX(motion_event: *const AInputEvent, pointer_index: usize, history_index: usize) -> c_float; }
[INFO] [stderr]     |                                                              ^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:226:52
[INFO] [stderr]     |
[INFO] [stderr] 226 | extern { pub fn AConfiguration_getKeyboard(config: *mut AConfiguration) -> i32; }
[INFO] [stderr]     |                                                    ^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:462:62
[INFO] [stderr]     |
[INFO] [stderr] 462 | extern { pub fn AMotionEvent_getHistoricalRawY(motion_event: *const AInputEvent, pointer_index: usize, history_index: usize) -> c_float; }
[INFO] [stderr]     |                                                              ^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:227:54
[INFO] [stderr]     |
[INFO] [stderr] 227 | extern { pub fn AConfiguration_getKeysHidden(config: *mut AConfiguration) -> i32; }
[INFO] [stderr]     |                                                      ^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:463:62
[INFO] [stderr]     |
[INFO] [stderr] 463 | extern { pub fn AMotionEvent_getHistoricalSize(motion_event: *const AInputEvent, pointer_index: usize, history_index: usize) -> c_float; }
[INFO] [stderr]     |                                                              ^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:228:52
[INFO] [stderr]     |
[INFO] [stderr] 228 | extern { pub fn AConfiguration_getLanguage(config: *mut AConfiguration, outLanguage: *mut c_char); }
[INFO] [stderr]     |                                                    ^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:464:67
[INFO] [stderr]     |
[INFO] [stderr] 464 | extern { pub fn AMotionEvent_getHistoricalToolMajor(motion_event: *const AInputEvent, pointer_index: usize, history_index: usize) -> c_float; }
[INFO] [stderr]     |                                                                   ^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:229:59
[INFO] [stderr]     |
[INFO] [stderr] 229 | extern { pub fn AConfiguration_getLayoutDirection(config: *mut AConfiguration) -> i32; }
[INFO] [stderr]     |                                                           ^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:465:67
[INFO] [stderr]     |
[INFO] [stderr] 465 | extern { pub fn AMotionEvent_getHistoricalToolMinor(motion_event: *const AInputEvent, pointer_index: usize, history_index: usize) -> c_float; }
[INFO] [stderr]     |                                                                   ^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:230:47
[INFO] [stderr]     |
[INFO] [stderr] 230 | extern { pub fn AConfiguration_getMcc(config: *mut AConfiguration) -> i32; }
[INFO] [stderr]     |                                               ^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:466:68
[INFO] [stderr]     |
[INFO] [stderr] 466 | extern { pub fn AMotionEvent_getHistoricalTouchMajor(motion_event: *const AInputEvent, pointer_index: usize, history_index: usize) -> c_float; }
[INFO] [stderr]     |                                                                    ^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:231:47
[INFO] [stderr]     |
[INFO] [stderr] 231 | extern { pub fn AConfiguration_getMnc(config: *mut AConfiguration) -> i32; }
[INFO] [stderr]     |                                               ^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:467:68
[INFO] [stderr]     |
[INFO] [stderr] 467 | extern { pub fn AMotionEvent_getHistoricalTouchMinor(motion_event: *const AInputEvent, pointer_index: usize, history_index: usize) -> c_float; }
[INFO] [stderr]     |                                                                    ^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:232:53
[INFO] [stderr]     |
[INFO] [stderr] 232 | extern { pub fn AConfiguration_getNavHidden(config: *mut AConfiguration) -> i32; }
[INFO] [stderr]     |                                                     ^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:468:59
[INFO] [stderr]     |
[INFO] [stderr] 468 | extern { pub fn AMotionEvent_getHistoricalX(motion_event: *const AInputEvent, pointer_index: usize, history_index: usize) -> c_float; }
[INFO] [stderr]     |                                                           ^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:469:59
[INFO] [stderr]     |
[INFO] [stderr] 469 | extern { pub fn AMotionEvent_getHistoricalY(motion_event: *const AInputEvent, pointer_index: usize, history_index: usize) -> c_float; }
[INFO] [stderr]     |                                                           ^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:233:54
[INFO] [stderr]     |
[INFO] [stderr] 233 | extern { pub fn AConfiguration_getNavigation(config: *mut AConfiguration) -> i32; }
[INFO] [stderr]     |                                                      ^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:470:59
[INFO] [stderr]     |
[INFO] [stderr] 470 | extern { pub fn AMotionEvent_getHistorySize(motion_event: *const AInputEvent) -> usize; }
[INFO] [stderr]     |                                                           ^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:234:55
[INFO] [stderr]     |
[INFO] [stderr] 234 | extern { pub fn AConfiguration_getOrientation(config: *mut AConfiguration) -> i32; }
[INFO] [stderr]     |                                                       ^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:471:57
[INFO] [stderr]     |
[INFO] [stderr] 471 | extern { pub fn AMotionEvent_getMetaState(motion_event: *const AInputEvent) -> i32; }
[INFO] [stderr]     |                                                         ^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:235:58
[INFO] [stderr]     |
[INFO] [stderr] 235 | extern { pub fn AConfiguration_getScreenHeightDp(config: *mut AConfiguration) -> i32; }
[INFO] [stderr]     |                                                          ^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:472:59
[INFO] [stderr]     |
[INFO] [stderr] 472 | extern { pub fn AMotionEvent_getOrientation(motion_event: *const AInputEvent, pointer_index: usize) -> c_float; }
[INFO] [stderr]     |                                                           ^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:236:54
[INFO] [stderr]     |
[INFO] [stderr] 236 | extern { pub fn AConfiguration_getScreenLong(config: *mut AConfiguration) -> i32; }
[INFO] [stderr]     |                                                      ^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:473:60
[INFO] [stderr]     |
[INFO] [stderr] 473 | extern { pub fn AMotionEvent_getPointerCount(motion_event: *const AInputEvent) -> usize; }
[INFO] [stderr]     |                                                            ^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:237:54
[INFO] [stderr]     |
[INFO] [stderr] 237 | extern { pub fn AConfiguration_getScreenSize(config: *mut AConfiguration) -> i32; }
[INFO] [stderr]     |                                                      ^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:474:57
[INFO] [stderr]     |
[INFO] [stderr] 474 | extern { pub fn AMotionEvent_getPointerId(motion_event: *const AInputEvent, pointer_index: usize) -> i32; }
[INFO] [stderr]     |                                                         ^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:475:56
[INFO] [stderr]     |
[INFO] [stderr] 475 | extern { pub fn AMotionEvent_getPressure(motion_event: *const AInputEvent, pointer_index: usize) -> c_float; }
[INFO] [stderr]     |                                                        ^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:238:57
[INFO] [stderr]     |
[INFO] [stderr] 238 | extern { pub fn AConfiguration_getScreenWidthDp(config: *mut AConfiguration) -> i32; }
[INFO] [stderr]     |                                                         ^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:476:52
[INFO] [stderr]     |
[INFO] [stderr] 476 | extern { pub fn AMotionEvent_getRawX(motion_event: *const AInputEvent, pointer_index: usize) -> c_float; }
[INFO] [stderr]     |                                                    ^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:239:54
[INFO] [stderr]     |
[INFO] [stderr] 239 | extern { pub fn AConfiguration_getSdkVersion(config: *mut AConfiguration) -> i32; }
[INFO] [stderr]     |                                                      ^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:477:52
[INFO] [stderr]     |
[INFO] [stderr] 477 | extern { pub fn AMotionEvent_getRawY(motion_event: *const AInputEvent, pointer_index: usize) -> c_float; }
[INFO] [stderr]     |                                                    ^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:478:52
[INFO] [stderr]     |
[INFO] [stderr] 478 | extern { pub fn AMotionEvent_getSize(motion_event: *const AInputEvent, pointer_index: usize) -> c_float; }
[INFO] [stderr]     |                                                    ^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:240:65
[INFO] [stderr]     |
[INFO] [stderr] 240 | extern { pub fn AConfiguration_getSmallestScreenWidthDp(config: *mut AConfiguration) -> i32; }
[INFO] [stderr]     |                                                                 ^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:479:57
[INFO] [stderr]     |
[INFO] [stderr] 479 | extern { pub fn AMotionEvent_getToolMajor(motion_event: *const AInputEvent, pointer_index: usize) -> c_float; }
[INFO] [stderr]     |                                                         ^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:480:57
[INFO] [stderr]     |
[INFO] [stderr] 480 | extern { pub fn AMotionEvent_getToolMinor(motion_event: *const AInputEvent, pointer_index: usize) -> c_float; }
[INFO] [stderr]     |                                                         ^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:241:55
[INFO] [stderr]     |
[INFO] [stderr] 241 | extern { pub fn AConfiguration_getTouchscreen(config: *mut AConfiguration) -> i32; }
[INFO] [stderr]     |                                                       ^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:242:55
[INFO] [stderr]     |
[INFO] [stderr] 242 | extern { pub fn AConfiguration_getUiModeNight(config: *mut AConfiguration) -> i32; }
[INFO] [stderr]     |                                                       ^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:481:56
[INFO] [stderr]     |
[INFO] [stderr] 481 | extern { pub fn AMotionEvent_getToolType(motion_event: *const AInputEvent, pointer_index: usize) -> i32; }
[INFO] [stderr]     |                                                        ^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:482:58
[INFO] [stderr]     |
[INFO] [stderr] 482 | extern { pub fn AMotionEvent_getTouchMajor(motion_event: *const AInputEvent, pointer_index: usize) -> c_float; }
[INFO] [stderr]     |                                                          ^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:243:54
[INFO] [stderr]     |
[INFO] [stderr] 243 | extern { pub fn AConfiguration_getUiModeType(config: *mut AConfiguration) -> i32; }
[INFO] [stderr]     |                                                      ^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:483:58
[INFO] [stderr]     |
[INFO] [stderr] 483 | extern { pub fn AMotionEvent_getTouchMinor(motion_event: *const AInputEvent, pointer_index: usize) -> c_float; }
[INFO] [stderr]     |                                                          ^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:244:51
[INFO] [stderr]     |
[INFO] [stderr] 244 | extern { pub fn AConfiguration_isBetterThan(base: *mut AConfiguration, test: *mut AConfiguration, requested: *mut AConfiguration) -> i32; }
[INFO] [stderr]     |                                                   ^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:484:49
[INFO] [stderr]     |
[INFO] [stderr] 484 | extern { pub fn AMotionEvent_getX(motion_event: *const AInputEvent, pointer_index: usize) -> c_float; }
[INFO] [stderr]     |                                                 ^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:244:78
[INFO] [stderr]     |
[INFO] [stderr] 244 | extern { pub fn AConfiguration_isBetterThan(base: *mut AConfiguration, test: *mut AConfiguration, requested: *mut AConfiguration) -> i32; }
[INFO] [stderr]     |                                                                              ^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:244:110
[INFO] [stderr]     |
[INFO] [stderr] 244 | extern { pub fn AConfiguration_isBetterThan(base: *mut AConfiguration, test: *mut AConfiguration, requested: *mut AConfiguration) -> i32; }
[INFO] [stderr]     |                                                                                                              ^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:485:55
[INFO] [stderr]     |
[INFO] [stderr] 485 | extern { pub fn AMotionEvent_getXOffset(motion_event: *const AInputEvent) -> c_float; }
[INFO] [stderr]     |                                                       ^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:486:58
[INFO] [stderr]     |
[INFO] [stderr] 486 | extern { pub fn AMotionEvent_getXPrecision(motion_event: *const AInputEvent) -> c_float; }
[INFO] [stderr]     |                                                          ^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:245:44
[INFO] [stderr]     |
[INFO] [stderr] 245 | extern { pub fn AConfiguration_match(base: *mut AConfiguration, requested: *mut AConfiguration) -> i32; }
[INFO] [stderr]     |                                            ^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:487:49
[INFO] [stderr]     |
[INFO] [stderr] 487 | extern { pub fn AMotionEvent_getY(motion_event: *const AInputEvent, pointer_index: usize) -> c_float; }
[INFO] [stderr]     |                                                 ^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:245:76
[INFO] [stderr]     |
[INFO] [stderr] 245 | extern { pub fn AConfiguration_match(base: *mut AConfiguration, requested: *mut AConfiguration) -> i32; }
[INFO] [stderr]     |                                                                            ^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:488:55
[INFO] [stderr]     |
[INFO] [stderr] 488 | extern { pub fn AMotionEvent_getYOffset(motion_event: *const AInputEvent) -> c_float; }
[INFO] [stderr]     |                                                       ^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:246:41
[INFO] [stderr]     |
[INFO] [stderr] 246 | extern { pub fn AConfiguration_new() -> *mut AConfiguration; }
[INFO] [stderr]     |                                         ^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:489:58
[INFO] [stderr]     |
[INFO] [stderr] 489 | extern { pub fn AMotionEvent_getYPrecision(motion_event: *const AInputEvent) -> c_float; }
[INFO] [stderr]     |                                                          ^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:247:51
[INFO] [stderr]     |
[INFO] [stderr] 247 | extern { pub fn AConfiguration_setCountry(config: *mut AConfiguration, country: *const c_char); }
[INFO] [stderr]     |                                                   ^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:248:51
[INFO] [stderr]     |
[INFO] [stderr] 248 | extern { pub fn AConfiguration_setDensity(config: *mut AConfiguration, density: i32); }
[INFO] [stderr]     |                                                   ^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:249:52
[INFO] [stderr]     |
[INFO] [stderr] 249 | extern { pub fn AConfiguration_setKeyboard(config: *mut AConfiguration, keyboard: i32); }
[INFO] [stderr]     |                                                    ^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:250:54
[INFO] [stderr]     |
[INFO] [stderr] 250 | extern { pub fn AConfiguration_setKeysHidden(config: *mut AConfiguration, keysHidden: i32); }
[INFO] [stderr]     |                                                      ^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:767:95
[INFO] [stderr]     |
[INFO] [stderr] 767 | extern { pub fn __android_log_vprint(prio: c_int, tag: *const c_char, fmt: *const c_char, ap: *mut __va_list_tag) -> c_int; }
[INFO] [stderr]     |                                                                                               ^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:251:52
[INFO] [stderr]     |
[INFO] [stderr] 251 | extern { pub fn AConfiguration_setLanguage(config: *mut AConfiguration, language: *const c_char); }
[INFO] [stderr]     |                                                    ^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:785:41
[INFO] [stderr]     |
[INFO] [stderr] 785 | extern { pub fn ALooper_acquire(looper: *mut ALooper); }
[INFO] [stderr]     |                                         ^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:252:59
[INFO] [stderr]     |
[INFO] [stderr] 252 | extern { pub fn AConfiguration_setLayoutDirection(config: *mut AConfiguration, value: i32); }
[INFO] [stderr]     |                                                           ^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:786:39
[INFO] [stderr]     |
[INFO] [stderr] 786 | extern { pub fn ALooper_addFd(looper: *mut ALooper, fd: c_int, ident: c_int, events: c_int, callback: ALooper_callbackFunc, data: *mut c_void) -> c_int; }
[INFO] [stderr]     |                                       ^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:253:47
[INFO] [stderr]     |
[INFO] [stderr] 253 | extern { pub fn AConfiguration_setMcc(config: *mut AConfiguration, mcc: i32); }
[INFO] [stderr]     |                                               ^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:788:40
[INFO] [stderr]     |
[INFO] [stderr] 788 | extern { pub fn ALooper_forThread() -> *mut ALooper; }
[INFO] [stderr]     |                                        ^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:254:47
[INFO] [stderr]     |
[INFO] [stderr] 254 | extern { pub fn AConfiguration_setMnc(config: *mut AConfiguration, mnc: i32); }
[INFO] [stderr]     |                                               ^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:791:49
[INFO] [stderr]     |
[INFO] [stderr] 791 | extern { pub fn ALooper_prepare(opts: c_int) -> *mut ALooper; }
[INFO] [stderr]     |                                                 ^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:255:53
[INFO] [stderr]     |
[INFO] [stderr] 255 | extern { pub fn AConfiguration_setNavHidden(config: *mut AConfiguration, navHidden: i32); }
[INFO] [stderr]     |                                                     ^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:792:41
[INFO] [stderr]     |
[INFO] [stderr] 792 | extern { pub fn ALooper_release(looper: *mut ALooper); }
[INFO] [stderr]     |                                         ^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:793:42
[INFO] [stderr]     |
[INFO] [stderr] 793 | extern { pub fn ALooper_removeFd(looper: *mut ALooper, fd: c_int) -> c_int; }
[INFO] [stderr]     |                                          ^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:256:54
[INFO] [stderr]     |
[INFO] [stderr] 256 | extern { pub fn AConfiguration_setNavigation(config: *mut AConfiguration, navigation: i32); }
[INFO] [stderr]     |                                                      ^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:794:38
[INFO] [stderr]     |
[INFO] [stderr] 794 | extern { pub fn ALooper_wake(looper: *mut ALooper); }
[INFO] [stderr]     |                                      ^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:257:55
[INFO] [stderr]     |
[INFO] [stderr] 257 | extern { pub fn AConfiguration_setOrientation(config: *mut AConfiguration, orientation: i32); }
[INFO] [stderr]     |                                                       ^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:258:58
[INFO] [stderr]     |
[INFO] [stderr] 258 | extern { pub fn AConfiguration_setScreenHeightDp(config: *mut AConfiguration, value: i32); }
[INFO] [stderr]     |                                                          ^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:836:50
[INFO] [stderr]     |
[INFO] [stderr] 836 | extern { pub fn ANativeActivity_finish(activity: *mut ANativeActivity); }
[INFO] [stderr]     |                                                  ^^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:259:54
[INFO] [stderr]     |
[INFO] [stderr] 259 | extern { pub fn AConfiguration_setScreenLong(config: *mut AConfiguration, screenLong: i32); }
[INFO] [stderr]     |                                                      ^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:837:57
[INFO] [stderr]     |
[INFO] [stderr] 837 | extern { pub fn ANativeActivity_hideSoftInput(activity: *mut ANativeActivity, flags: u32); }
[INFO] [stderr]     |                                                         ^^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:260:54
[INFO] [stderr]     |
[INFO] [stderr] 260 | extern { pub fn AConfiguration_setScreenSize(config: *mut AConfiguration, screenSize: i32); }
[INFO] [stderr]     |                                                      ^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:838:58
[INFO] [stderr]     |
[INFO] [stderr] 838 | extern { pub fn ANativeActivity_setWindowFlags(activity: *mut ANativeActivity, addFlags: u32, removeFlags: u32); }
[INFO] [stderr]     |                                                          ^^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:261:57
[INFO] [stderr]     |
[INFO] [stderr] 261 | extern { pub fn AConfiguration_setScreenWidthDp(config: *mut AConfiguration, value: i32); }
[INFO] [stderr]     |                                                         ^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:839:59
[INFO] [stderr]     |
[INFO] [stderr] 839 | extern { pub fn ANativeActivity_setWindowFormat(activity: *mut ANativeActivity, format: i32); }
[INFO] [stderr]     |                                                           ^^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:262:54
[INFO] [stderr]     |
[INFO] [stderr] 262 | extern { pub fn AConfiguration_setSdkVersion(config: *mut AConfiguration, sdkVersion: i32); }
[INFO] [stderr]     |                                                      ^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:840:57
[INFO] [stderr]     |
[INFO] [stderr] 840 | extern { pub fn ANativeActivity_showSoftInput(activity: *mut ANativeActivity, flags: u32); }
[INFO] [stderr]     |                                                         ^^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:263:65
[INFO] [stderr]     |
[INFO] [stderr] 263 | extern { pub fn AConfiguration_setSmallestScreenWidthDp(config: *mut AConfiguration, value: i32); }
[INFO] [stderr]     |                                                                 ^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:855:47
[INFO] [stderr]     |
[INFO] [stderr] 855 | extern { pub fn ANativeWindow_acquire(window: *mut ANativeWindow); }
[INFO] [stderr]     |                                               ^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:264:55
[INFO] [stderr]     |
[INFO] [stderr] 264 | extern { pub fn AConfiguration_setTouchscreen(config: *mut AConfiguration, touchscreen: i32); }
[INFO] [stderr]     |                                                       ^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:856:49
[INFO] [stderr]     |
[INFO] [stderr] 856 | extern { pub fn ANativeWindow_getFormat(window: *mut ANativeWindow) -> i32; }
[INFO] [stderr]     |                                                 ^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:857:49
[INFO] [stderr]     |
[INFO] [stderr] 857 | extern { pub fn ANativeWindow_getHeight(window: *mut ANativeWindow) -> i32; }
[INFO] [stderr]     |                                                 ^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:265:55
[INFO] [stderr]     |
[INFO] [stderr] 265 | extern { pub fn AConfiguration_setUiModeNight(config: *mut AConfiguration, uiModeNight: i32); }
[INFO] [stderr]     |                                                       ^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:858:48
[INFO] [stderr]     |
[INFO] [stderr] 858 | extern { pub fn ANativeWindow_getWidth(window: *mut ANativeWindow) -> i32; }
[INFO] [stderr]     |                                                ^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:266:54
[INFO] [stderr]     |
[INFO] [stderr] 266 | extern { pub fn AConfiguration_setUiModeType(config: *mut AConfiguration, uiModeType: i32); }
[INFO] [stderr]     |                                                      ^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:859:44
[INFO] [stderr]     |
[INFO] [stderr] 859 | extern { pub fn ANativeWindow_lock(window: *mut ANativeWindow, outBuffer: *mut ANativeWindow_Buffer, inOutDirtyBounds: *mut ARect) -> i32; }
[INFO] [stderr]     |                                            ^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:860:47
[INFO] [stderr]     |
[INFO] [stderr] 860 | extern { pub fn ANativeWindow_release(window: *mut ANativeWindow); }
[INFO] [stderr]     |                                               ^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:324:48
[INFO] [stderr]     |
[INFO] [stderr] 324 | extern { pub fn AInputEvent_getDeviceId(event: *const AInputEvent) -> i32; }
[INFO] [stderr]     |                                                ^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:861:58
[INFO] [stderr]     |
[INFO] [stderr] 861 | extern { pub fn ANativeWindow_setBuffersGeometry(window: *mut ANativeWindow, width: i32, height: i32, format: i32) -> i32; }
[INFO] [stderr]     |                                                          ^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:325:46
[INFO] [stderr]     |
[INFO] [stderr] 325 | extern { pub fn AInputEvent_getSource(event: *const AInputEvent) -> i32; }
[INFO] [stderr]     |                                              ^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:862:53
[INFO] [stderr]     |
[INFO] [stderr] 862 | extern { pub fn ANativeWindow_unlockAndPost(window: *mut ANativeWindow) -> i32; }
[INFO] [stderr]     |                                                     ^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:326:44
[INFO] [stderr]     |
[INFO] [stderr] 326 | extern { pub fn AInputEvent_getType(event: *const AInputEvent) -> i32; }
[INFO] [stderr]     |                                            ^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:870:48
[INFO] [stderr]     |
[INFO] [stderr] 870 | extern { pub fn ANativeWindow_fromSurface(env: *mut JNIEnv, surface: jobject) -> *mut ANativeWindow; }
[INFO] [stderr]     |                                                ^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:870:70
[INFO] [stderr]     |
[INFO] [stderr] 870 | extern { pub fn ANativeWindow_fromSurface(env: *mut JNIEnv, surface: jobject) -> *mut ANativeWindow; }
[INFO] [stderr]     |                                                                      ^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:328:49
[INFO] [stderr]     |
[INFO] [stderr] 328 | extern { pub fn AInputQueue_attachLooper(queue: *mut AInputQueue, looper: *mut ALooper, ident: c_int, callback: ALooper_callbackFunc, data: *mut c_void); }
[INFO] [stderr]     |                                                 ^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:870:82
[INFO] [stderr]     |
[INFO] [stderr] 870 | extern { pub fn ANativeWindow_fromSurface(env: *mut JNIEnv, surface: jobject) -> *mut ANativeWindow; }
[INFO] [stderr]     |                                                                                  ^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:328:75
[INFO] [stderr]     |
[INFO] [stderr] 328 | extern { pub fn AInputQueue_attachLooper(queue: *mut AInputQueue, looper: *mut ALooper, ident: c_int, callback: ALooper_callbackFunc, data: *mut c_void); }
[INFO] [stderr]     |                                                                           ^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:877:42
[INFO] [stderr]     |
[INFO] [stderr] 877 | extern { pub fn AObbInfo_delete(obbInfo: *mut AObbInfo); }
[INFO] [stderr]     |                                          ^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:878:44
[INFO] [stderr]     |
[INFO] [stderr] 878 | extern { pub fn AObbInfo_getFlags(obbInfo: *mut AObbInfo) -> i32; }
[INFO] [stderr]     |                                            ^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:329:49
[INFO] [stderr]     |
[INFO] [stderr] 329 | extern { pub fn AInputQueue_detachLooper(queue: *mut AInputQueue); }
[INFO] [stderr]     |                                                 ^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:879:50
[INFO] [stderr]     |
[INFO] [stderr] 879 | extern { pub fn AObbInfo_getPackageName(obbInfo: *mut AObbInfo) -> *const c_char; }
[INFO] [stderr]     |                                                  ^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:330:48
[INFO] [stderr]     |
[INFO] [stderr] 330 | extern { pub fn AInputQueue_finishEvent(queue: *mut AInputQueue, event: *mut AInputEvent, handled: c_int); }
[INFO] [stderr]     |                                                ^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:880:46
[INFO] [stderr]     |
[INFO] [stderr] 880 | extern { pub fn AObbInfo_getVersion(obbInfo: *mut AObbInfo) -> i32; }
[INFO] [stderr]     |                                              ^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:330:73
[INFO] [stderr]     |
[INFO] [stderr] 330 | extern { pub fn AInputQueue_finishEvent(queue: *mut AInputQueue, event: *mut AInputEvent, handled: c_int); }
[INFO] [stderr]     |                                                                         ^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:881:68
[INFO] [stderr]     |
[INFO] [stderr] 881 | extern { pub fn AObbScanner_getObbInfo(filename: *const c_char) -> *mut AObbInfo; }
[INFO] [stderr]     |                                                                    ^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:331:45
[INFO] [stderr]     |
[INFO] [stderr] 331 | extern { pub fn AInputQueue_getEvent(queue: *mut AInputQueue, outEvent: *mut *mut AInputEvent) -> i32; }
[INFO] [stderr]     |                                             ^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:935:56
[INFO] [stderr]     |
[INFO] [stderr] 935 | extern { pub fn ASensorEventQueue_disableSensor(queue: *mut ASensorEventQueue, sensor: *const ASensor) -> c_int; }
[INFO] [stderr]     |                                                        ^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:935:88
[INFO] [stderr]     |
[INFO] [stderr] 935 | extern { pub fn ASensorEventQueue_disableSensor(queue: *mut ASensorEventQueue, sensor: *const ASensor) -> c_int; }
[INFO] [stderr]     |                                                                                        ^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:331:73
[INFO] [stderr]     |
[INFO] [stderr] 331 | extern { pub fn AInputQueue_getEvent(queue: *mut AInputQueue, outEvent: *mut *mut AInputEvent) -> i32; }
[INFO] [stderr]     |                                                                         ^^^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:936:55
[INFO] [stderr]     |
[INFO] [stderr] 936 | extern { pub fn ASensorEventQueue_enableSensor(queue: *mut ASensorEventQueue, sensor: *const ASensor) -> c_int; }
[INFO] [stderr]     |                                                       ^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:332:46
[INFO] [stderr]     |
[INFO] [stderr] 332 | extern { pub fn AInputQueue_hasEvents(queue: *mut AInputQueue) -> i32; }
[INFO] [stderr]     |                                              ^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:936:87
[INFO] [stderr]     |
[INFO] [stderr] 936 | extern { pub fn ASensorEventQueue_enableSensor(queue: *mut ASensorEventQueue, sensor: *const ASensor) -> c_int; }
[INFO] [stderr]     |                                                                                       ^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:333:53
[INFO] [stderr]     |
[INFO] [stderr] 333 | extern { pub fn AInputQueue_preDispatchEvent(queue: *mut AInputQueue, event: *mut AInputEvent) -> i32; }
[INFO] [stderr]     |                                                     ^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:937:52
[INFO] [stderr]     |
[INFO] [stderr] 937 | extern { pub fn ASensorEventQueue_getEvents(queue: *mut ASensorEventQueue, events: *mut ASensorEvent, count: usize) -> isize; }
[INFO] [stderr]     |                                                    ^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:333:78
[INFO] [stderr]     |
[INFO] [stderr] 333 | extern { pub fn AInputQueue_preDispatchEvent(queue: *mut AInputQueue, event: *mut AInputEvent) -> i32; }
[INFO] [stderr]     |                                                                              ^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:938:52
[INFO] [stderr]     |
[INFO] [stderr] 938 | extern { pub fn ASensorEventQueue_hasEvents(queue: *mut ASensorEventQueue) -> c_int; }
[INFO] [stderr]     |                                                    ^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:352:48
[INFO] [stderr]     |
[INFO] [stderr] 352 | extern { pub fn AKeyEvent_getAction(key_event: *const AInputEvent) -> i32; }
[INFO] [stderr]     |                                                ^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:939:55
[INFO] [stderr]     |
[INFO] [stderr] 939 | extern { pub fn ASensorEventQueue_setEventRate(queue: *mut ASensorEventQueue, sensor: *const ASensor, usec: i32) -> c_int; }
[INFO] [stderr]     |                                                       ^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:939:87
[INFO] [stderr]     |
[INFO] [stderr] 939 | extern { pub fn ASensorEventQueue_setEventRate(queue: *mut ASensorEventQueue, sensor: *const ASensor, usec: i32) -> c_int; }
[INFO] [stderr]     |                                                                                       ^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:353:50
[INFO] [stderr]     |
[INFO] [stderr] 353 | extern { pub fn AKeyEvent_getDownTime(key_event: *const AInputEvent) -> i64; }
[INFO] [stderr]     |                                                  ^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:942:58
[INFO] [stderr]     |
[INFO] [stderr] 942 | extern { pub fn ASensorManager_createEventQueue(manager: *mut ASensorManager, looper: *mut ALooper, ident: c_int, callback: ALooper_callbackFunc, data: *mut c_void) -> *mut ASensorEventQueue; }
[INFO] [stderr]     |                                                          ^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:354:51
[INFO] [stderr]     |
[INFO] [stderr] 354 | extern { pub fn AKeyEvent_getEventTime(key_event: *const AInputEvent) -> i64; }
[INFO] [stderr]     |                                                   ^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:942:87
[INFO] [stderr]     |
[INFO] [stderr] 942 | extern { pub fn ASensorManager_createEventQueue(manager: *mut ASensorManager, looper: *mut ALooper, ident: c_int, callback: ALooper_callbackFunc, data: *mut c_void) -> *mut ASensorEventQueue; }
[INFO] [stderr]     |                                                                                       ^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:355:47
[INFO] [stderr]     |
[INFO] [stderr] 355 | extern { pub fn AKeyEvent_getFlags(key_event: *const AInputEvent) -> i32; }
[INFO] [stderr]     |                                               ^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:942:169
[INFO] [stderr]     |
[INFO] [stderr] 942 | extern { pub fn ASensorManager_createEventQueue(manager: *mut ASensorManager, looper: *mut ALooper, ident: c_int, callback: ALooper_callbackFunc, data: *mut c_void) -> *mut ASensorEventQueue; }
[INFO] [stderr]     |                                                                                                                                                                         ^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:356:49
[INFO] [stderr]     |
[INFO] [stderr] 356 | extern { pub fn AKeyEvent_getKeyCode(key_event: *const AInputEvent) -> i32; }
[INFO] [stderr]     |                                                 ^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:943:59
[INFO] [stderr]     |
[INFO] [stderr] 943 | extern { pub fn ASensorManager_destroyEventQueue(manager: *mut ASensorManager, queue: *mut ASensorEventQueue) -> c_int; }
[INFO] [stderr]     |                                                           ^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:357:51
[INFO] [stderr]     |
[INFO] [stderr] 357 | extern { pub fn AKeyEvent_getMetaState(key_event: *const AInputEvent) -> i32; }
[INFO] [stderr]     |                                                   ^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:943:87
[INFO] [stderr]     |
[INFO] [stderr] 943 | extern { pub fn ASensorManager_destroyEventQueue(manager: *mut ASensorManager, queue: *mut ASensorEventQueue) -> c_int; }
[INFO] [stderr]     |                                                                                       ^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:358:53
[INFO] [stderr]     |
[INFO] [stderr] 358 | extern { pub fn AKeyEvent_getRepeatCount(key_event: *const AInputEvent) -> i32; }
[INFO] [stderr]     |                                                     ^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:944:58
[INFO] [stderr]     |
[INFO] [stderr] 944 | extern { pub fn ASensorManager_getDefaultSensor(manager: *mut ASensorManager, xtype: c_int) -> *const ASensor; }
[INFO] [stderr]     |                                                          ^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:359:50
[INFO] [stderr]     |
[INFO] [stderr] 359 | extern { pub fn AKeyEvent_getScanCode(key_event: *const AInputEvent) -> i32; }
[INFO] [stderr]     |                                                  ^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:944:96
[INFO] [stderr]     |
[INFO] [stderr] 944 | extern { pub fn ASensorManager_getDefaultSensor(manager: *mut ASensorManager, xtype: c_int) -> *const ASensor; }
[INFO] [stderr]     |                                                                                                ^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:945:60
[INFO] [stderr]     |
[INFO] [stderr] 945 | extern { pub fn ASensorManager_getDefaultSensorEx(manager: *mut ASensorManager, xtype: c_int, wakeUp: bool) -> *const ASensor; }
[INFO] [stderr]     |                                                            ^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:945:112
[INFO] [stderr]     |
[INFO] [stderr] 945 | extern { pub fn ASensorManager_getDefaultSensorEx(manager: *mut ASensorManager, xtype: c_int, wakeUp: bool) -> *const ASensor; }
[INFO] [stderr]     |                                                                                                                ^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:450:54
[INFO] [stderr]     |
[INFO] [stderr] 450 | extern { pub fn AMotionEvent_getAction(motion_event: *const AInputEvent) -> i32; }
[INFO] [stderr]     |                                                      ^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:946:49
[INFO] [stderr]     |
[INFO] [stderr] 946 | extern { pub fn ASensorManager_getInstance() -> *mut ASensorManager; }
[INFO] [stderr]     |                                                 ^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:451:57
[INFO] [stderr]     |
[INFO] [stderr] 451 | extern { pub fn AMotionEvent_getAxisValue(motion_event: *const AInputEvent, axis: i32, pointer_index: usize) -> c_float; }
[INFO] [stderr]     |                                                         ^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:947:55
[INFO] [stderr]     |
[INFO] [stderr] 947 | extern { pub fn ASensorManager_getSensorList(manager: *mut ASensorManager, list: *mut ASensorList) -> c_int; }
[INFO] [stderr]     |                                                       ^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:452:59
[INFO] [stderr]     |
[INFO] [stderr] 452 | extern { pub fn AMotionEvent_getButtonState(motion_event: *const AInputEvent) -> i32; }
[INFO] [stderr]     |                                                           ^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:947:82
[INFO] [stderr]     |
[INFO] [stderr] 947 | extern { pub fn ASensorManager_getSensorList(manager: *mut ASensorManager, list: *mut ASensorList) -> c_int; }
[INFO] [stderr]     |                                                                                  ^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:453:56
[INFO] [stderr]     |
[INFO] [stderr] 453 | extern { pub fn AMotionEvent_getDownTime(motion_event: *const AInputEvent) -> i64; }
[INFO] [stderr]     |                                                        ^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:955:54
[INFO] [stderr]     |
[INFO] [stderr] 955 | extern { pub fn ASensor_getFifoMaxEventCount(sensor: *const ASensor) -> c_int; }
[INFO] [stderr]     |                                                      ^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:454:57
[INFO] [stderr]     |
[INFO] [stderr] 454 | extern { pub fn AMotionEvent_getEdgeFlags(motion_event: *const AInputEvent) -> i32; }
[INFO] [stderr]     |                                                         ^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:956:59
[INFO] [stderr]     |
[INFO] [stderr] 956 | extern { pub fn ASensor_getFifoReservedEventCount(sensor: *const ASensor) -> c_int; }
[INFO] [stderr]     |                                                           ^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:455:57
[INFO] [stderr]     |
[INFO] [stderr] 455 | extern { pub fn AMotionEvent_getEventTime(motion_event: *const AInputEvent) -> i64; }
[INFO] [stderr]     |                                                         ^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:957:45
[INFO] [stderr]     |
[INFO] [stderr] 957 | extern { pub fn ASensor_getMinDelay(sensor: *const ASensor) -> c_int; }
[INFO] [stderr]     |                                             ^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:456:53
[INFO] [stderr]     |
[INFO] [stderr] 456 | extern { pub fn AMotionEvent_getFlags(motion_event: *const AInputEvent) -> i32; }
[INFO] [stderr]     |                                                     ^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:958:41
[INFO] [stderr]     |
[INFO] [stderr] 958 | extern { pub fn ASensor_getName(sensor: *const ASensor) -> *const c_char; }
[INFO] [stderr]     |                                         ^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:457:67
[INFO] [stderr]     |
[INFO] [stderr] 457 | extern { pub fn AMotionEvent_getHistoricalAxisValue(motion_event: *const AInputEvent, axis: i32, pointer_index: usize, history_index: usize) -> c_float; }
[INFO] [stderr]     |                                                                   ^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:959:50
[INFO] [stderr]     |
[INFO] [stderr] 959 | extern { pub fn ASensor_getReportingMode(sensor: *const ASensor) -> c_int; }
[INFO] [stderr]     |                                                  ^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:960:47
[INFO] [stderr]     |
[INFO] [stderr] 960 | extern { pub fn ASensor_getResolution(sensor: *const ASensor) -> c_float; }
[INFO] [stderr]     |                                               ^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:458:67
[INFO] [stderr]     |
[INFO] [stderr] 458 | extern { pub fn AMotionEvent_getHistoricalEventTime(motion_event: *const AInputEvent, history_index: usize) -> i64; }
[INFO] [stderr]     |                                                                   ^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:459:69
[INFO] [stderr]     |
[INFO] [stderr] 459 | extern { pub fn AMotionEvent_getHistoricalOrientation(motion_event: *const AInputEvent, pointer_index: usize, history_index: usize) -> c_float; }
[INFO] [stderr]     |                                                                     ^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:961:47
[INFO] [stderr]     |
[INFO] [stderr] 961 | extern { pub fn ASensor_getStringType(sensor: *const ASensor) -> *const c_char; }
[INFO] [stderr]     |                                               ^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:460:66
[INFO] [stderr]     |
[INFO] [stderr] 460 | extern { pub fn AMotionEvent_getHistoricalPressure(motion_event: *const AInputEvent, pointer_index: usize, history_index: usize) -> c_float; }
[INFO] [stderr]     |                                                                  ^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:962:41
[INFO] [stderr]     |
[INFO] [stderr] 962 | extern { pub fn ASensor_getType(sensor: *const ASensor) -> c_int; }
[INFO] [stderr]     |                                         ^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:461:62
[INFO] [stderr]     |
[INFO] [stderr] 461 | extern { pub fn AMotionEvent_getHistoricalRawX(motion_event: *const AInputEvent, pointer_index: usize, history_index: usize) -> c_float; }
[INFO] [stderr]     |                                                              ^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:963:43
[INFO] [stderr]     |
[INFO] [stderr] 963 | extern { pub fn ASensor_getVendor(sensor: *const ASensor) -> *const c_char; }
[INFO] [stderr]     |                                           ^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:462:62
[INFO] [stderr]     |
[INFO] [stderr] 462 | extern { pub fn AMotionEvent_getHistoricalRawY(motion_event: *const AInputEvent, pointer_index: usize, history_index: usize) -> c_float; }
[INFO] [stderr]     |                                                              ^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:463:62
[INFO] [stderr]     |
[INFO] [stderr] 463 | extern { pub fn AMotionEvent_getHistoricalSize(motion_event: *const AInputEvent, pointer_index: usize, history_index: usize) -> c_float; }
[INFO] [stderr]     |                                                              ^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:964:48
[INFO] [stderr]     |
[INFO] [stderr] 964 | extern { pub fn ASensor_isWakeUpSensor(sensor: *const ASensor) -> bool; }
[INFO] [stderr]     |                                                ^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:464:67
[INFO] [stderr]     |
[INFO] [stderr] 464 | extern { pub fn AMotionEvent_getHistoricalToolMajor(motion_event: *const AInputEvent, pointer_index: usize, history_index: usize) -> c_float; }
[INFO] [stderr]     |                                                                   ^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:465:67
[INFO] [stderr]     |
[INFO] [stderr] 465 | extern { pub fn AMotionEvent_getHistoricalToolMinor(motion_event: *const AInputEvent, pointer_index: usize, history_index: usize) -> c_float; }
[INFO] [stderr]     |                                                                   ^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:466:68
[INFO] [stderr]     |
[INFO] [stderr] 466 | extern { pub fn AMotionEvent_getHistoricalTouchMajor(motion_event: *const AInputEvent, pointer_index: usize, history_index: usize) -> c_float; }
[INFO] [stderr]     |                                                                    ^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:467:68
[INFO] [stderr]     |
[INFO] [stderr] 467 | extern { pub fn AMotionEvent_getHistoricalTouchMinor(motion_event: *const AInputEvent, pointer_index: usize, history_index: usize) -> c_float; }
[INFO] [stderr]     |                                                                    ^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:468:59
[INFO] [stderr]     |
[INFO] [stderr] 468 | extern { pub fn AMotionEvent_getHistoricalX(motion_event: *const AInputEvent, pointer_index: usize, history_index: usize) -> c_float; }
[INFO] [stderr]     |                                                           ^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:469:59
[INFO] [stderr]     |
[INFO] [stderr] 469 | extern { pub fn AMotionEvent_getHistoricalY(motion_event: *const AInputEvent, pointer_index: usize, history_index: usize) -> c_float; }
[INFO] [stderr]     |                                                           ^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:470:59
[INFO] [stderr]     |
[INFO] [stderr] 470 | extern { pub fn AMotionEvent_getHistorySize(motion_event: *const AInputEvent) -> usize; }
[INFO] [stderr]     |                                                           ^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:471:57
[INFO] [stderr]     |
[INFO] [stderr] 471 | extern { pub fn AMotionEvent_getMetaState(motion_event: *const AInputEvent) -> i32; }
[INFO] [stderr]     |                                                         ^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:472:59
[INFO] [stderr]     |
[INFO] [stderr] 472 | extern { pub fn AMotionEvent_getOrientation(motion_event: *const AInputEvent, pointer_index: usize) -> c_float; }
[INFO] [stderr]     |                                                           ^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:473:60
[INFO] [stderr]     |
[INFO] [stderr] 473 | extern { pub fn AMotionEvent_getPointerCount(motion_event: *const AInputEvent) -> usize; }
[INFO] [stderr]     |                                                            ^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:474:57
[INFO] [stderr]     |
[INFO] [stderr] 474 | extern { pub fn AMotionEvent_getPointerId(motion_event: *const AInputEvent, pointer_index: usize) -> i32; }
[INFO] [stderr]     |                                                         ^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:475:56
[INFO] [stderr]     |
[INFO] [stderr] 475 | extern { pub fn AMotionEvent_getPressure(motion_event: *const AInputEvent, pointer_index: usize) -> c_float; }
[INFO] [stderr]     |                                                        ^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:476:52
[INFO] [stderr]     |
[INFO] [stderr] 476 | extern { pub fn AMotionEvent_getRawX(motion_event: *const AInputEvent, pointer_index: usize) -> c_float; }
[INFO] [stderr]     |                                                    ^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:477:52
[INFO] [stderr]     |
[INFO] [stderr] 477 | extern { pub fn AMotionEvent_getRawY(motion_event: *const AInputEvent, pointer_index: usize) -> c_float; }
[INFO] [stderr]     |                                                    ^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:478:52
[INFO] [stderr]     |
[INFO] [stderr] 478 | extern { pub fn AMotionEvent_getSize(motion_event: *const AInputEvent, pointer_index: usize) -> c_float; }
[INFO] [stderr]     |                                                    ^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:479:57
[INFO] [stderr]     |
[INFO] [stderr] 479 | extern { pub fn AMotionEvent_getToolMajor(motion_event: *const AInputEvent, pointer_index: usize) -> c_float; }
[INFO] [stderr]     |                                                         ^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:480:57
[INFO] [stderr]     |
[INFO] [stderr] 480 | extern { pub fn AMotionEvent_getToolMinor(motion_event: *const AInputEvent, pointer_index: usize) -> c_float; }
[INFO] [stderr]     |                                                         ^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:481:56
[INFO] [stderr]     |
[INFO] [stderr] 481 | extern { pub fn AMotionEvent_getToolType(motion_event: *const AInputEvent, pointer_index: usize) -> i32; }
[INFO] [stderr]     |                                                        ^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:482:58
[INFO] [stderr]     |
[INFO] [stderr] 482 | extern { pub fn AMotionEvent_getTouchMajor(motion_event: *const AInputEvent, pointer_index: usize) -> c_float; }
[INFO] [stderr]     |                                                          ^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:483:58
[INFO] [stderr]     |
[INFO] [stderr] 483 | extern { pub fn AMotionEvent_getTouchMinor(motion_event: *const AInputEvent, pointer_index: usize) -> c_float; }
[INFO] [stderr]     |                                                          ^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:484:49
[INFO] [stderr]     |
[INFO] [stderr] 484 | extern { pub fn AMotionEvent_getX(motion_event: *const AInputEvent, pointer_index: usize) -> c_float; }
[INFO] [stderr]     |                                                 ^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:485:55
[INFO] [stderr]     |
[INFO] [stderr] 485 | extern { pub fn AMotionEvent_getXOffset(motion_event: *const AInputEvent) -> c_float; }
[INFO] [stderr]     |                                                       ^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:486:58
[INFO] [stderr]     |
[INFO] [stderr] 486 | extern { pub fn AMotionEvent_getXPrecision(motion_event: *const AInputEvent) -> c_float; }
[INFO] [stderr]     |                                                          ^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:487:49
[INFO] [stderr]     |
[INFO] [stderr] 487 | extern { pub fn AMotionEvent_getY(motion_event: *const AInputEvent, pointer_index: usize) -> c_float; }
[INFO] [stderr]     |                                                 ^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:488:55
[INFO] [stderr]     |
[INFO] [stderr] 488 | extern { pub fn AMotionEvent_getYOffset(motion_event: *const AInputEvent) -> c_float; }
[INFO] [stderr]     |                                                       ^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:489:58
[INFO] [stderr]     |
[INFO] [stderr] 489 | extern { pub fn AMotionEvent_getYPrecision(motion_event: *const AInputEvent) -> c_float; }
[INFO] [stderr]     |                                                          ^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]     --> src/ffi.rs:1007:45
[INFO] [stderr]      |
[INFO] [stderr] 1007 | extern { pub fn AStorageManager_delete(mgr: *mut AStorageManager); }
[INFO] [stderr]      |                                             ^^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]      |
[INFO] [stderr]      = help: consider using a struct instead
[INFO] [stderr]      = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:767:95
[INFO] [stderr]     |
[INFO] [stderr] 767 | extern { pub fn __android_log_vprint(prio: c_int, tag: *const c_char, fmt: *const c_char, ap: *mut __va_list_tag) -> c_int; }
[INFO] [stderr]     |                                                                                               ^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]     --> src/ffi.rs:1008:56
[INFO] [stderr]      |
[INFO] [stderr] 1008 | extern { pub fn AStorageManager_getMountedObbPath(mgr: *mut AStorageManager, filename: *const c_char) -> *const c_char; }
[INFO] [stderr]      |                                                        ^^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]      |
[INFO] [stderr]      = help: consider using a struct instead
[INFO] [stderr]      = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:785:41
[INFO] [stderr]     |
[INFO] [stderr] 785 | extern { pub fn ALooper_acquire(looper: *mut ALooper); }
[INFO] [stderr]     |                                         ^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:786:39
[INFO] [stderr]     |
[INFO] [stderr] 786 | extern { pub fn ALooper_addFd(looper: *mut ALooper, fd: c_int, ident: c_int, events: c_int, callback: ALooper_callbackFunc, data: *mut c_void) -> c_int; }
[INFO] [stderr]     |                                       ^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]     --> src/ffi.rs:1009:51
[INFO] [stderr]      |
[INFO] [stderr] 1009 | extern { pub fn AStorageManager_isObbMounted(mgr: *mut AStorageManager, filename: *const c_char) -> c_int; }
[INFO] [stderr]      |                                                   ^^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]      |
[INFO] [stderr]      = help: consider using a struct instead
[INFO] [stderr]      = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:788:40
[INFO] [stderr]     |
[INFO] [stderr] 788 | extern { pub fn ALooper_forThread() -> *mut ALooper; }
[INFO] [stderr]     |                                        ^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]     --> src/ffi.rs:1010:47
[INFO] [stderr]      |
[INFO] [stderr] 1010 | extern { pub fn AStorageManager_mountObb(mgr: *mut AStorageManager, filename: *const c_char, key: *const c_char, cb: AStorageManager_obbCallbackFunc, data: *mut c_void); }
[INFO] [stderr]      |                                               ^^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]      |
[INFO] [stderr]      = help: consider using a struct instead
[INFO] [stderr]      = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:791:49
[INFO] [stderr]     |
[INFO] [stderr] 791 | extern { pub fn ALooper_prepare(opts: c_int) -> *mut ALooper; }
[INFO] [stderr]     |                                                 ^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:792:41
[INFO] [stderr]     |
[INFO] [stderr] 792 | extern { pub fn ALooper_release(looper: *mut ALooper); }
[INFO] [stderr]     |                                         ^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]     --> src/ffi.rs:1011:42
[INFO] [stderr]      |
[INFO] [stderr] 1011 | extern { pub fn AStorageManager_new() -> *mut AStorageManager; }
[INFO] [stderr]      |                                          ^^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]      |
[INFO] [stderr]      = help: consider using a struct instead
[INFO] [stderr]      = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:793:42
[INFO] [stderr]     |
[INFO] [stderr] 793 | extern { pub fn ALooper_removeFd(looper: *mut ALooper, fd: c_int) -> c_int; }
[INFO] [stderr]     |                                          ^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:794:38
[INFO] [stderr]     |
[INFO] [stderr] 794 | extern { pub fn ALooper_wake(looper: *mut ALooper); }
[INFO] [stderr]     |                                      ^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]     --> src/ffi.rs:1013:49
[INFO] [stderr]      |
[INFO] [stderr] 1013 | extern { pub fn AStorageManager_unmountObb(mgr: *mut AStorageManager, filename: *const c_char, force: c_int, cb: AStorageManager_obbCallbackFunc, data: *mut c_void); }
[INFO] [stderr]      |                                                 ^^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]      |
[INFO] [stderr]      = help: consider using a struct instead
[INFO] [stderr]      = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:836:50
[INFO] [stderr]     |
[INFO] [stderr] 836 | extern { pub fn ANativeActivity_finish(activity: *mut ANativeActivity); }
[INFO] [stderr]     |                                                  ^^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:837:57
[INFO] [stderr]     |
[INFO] [stderr] 837 | extern { pub fn ANativeActivity_hideSoftInput(activity: *mut ANativeActivity, flags: u32); }
[INFO] [stderr]     |                                                         ^^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:838:58
[INFO] [stderr]     |
[INFO] [stderr] 838 | extern { pub fn ANativeActivity_setWindowFlags(activity: *mut ANativeActivity, addFlags: u32, removeFlags: u32); }
[INFO] [stderr]     |                                                          ^^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:839:59
[INFO] [stderr]     |
[INFO] [stderr] 839 | extern { pub fn ANativeActivity_setWindowFormat(activity: *mut ANativeActivity, format: i32); }
[INFO] [stderr]     |                                                           ^^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:840:57
[INFO] [stderr]     |
[INFO] [stderr] 840 | extern { pub fn ANativeActivity_showSoftInput(activity: *mut ANativeActivity, flags: u32); }
[INFO] [stderr]     |                                                         ^^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:855:47
[INFO] [stderr]     |
[INFO] [stderr] 855 | extern { pub fn ANativeWindow_acquire(window: *mut ANativeWindow); }
[INFO] [stderr]     |                                               ^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:856:49
[INFO] [stderr]     |
[INFO] [stderr] 856 | extern { pub fn ANativeWindow_getFormat(window: *mut ANativeWindow) -> i32; }
[INFO] [stderr]     |                                                 ^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:857:49
[INFO] [stderr]     |
[INFO] [stderr] 857 | extern { pub fn ANativeWindow_getHeight(window: *mut ANativeWindow) -> i32; }
[INFO] [stderr]     |                                                 ^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:858:48
[INFO] [stderr]     |
[INFO] [stderr] 858 | extern { pub fn ANativeWindow_getWidth(window: *mut ANativeWindow) -> i32; }
[INFO] [stderr]     |                                                ^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:859:44
[INFO] [stderr]     |
[INFO] [stderr] 859 | extern { pub fn ANativeWindow_lock(window: *mut ANativeWindow, outBuffer: *mut ANativeWindow_Buffer, inOutDirtyBounds: *mut ARect) -> i32; }
[INFO] [stderr]     |                                            ^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:860:47
[INFO] [stderr]     |
[INFO] [stderr] 860 | extern { pub fn ANativeWindow_release(window: *mut ANativeWindow); }
[INFO] [stderr]     |                                               ^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:861:58
[INFO] [stderr]     |
[INFO] [stderr] 861 | extern { pub fn ANativeWindow_setBuffersGeometry(window: *mut ANativeWindow, width: i32, height: i32, format: i32) -> i32; }
[INFO] [stderr]     |                                                          ^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:862:53
[INFO] [stderr]     |
[INFO] [stderr] 862 | extern { pub fn ANativeWindow_unlockAndPost(window: *mut ANativeWindow) -> i32; }
[INFO] [stderr]     |                                                     ^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:870:48
[INFO] [stderr]     |
[INFO] [stderr] 870 | extern { pub fn ANativeWindow_fromSurface(env: *mut JNIEnv, surface: jobject) -> *mut ANativeWindow; }
[INFO] [stderr]     |                                                ^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:870:70
[INFO] [stderr]     |
[INFO] [stderr] 870 | extern { pub fn ANativeWindow_fromSurface(env: *mut JNIEnv, surface: jobject) -> *mut ANativeWindow; }
[INFO] [stderr]     |                                                                      ^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]     --> src/ffi.rs:1350:32
[INFO] [stderr]      |
[INFO] [stderr] 1350 | extern { pub fn JNI_OnLoad(vm: *mut JavaVM, reserved: *mut c_void) -> jint; }
[INFO] [stderr]      |                                ^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]      |
[INFO] [stderr]      = help: consider using a struct instead
[INFO] [stderr]      = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:870:82
[INFO] [stderr]     |
[INFO] [stderr] 870 | extern { pub fn ANativeWindow_fromSurface(env: *mut JNIEnv, surface: jobject) -> *mut ANativeWindow; }
[INFO] [stderr]     |                                                                                  ^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]     --> src/ffi.rs:1351:34
[INFO] [stderr]      |
[INFO] [stderr] 1351 | extern { pub fn JNI_OnUnload(vm: *mut JavaVM, reserved: *mut c_void); }
[INFO] [stderr]      |                                  ^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]      |
[INFO] [stderr]      = help: consider using a struct instead
[INFO] [stderr]      = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:877:42
[INFO] [stderr]     |
[INFO] [stderr] 877 | extern { pub fn AObbInfo_delete(obbInfo: *mut AObbInfo); }
[INFO] [stderr]     |                                          ^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:878:44
[INFO] [stderr]     |
[INFO] [stderr] 878 | extern { pub fn AObbInfo_getFlags(obbInfo: *mut AObbInfo) -> i32; }
[INFO] [stderr]     |                                            ^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:879:50
[INFO] [stderr]     |
[INFO] [stderr] 879 | extern { pub fn AObbInfo_getPackageName(obbInfo: *mut AObbInfo) -> *const c_char; }
[INFO] [stderr]     |                                                  ^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:880:46
[INFO] [stderr]     |
[INFO] [stderr] 880 | extern { pub fn AObbInfo_getVersion(obbInfo: *mut AObbInfo) -> i32; }
[INFO] [stderr]     |                                              ^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:881:68
[INFO] [stderr]     |
[INFO] [stderr] 881 | extern { pub fn AObbScanner_getObbInfo(filename: *const c_char) -> *mut AObbInfo; }
[INFO] [stderr]     |                                                                    ^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:935:56
[INFO] [stderr]     |
[INFO] [stderr] 935 | extern { pub fn ASensorEventQueue_disableSensor(queue: *mut ASensorEventQueue, sensor: *const ASensor) -> c_int; }
[INFO] [stderr]     |                                                        ^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:935:88
[INFO] [stderr]     |
[INFO] [stderr] 935 | extern { pub fn ASensorEventQueue_disableSensor(queue: *mut ASensorEventQueue, sensor: *const ASensor) -> c_int; }
[INFO] [stderr]     |                                                                                        ^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:936:55
[INFO] [stderr]     |
[INFO] [stderr] 936 | extern { pub fn ASensorEventQueue_enableSensor(queue: *mut ASensorEventQueue, sensor: *const ASensor) -> c_int; }
[INFO] [stderr]     |                                                       ^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:936:87
[INFO] [stderr]     |
[INFO] [stderr] 936 | extern { pub fn ASensorEventQueue_enableSensor(queue: *mut ASensorEventQueue, sensor: *const ASensor) -> c_int; }
[INFO] [stderr]     |                                                                                       ^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:937:52
[INFO] [stderr]     |
[INFO] [stderr] 937 | extern { pub fn ASensorEventQueue_getEvents(queue: *mut ASensorEventQueue, events: *mut ASensorEvent, count: usize) -> isize; }
[INFO] [stderr]     |                                                    ^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:938:52
[INFO] [stderr]     |
[INFO] [stderr] 938 | extern { pub fn ASensorEventQueue_hasEvents(queue: *mut ASensorEventQueue) -> c_int; }
[INFO] [stderr]     |                                                    ^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:939:55
[INFO] [stderr]     |
[INFO] [stderr] 939 | extern { pub fn ASensorEventQueue_setEventRate(queue: *mut ASensorEventQueue, sensor: *const ASensor, usec: i32) -> c_int; }
[INFO] [stderr]     |                                                       ^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:939:87
[INFO] [stderr]     |
[INFO] [stderr] 939 | extern { pub fn ASensorEventQueue_setEventRate(queue: *mut ASensorEventQueue, sensor: *const ASensor, usec: i32) -> c_int; }
[INFO] [stderr]     |                                                                                       ^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:942:58
[INFO] [stderr]     |
[INFO] [stderr] 942 | extern { pub fn ASensorManager_createEventQueue(manager: *mut ASensorManager, looper: *mut ALooper, ident: c_int, callback: ALooper_callbackFunc, data: *mut c_void) -> *mut ASensorEventQueue; }
[INFO] [stderr]     |                                                          ^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:942:87
[INFO] [stderr]     |
[INFO] [stderr] 942 | extern { pub fn ASensorManager_createEventQueue(manager: *mut ASensorManager, looper: *mut ALooper, ident: c_int, callback: ALooper_callbackFunc, data: *mut c_void) -> *mut ASensorEventQueue; }
[INFO] [stderr]     |                                                                                       ^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:942:169
[INFO] [stderr]     |
[INFO] [stderr] 942 | extern { pub fn ASensorManager_createEventQueue(manager: *mut ASensorManager, looper: *mut ALooper, ident: c_int, callback: ALooper_callbackFunc, data: *mut c_void) -> *mut ASensorEventQueue; }
[INFO] [stderr]     |                                                                                                                                                                         ^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:943:59
[INFO] [stderr]     |
[INFO] [stderr] 943 | extern { pub fn ASensorManager_destroyEventQueue(manager: *mut ASensorManager, queue: *mut ASensorEventQueue) -> c_int; }
[INFO] [stderr]     |                                                           ^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:943:87
[INFO] [stderr]     |
[INFO] [stderr] 943 | extern { pub fn ASensorManager_destroyEventQueue(manager: *mut ASensorManager, queue: *mut ASensorEventQueue) -> c_int; }
[INFO] [stderr]     |                                                                                       ^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:944:58
[INFO] [stderr]     |
[INFO] [stderr] 944 | extern { pub fn ASensorManager_getDefaultSensor(manager: *mut ASensorManager, xtype: c_int) -> *const ASensor; }
[INFO] [stderr]     |                                                          ^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:944:96
[INFO] [stderr]     |
[INFO] [stderr] 944 | extern { pub fn ASensorManager_getDefaultSensor(manager: *mut ASensorManager, xtype: c_int) -> *const ASensor; }
[INFO] [stderr]     |                                                                                                ^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:945:60
[INFO] [stderr]     |
[INFO] [stderr] 945 | extern { pub fn ASensorManager_getDefaultSensorEx(manager: *mut ASensorManager, xtype: c_int, wakeUp: bool) -> *const ASensor; }
[INFO] [stderr]     |                                                            ^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:945:112
[INFO] [stderr]     |
[INFO] [stderr] 945 | extern { pub fn ASensorManager_getDefaultSensorEx(manager: *mut ASensorManager, xtype: c_int, wakeUp: bool) -> *const ASensor; }
[INFO] [stderr]     |                                                                                                                ^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:946:49
[INFO] [stderr]     |
[INFO] [stderr] 946 | extern { pub fn ASensorManager_getInstance() -> *mut ASensorManager; }
[INFO] [stderr]     |                                                 ^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:947:55
[INFO] [stderr]     |
[INFO] [stderr] 947 | extern { pub fn ASensorManager_getSensorList(manager: *mut ASensorManager, list: *mut ASensorList) -> c_int; }
[INFO] [stderr]     |                                                       ^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:947:82
[INFO] [stderr]     |
[INFO] [stderr] 947 | extern { pub fn ASensorManager_getSensorList(manager: *mut ASensorManager, list: *mut ASensorList) -> c_int; }
[INFO] [stderr]     |                                                                                  ^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:955:54
[INFO] [stderr]     |
[INFO] [stderr] 955 | extern { pub fn ASensor_getFifoMaxEventCount(sensor: *const ASensor) -> c_int; }
[INFO] [stderr]     |                                                      ^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:956:59
[INFO] [stderr]     |
[INFO] [stderr] 956 | extern { pub fn ASensor_getFifoReservedEventCount(sensor: *const ASensor) -> c_int; }
[INFO] [stderr]     |                                                           ^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:957:45
[INFO] [stderr]     |
[INFO] [stderr] 957 | extern { pub fn ASensor_getMinDelay(sensor: *const ASensor) -> c_int; }
[INFO] [stderr]     |                                             ^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:958:41
[INFO] [stderr]     |
[INFO] [stderr] 958 | extern { pub fn ASensor_getName(sensor: *const ASensor) -> *const c_char; }
[INFO] [stderr]     |                                         ^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:959:50
[INFO] [stderr]     |
[INFO] [stderr] 959 | extern { pub fn ASensor_getReportingMode(sensor: *const ASensor) -> c_int; }
[INFO] [stderr]     |                                                  ^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:960:47
[INFO] [stderr]     |
[INFO] [stderr] 960 | extern { pub fn ASensor_getResolution(sensor: *const ASensor) -> c_float; }
[INFO] [stderr]     |                                               ^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:961:47
[INFO] [stderr]     |
[INFO] [stderr] 961 | extern { pub fn ASensor_getStringType(sensor: *const ASensor) -> *const c_char; }
[INFO] [stderr]     |                                               ^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:962:41
[INFO] [stderr]     |
[INFO] [stderr] 962 | extern { pub fn ASensor_getType(sensor: *const ASensor) -> c_int; }
[INFO] [stderr]     |                                         ^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:963:43
[INFO] [stderr]     |
[INFO] [stderr] 963 | extern { pub fn ASensor_getVendor(sensor: *const ASensor) -> *const c_char; }
[INFO] [stderr]     |                                           ^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]    --> src/ffi.rs:964:48
[INFO] [stderr]     |
[INFO] [stderr] 964 | extern { pub fn ASensor_isWakeUpSensor(sensor: *const ASensor) -> bool; }
[INFO] [stderr]     |                                                ^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a struct instead
[INFO] [stderr]     = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]     --> src/ffi.rs:1007:45
[INFO] [stderr]      |
[INFO] [stderr] 1007 | extern { pub fn AStorageManager_delete(mgr: *mut AStorageManager); }
[INFO] [stderr]      |                                             ^^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]      |
[INFO] [stderr]      = help: consider using a struct instead
[INFO] [stderr]      = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]     --> src/ffi.rs:1008:56
[INFO] [stderr]      |
[INFO] [stderr] 1008 | extern { pub fn AStorageManager_getMountedObbPath(mgr: *mut AStorageManager, filename: *const c_char) -> *const c_char; }
[INFO] [stderr]      |                                                        ^^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]      |
[INFO] [stderr]      = help: consider using a struct instead
[INFO] [stderr]      = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]     --> src/ffi.rs:1009:51
[INFO] [stderr]      |
[INFO] [stderr] 1009 | extern { pub fn AStorageManager_isObbMounted(mgr: *mut AStorageManager, filename: *const c_char) -> c_int; }
[INFO] [stderr]      |                                                   ^^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]      |
[INFO] [stderr]      = help: consider using a struct instead
[INFO] [stderr]      = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]     --> src/ffi.rs:1010:47
[INFO] [stderr]      |
[INFO] [stderr] 1010 | extern { pub fn AStorageManager_mountObb(mgr: *mut AStorageManager, filename: *const c_char, key: *const c_char, cb: AStorageManager_obbCallbackFunc, data: *mut c_void); }
[INFO] [stderr]      |                                               ^^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]      |
[INFO] [stderr]      = help: consider using a struct instead
[INFO] [stderr]      = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]     --> src/ffi.rs:1011:42
[INFO] [stderr]      |
[INFO] [stderr] 1011 | extern { pub fn AStorageManager_new() -> *mut AStorageManager; }
[INFO] [stderr]      |                                          ^^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]      |
[INFO] [stderr]      = help: consider using a struct instead
[INFO] [stderr]      = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]     --> src/ffi.rs:1013:49
[INFO] [stderr]      |
[INFO] [stderr] 1013 | extern { pub fn AStorageManager_unmountObb(mgr: *mut AStorageManager, filename: *const c_char, force: c_int, cb: AStorageManager_obbCallbackFunc, data: *mut c_void); }
[INFO] [stderr]      |                                                 ^^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]      |
[INFO] [stderr]      = help: consider using a struct instead
[INFO] [stderr]      = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]     --> src/ffi.rs:1350:32
[INFO] [stderr]      |
[INFO] [stderr] 1350 | extern { pub fn JNI_OnLoad(vm: *mut JavaVM, reserved: *mut c_void) -> jint; }
[INFO] [stderr]      |                                ^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]      |
[INFO] [stderr]      = help: consider using a struct instead
[INFO] [stderr]      = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `()`, which is not FFI-safe
[INFO] [stderr]     --> src/ffi.rs:1351:34
[INFO] [stderr]      |
[INFO] [stderr] 1351 | extern { pub fn JNI_OnUnload(vm: *mut JavaVM, reserved: *mut c_void); }
[INFO] [stderr]      |                                  ^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]      |
[INFO] [stderr]      = help: consider using a struct instead
[INFO] [stderr]      = note: tuples have unspecified layout
[INFO] [stderr] 
[INFO] [stderr]     Finished dev [unoptimized + debuginfo] target(s) in 0.66s
[INFO] running `"docker" "inspect" "d7079f0bcaac2e28ae44fb46abe9d698fea7e8d88e5f8e608daa90023fb46789"`
[INFO] running `"docker" "rm" "-f" "d7079f0bcaac2e28ae44fb46abe9d698fea7e8d88e5f8e608daa90023fb46789"`
[INFO] [stdout] d7079f0bcaac2e28ae44fb46abe9d698fea7e8d88e5f8e608daa90023fb46789
