[INFO] fetching crate objc 0.2.7...
[INFO] checking objc-0.2.7 against nightly-2024-02-05 for check-cfg-2
[INFO] extracting crate objc 0.2.7 into /workspace/builds/worker-5-tc1/source
[INFO] validating manifest of crates.io crate objc 0.2.7 on toolchain nightly-2024-02-05
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+nightly-2024-02-05" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking crates.io crate objc 0.2.7
[INFO] finished tweaking crates.io crate objc 0.2.7
[INFO] tweaked toml for crates.io crate objc 0.2.7 written to /workspace/builds/worker-5-tc1/source/Cargo.toml
[INFO] crate crates.io crate objc 0.2.7 already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+nightly-2024-02-05" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded objc_exception v0.1.1
[INFO] [stderr]   Downloaded gcc v0.3.55
[INFO] [stderr]   Downloaded libc v0.2.57
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+nightly-2024-02-05" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 904a906a7339905246525d6e5acf0fd151e50a59b04de09f61140218d8c33d63
[INFO] running `Command { std: "docker" "start" "-a" "904a906a7339905246525d6e5acf0fd151e50a59b04de09f61140218d8c33d63", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "904a906a7339905246525d6e5acf0fd151e50a59b04de09f61140218d8c33d63", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "904a906a7339905246525d6e5acf0fd151e50a59b04de09f61140218d8c33d63", kill_on_drop: false }`
[INFO] [stdout] 904a906a7339905246525d6e5acf0fd151e50a59b04de09f61140218d8c33d63
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+nightly-2024-02-05" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 4bd8fe73c1987280c0683d45a95f0558e2b7257bf307ca5204337adc3449605d
[INFO] running `Command { std: "docker" "start" "-a" "4bd8fe73c1987280c0683d45a95f0558e2b7257bf307ca5204337adc3449605d", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.57
[INFO] [stderr]     Checking malloc_buf v0.0.6
[INFO] [stderr]     Checking objc v0.2.7 (/opt/rustwide/workdir)
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]  --> src/test_utils.rs:3:23
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::sync::{Once, ONCE_INIT};
[INFO] [stdout]   |                       ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]   --> src/test_utils.rs:66:42
[INFO] [stdout]    |
[INFO] [stdout] 66 |     static REGISTER_CUSTOM_CLASS: Once = ONCE_INIT;
[INFO] [stdout]    |                                          ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: replace the use of the deprecated constant
[INFO] [stdout]    |
[INFO] [stdout] 66 |     static REGISTER_CUSTOM_CLASS: Once = Once::new();
[INFO] [stdout]    |                                          ~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]    --> src/test_utils.rs:125:45
[INFO] [stdout]     |
[INFO] [stdout] 125 |     static REGISTER_CUSTOM_PROTOCOL: Once = ONCE_INIT;
[INFO] [stdout]     |                                             ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: replace the use of the deprecated constant
[INFO] [stdout]     |
[INFO] [stdout] 125 |     static REGISTER_CUSTOM_PROTOCOL: Once = Once::new();
[INFO] [stdout]     |                                             ~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]    --> src/test_utils.rs:141:48
[INFO] [stdout]     |
[INFO] [stdout] 141 |     static REGISTER_CUSTOM_SUBPROTOCOL: Once = ONCE_INIT;
[INFO] [stdout]     |                                                ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: replace the use of the deprecated constant
[INFO] [stdout]     |
[INFO] [stdout] 141 |     static REGISTER_CUSTOM_SUBPROTOCOL: Once = Once::new();
[INFO] [stdout]     |                                                ~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]    --> src/test_utils.rs:161:45
[INFO] [stdout]     |
[INFO] [stdout] 161 |     static REGISTER_CUSTOM_SUBCLASS: Once = ONCE_INIT;
[INFO] [stdout]     |                                             ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: replace the use of the deprecated constant
[INFO] [stdout]     |
[INFO] [stdout] 161 |     static REGISTER_CUSTOM_SUBCLASS: Once = Once::new();
[INFO] [stdout]     |                                             ~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `core::str::<impl str>::trim_left_matches`: superseded by `trim_start_matches`
[INFO] [stdout]   --> src/encode.rs:75:31
[INFO] [stdout]    |
[INFO] [stdout] 75 |         let s = self.as_str().trim_left_matches(QUALIFIERS);
[INFO] [stdout]    |                               ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] help: replace the use of the deprecated method
[INFO] [stdout]    |
[INFO] [stdout] 75 |         let s = self.as_str().trim_start_matches(QUALIFIERS);
[INFO] [stdout]    |                               ~~~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `core::str::<impl str>::trim_left_matches`: superseded by `trim_start_matches`
[INFO] [stdout]   --> src/encode.rs:76:32
[INFO] [stdout]    |
[INFO] [stdout] 76 |         let o = other.as_str().trim_left_matches(QUALIFIERS);
[INFO] [stdout]    |                                ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: replace the use of the deprecated method
[INFO] [stdout]    |
[INFO] [stdout] 76 |         let o = other.as_str().trim_start_matches(QUALIFIERS);
[INFO] [stdout]    |                                ~~~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `core::str::<impl str>::trim_left_matches`: superseded by `trim_start_matches`
[INFO] [stdout]   --> src/encode.rs:75:31
[INFO] [stdout]    |
[INFO] [stdout] 75 |         let s = self.as_str().trim_left_matches(QUALIFIERS);
[INFO] [stdout]    |                               ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: replace the use of the deprecated method
[INFO] [stdout]    |
[INFO] [stdout] 75 |         let s = self.as_str().trim_start_matches(QUALIFIERS);
[INFO] [stdout]    |                               ~~~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `core::str::<impl str>::trim_left_matches`: superseded by `trim_start_matches`
[INFO] [stdout]   --> src/encode.rs:76:32
[INFO] [stdout]    |
[INFO] [stdout] 76 |         let o = other.as_str().trim_left_matches(QUALIFIERS);
[INFO] [stdout]    |                                ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: replace the use of the deprecated method
[INFO] [stdout]    |
[INFO] [stdout] 76 |         let o = other.as_str().trim_start_matches(QUALIFIERS);
[INFO] [stdout]    |                                ~~~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]   --> src/runtime.rs:80:5
[INFO] [stdout]    |
[INFO] [stdout] 80 |     pub fn sel_registerName(name: *const c_char) -> Sel;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] note: the lint level is defined here
[INFO] [stdout]   --> src/lib.rs:66:9
[INFO] [stdout]    |
[INFO] [stdout] 66 | #![warn(missing_docs)]
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]   --> src/runtime.rs:81:5
[INFO] [stdout]    |
[INFO] [stdout] 81 |     pub fn sel_getName(sel: Sel) -> *const c_char;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]   --> src/runtime.rs:83:5
[INFO] [stdout]    |
[INFO] [stdout] 83 |     pub fn class_getName(cls: *const Class) -> *const c_char;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]   --> src/runtime.rs:84:5
[INFO] [stdout]    |
[INFO] [stdout] 84 |     pub fn class_getSuperclass(cls: *const Class) -> *const Class;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]   --> src/runtime.rs:85:5
[INFO] [stdout]    |
[INFO] [stdout] 85 |     pub fn class_getInstanceSize(cls: *const Class) -> usize;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]   --> src/runtime.rs:86:5
[INFO] [stdout]    |
[INFO] [stdout] 86 |     pub fn class_getInstanceMethod(cls: *const Class, sel: Sel) -> *const Method;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]   --> src/runtime.rs:87:5
[INFO] [stdout]    |
[INFO] [stdout] 87 |     pub fn class_getInstanceVariable(cls: *const Class, name: *const c_char) -> *const Ivar;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]   --> src/runtime.rs:88:5
[INFO] [stdout]    |
[INFO] [stdout] 88 |     pub fn class_copyMethodList(cls: *const Class, outCount: *mut c_uint) -> *mut *const Method;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]   --> src/runtime.rs:89:5
[INFO] [stdout]    |
[INFO] [stdout] 89 |     pub fn class_copyIvarList(cls: *const Class, outCount: *mut c_uint) -> *mut *const Ivar;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]   --> src/runtime.rs:90:5
[INFO] [stdout]    |
[INFO] [stdout] 90 |     pub fn class_addMethod(cls: *mut Class, name: Sel, imp: Imp, types: *const c_char) -> BOOL;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]   --> src/runtime.rs:91:5
[INFO] [stdout]    |
[INFO] [stdout] 91 |     pub fn class_addIvar(cls: *mut Class, name: *const c_char, size: usize, alignment: u8, types: *const c_char) -> BOOL;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]   --> src/runtime.rs:92:5
[INFO] [stdout]    |
[INFO] [stdout] 92 |     pub fn class_addProtocol(cls: *mut Class, proto: *const Protocol) -> BOOL;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]   --> src/runtime.rs:93:5
[INFO] [stdout]    |
[INFO] [stdout] 93 |     pub fn class_conformsToProtocol(cls: *const Class, proto: *const Protocol) -> BOOL;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]   --> src/runtime.rs:94:5
[INFO] [stdout]    |
[INFO] [stdout] 94 |     pub fn class_copyProtocolList(cls: *const Class, outCount: *mut c_uint) -> *mut *const Protocol;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]   --> src/runtime.rs:96:5
[INFO] [stdout]    |
[INFO] [stdout] 96 |     pub fn objc_allocateClassPair(superclass: *const Class, name: *const c_char, extraBytes: usize) -> *mut Class;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]   --> src/runtime.rs:97:5
[INFO] [stdout]    |
[INFO] [stdout] 97 |     pub fn objc_disposeClassPair(cls: *mut Class);
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]   --> src/runtime.rs:98:5
[INFO] [stdout]    |
[INFO] [stdout] 98 |     pub fn objc_registerClassPair(cls: *mut Class);
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/runtime.rs:100:5
[INFO] [stdout]     |
[INFO] [stdout] 100 |     pub fn class_createInstance(cls: *const Class, extraBytes: usize) -> *mut Object;
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/runtime.rs:101:5
[INFO] [stdout]     |
[INFO] [stdout] 101 |     pub fn object_dispose(obj: *mut Object) -> *mut Object;
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/runtime.rs:102:5
[INFO] [stdout]     |
[INFO] [stdout] 102 |     pub fn object_getClass(obj: *const Object) -> *const Class;
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/runtime.rs:104:5
[INFO] [stdout]     |
[INFO] [stdout] 104 |     pub fn objc_getClassList(buffer: *mut *const Class, bufferLen: c_int) -> c_int;
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/runtime.rs:105:5
[INFO] [stdout]     |
[INFO] [stdout] 105 |     pub fn objc_copyClassList(outCount: *mut c_uint) -> *mut *const Class;
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/runtime.rs:106:5
[INFO] [stdout]     |
[INFO] [stdout] 106 |     pub fn objc_getClass(name: *const c_char) -> *const Class;
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/runtime.rs:107:5
[INFO] [stdout]     |
[INFO] [stdout] 107 |     pub fn objc_getProtocol(name: *const c_char) -> *const Protocol;
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/runtime.rs:108:5
[INFO] [stdout]     |
[INFO] [stdout] 108 |     pub fn objc_copyProtocolList(outCount: *mut c_uint) -> *mut *const Protocol;
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/runtime.rs:109:5
[INFO] [stdout]     |
[INFO] [stdout] 109 |     pub fn objc_allocateProtocol(name: *const c_char) -> *mut Protocol;
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/runtime.rs:110:5
[INFO] [stdout]     |
[INFO] [stdout] 110 |     pub fn objc_registerProtocol(proto: *mut Protocol);
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/runtime.rs:112:5
[INFO] [stdout]     |
[INFO] [stdout] 112 |     pub fn objc_autoreleasePoolPush() -> *mut c_void;
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/runtime.rs:113:5
[INFO] [stdout]     |
[INFO] [stdout] 113 |     pub fn objc_autoreleasePoolPop(context: *mut c_void);
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/runtime.rs:115:5
[INFO] [stdout]     |
[INFO] [stdout] 115 | /     pub fn protocol_addMethodDescription(proto: *mut Protocol, name: Sel, types: *const c_char, isRequiredMethod: BOOL,
[INFO] [stdout] 116 | |                                          isInstanceMethod: BOOL);
[INFO] [stdout]     | |________________________________________________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/runtime.rs:117:5
[INFO] [stdout]     |
[INFO] [stdout] 117 |     pub fn protocol_addProtocol(proto: *mut Protocol, addition: *const Protocol);
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/runtime.rs:118:5
[INFO] [stdout]     |
[INFO] [stdout] 118 |     pub fn protocol_getName(proto: *const Protocol) -> *const c_char;
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/runtime.rs:119:5
[INFO] [stdout]     |
[INFO] [stdout] 119 |     pub fn protocol_isEqual(proto: *const Protocol, other: *const Protocol) -> BOOL;
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/runtime.rs:120:5
[INFO] [stdout]     |
[INFO] [stdout] 120 |     pub fn protocol_copyProtocolList(proto: *const Protocol, outCount: *mut c_uint) -> *mut *const Protocol;
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/runtime.rs:121:5
[INFO] [stdout]     |
[INFO] [stdout] 121 |     pub fn protocol_conformsToProtocol(proto: *const Protocol, other: *const Protocol) -> BOOL;
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/runtime.rs:123:5
[INFO] [stdout]     |
[INFO] [stdout] 123 |     pub fn ivar_getName(ivar: *const Ivar) -> *const c_char;
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/runtime.rs:124:5
[INFO] [stdout]     |
[INFO] [stdout] 124 |     pub fn ivar_getOffset(ivar: *const Ivar) -> isize;
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/runtime.rs:125:5
[INFO] [stdout]     |
[INFO] [stdout] 125 |     pub fn ivar_getTypeEncoding(ivar: *const Ivar) -> *const c_char;
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/runtime.rs:127:5
[INFO] [stdout]     |
[INFO] [stdout] 127 |     pub fn method_getName(method: *const Method) -> Sel;
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/runtime.rs:128:5
[INFO] [stdout]     |
[INFO] [stdout] 128 |     pub fn method_getImplementation(method: *const Method) -> Imp;
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/runtime.rs:129:5
[INFO] [stdout]     |
[INFO] [stdout] 129 |     pub fn method_copyReturnType(method: *const Method) -> *mut c_char;
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/runtime.rs:130:5
[INFO] [stdout]     |
[INFO] [stdout] 130 |     pub fn method_copyArgumentType(method: *const Method, index: c_uint) -> *mut c_char;
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/runtime.rs:131:5
[INFO] [stdout]     |
[INFO] [stdout] 131 |     pub fn method_getNumberOfArguments(method: *const Method) -> c_uint;
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/runtime.rs:132:5
[INFO] [stdout]     |
[INFO] [stdout] 132 |     pub fn method_setImplementation(method: *mut Method, imp: Imp) -> Imp;
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/runtime.rs:133:5
[INFO] [stdout]     |
[INFO] [stdout] 133 |     pub fn method_exchangeImplementations(m1: *mut Method, m2: *mut Method);
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/runtime.rs:135:5
[INFO] [stdout]     |
[INFO] [stdout] 135 |     pub fn objc_retain(obj: *mut Object) -> *mut Object;
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/runtime.rs:136:5
[INFO] [stdout]     |
[INFO] [stdout] 136 |     pub fn objc_release(obj: *mut Object);
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/runtime.rs:137:5
[INFO] [stdout]     |
[INFO] [stdout] 137 |     pub fn objc_autorelease(obj: *mut Object);
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/runtime.rs:139:5
[INFO] [stdout]     |
[INFO] [stdout] 139 |     pub fn objc_loadWeakRetained(location: *mut *mut Object) -> *mut Object;
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/runtime.rs:140:5
[INFO] [stdout]     |
[INFO] [stdout] 140 |     pub fn objc_initWeak(location: *mut *mut Object, obj: *mut Object) -> *mut Object;
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/runtime.rs:141:5
[INFO] [stdout]     |
[INFO] [stdout] 141 |     pub fn objc_destroyWeak(location: *mut *mut Object);
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/runtime.rs:142:5
[INFO] [stdout]     |
[INFO] [stdout] 142 |     pub fn objc_copyWeak(to: *mut *mut Object, from: *mut *mut Object);
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 54 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` fn uses type `CustomStruct`, which is not FFI-safe
[INFO] [stdout]   --> src/test_utils.rs:86:71
[INFO] [stdout]    |
[INFO] [stdout] 86 |         extern fn custom_obj_get_struct(_this: &Object, _cmd: Sel) -> CustomStruct {
[INFO] [stdout]    |                                                                       ^^^^^^^^^^^^ not FFI-safe
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider adding a `#[repr(C)]` or `#[repr(transparent)]` attribute to this struct
[INFO] [stdout]    = note: this struct has unspecified layout
[INFO] [stdout] note: the type is defined here
[INFO] [stdout]   --> src/test_utils.rs:45:1
[INFO] [stdout]    |
[INFO] [stdout] 45 | pub struct CustomStruct {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = note: `#[warn(improper_ctypes_definitions)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 8 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished dev [unoptimized + debuginfo] target(s) in 0.74s
[INFO] running `Command { std: "docker" "inspect" "4bd8fe73c1987280c0683d45a95f0558e2b7257bf307ca5204337adc3449605d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "4bd8fe73c1987280c0683d45a95f0558e2b7257bf307ca5204337adc3449605d", kill_on_drop: false }`
[INFO] [stdout] 4bd8fe73c1987280c0683d45a95f0558e2b7257bf307ca5204337adc3449605d
