[INFO] fetching crate recastnavigation-rs 0.1.0... [INFO] checking recastnavigation-rs-0.1.0 against try#ccf408f4326a858c00dd845a64a86b16f360a801 for pr-129466-2 [INFO] extracting crate recastnavigation-rs 0.1.0 into /workspace/builds/worker-3-tc2/source [INFO] validating manifest of crates.io crate recastnavigation-rs 0.1.0 on toolchain ccf408f4326a858c00dd845a64a86b16f360a801 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+ccf408f4326a858c00dd845a64a86b16f360a801" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking crates.io crate recastnavigation-rs 0.1.0 [INFO] finished tweaking crates.io crate recastnavigation-rs 0.1.0 [INFO] tweaked toml for crates.io crate recastnavigation-rs 0.1.0 written to /workspace/builds/worker-3-tc2/source/Cargo.toml [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+ccf408f4326a858c00dd845a64a86b16f360a801" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Locking 58 packages to latest compatible versions [INFO] [stderr] Adding ahash v0.7.8 (available: v0.8.11) [INFO] [stderr] Adding bytecheck v0.6.12 (available: v0.8.0) [INFO] [stderr] Adding bytecheck_derive v0.6.12 (available: v0.8.0) [INFO] [stderr] Adding hashbrown v0.12.3 (available: v0.14.5) [INFO] [stderr] Adding miniz_oxide v0.7.4 (available: v0.8.0) [INFO] [stderr] Adding ptr_meta v0.1.4 (available: v0.3.0) [INFO] [stderr] Adding ptr_meta_derive v0.1.4 (available: v0.3.0) [INFO] [stderr] Adding radium v0.7.0 (available: v1.1.0) [INFO] [stderr] Adding rend v0.4.2 (available: v0.5.1) [INFO] [stderr] Adding rkyv v0.7.45 (available: v0.8.8) [INFO] [stderr] Adding rkyv_derive v0.7.45 (available: v0.8.8) [INFO] [stderr] Adding syn v1.0.109 (available: v2.0.77) [INFO] [stderr] Adding unicode-width v0.1.14 (available: v0.2.0) [INFO] [stderr] Adding wasi v0.11.0+wasi-snapshot-preview1 (available: v0.13.2+wasi-0.2.1) [INFO] [stderr] Adding wyz v0.5.1 (available: v0.6.1) [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+ccf408f4326a858c00dd845a64a86b16f360a801" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:ceb6ea022f8a89cebbe621bb4987e73a935bd40dfbb726f832cfff4742a5b95a" "/opt/rustwide/cargo-home/bin/cargo" "+ccf408f4326a858c00dd845a64a86b16f360a801" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 4822714af95ef8dc5e7f78e577e71674bf2dadf065fb4ddc615fe01182302d20 [INFO] running `Command { std: "docker" "start" "-a" "4822714af95ef8dc5e7f78e577e71674bf2dadf065fb4ddc615fe01182302d20", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "4822714af95ef8dc5e7f78e577e71674bf2dadf065fb4ddc615fe01182302d20", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "4822714af95ef8dc5e7f78e577e71674bf2dadf065fb4ddc615fe01182302d20", kill_on_drop: false }` [INFO] [stdout] 4822714af95ef8dc5e7f78e577e71674bf2dadf065fb4ddc615fe01182302d20 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:ceb6ea022f8a89cebbe621bb4987e73a935bd40dfbb726f832cfff4742a5b95a" "/opt/rustwide/cargo-home/bin/cargo" "+ccf408f4326a858c00dd845a64a86b16f360a801" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 42cdc6a649367a46beff3dcbc1cded989a6a9847933f919cbf1be37c11b78566 [INFO] running `Command { std: "docker" "start" "-a" "42cdc6a649367a46beff3dcbc1cded989a6a9847933f919cbf1be37c11b78566", kill_on_drop: false }` [INFO] [stderr] Copying to /tmp/fixit [INFO] [stderr] Running `cargo fix --edition` [INFO] [stderr] Migrating Cargo.toml from 2021 edition to 2024 [INFO] [stderr] Compiling libc v0.2.159 [INFO] [stderr] Compiling syn v1.0.109 [INFO] [stderr] Compiling scratch v1.0.7 [INFO] [stderr] Compiling cxxbridge-flags v1.0.128 [INFO] [stderr] Compiling termcolor v1.4.1 [INFO] [stderr] Compiling unicode-width v0.1.14 [INFO] [stderr] Checking once_cell v1.19.0 [INFO] [stderr] Compiling rkyv v0.7.45 [INFO] [stderr] Checking adler v1.0.2 [INFO] [stderr] Compiling cc v1.1.21 [INFO] [stderr] Compiling ahash v0.7.8 [INFO] [stderr] Checking seahash v4.1.0 [INFO] [stderr] Compiling syn v2.0.77 [INFO] [stderr] Checking miniz_oxide v0.7.4 [INFO] [stderr] Compiling codespan-reporting v0.11.1 [INFO] [stderr] Checking getrandom v0.2.15 [INFO] [stderr] Compiling link-cplusplus v1.0.9 [INFO] [stderr] Compiling cxx v1.0.128 [INFO] [stderr] Checking hashbrown v0.12.3 [INFO] [stderr] Compiling cxx-build v1.0.128 [INFO] [stderr] Compiling thiserror-impl v1.0.64 [INFO] [stderr] Compiling cxxbridge-macro v1.0.128 [INFO] [stderr] Compiling ptr_meta_derive v0.1.4 [INFO] [stderr] Compiling rkyv_derive v0.7.45 [INFO] [stderr] Checking ptr_meta v0.1.4 [INFO] [stderr] Checking thiserror v1.0.64 [INFO] [stderr] Compiling recastnavigation-rs v0.1.0 (/tmp/fixit) [INFO] [stderr] Migrating build.rs from 2021 edition to 2024 [INFO] [stderr] Migrating src/lib.rs from 2021 edition to 2024 [INFO] [stderr] warning: failed to automatically apply fixes suggested by rustc to crate `recastnavigation_rs` [INFO] [stderr] [INFO] [stderr] after fixes were automatically applied the compiler reported errors within these files: [INFO] [stderr] [INFO] [stderr] * src/demo/demo.rs [INFO] [stderr] * src/detour/base.rs [INFO] [stderr] * src/detour/builder.rs [INFO] [stderr] * src/detour/mesh.rs [INFO] [stderr] * src/detour/query.rs [INFO] [stderr] * src/detour_crowd/crowd.rs [INFO] [stderr] * src/detour_crowd/local_boundary.rs [INFO] [stderr] * src/detour_crowd/path_corridor.rs [INFO] [stderr] * src/recast/recast.rs [INFO] [stderr] [INFO] [stderr] This likely indicates a bug in either rustc or cargo itself, [INFO] [stderr] and we would appreciate a bug report! You're likely to see [INFO] [stderr] a number of compiler warnings after this message which cargo [INFO] [stderr] attempted to fix but failed. If you could open an issue at [INFO] [stderr] https://github.com/rust-lang/rust/issues [INFO] [stderr] quoting the full output of this command we'd be very appreciative! [INFO] [stderr] Note that you may be able to make some more progress in the near-term [INFO] [stderr] fixing code with the `--broken-code` flag [INFO] [stderr] [INFO] [stderr] The following errors were reported: [INFO] [stderr] error: expected one of `!`, `+`, `::`, `;`, `where`, or `{`, found keyword `unsafe` [INFO] [stderr] --> src/demo/demo.rs:20:69 [INFO] [stderr] | [INFO] [stderr] 13 | unsafe extern "C++" { [INFO] [stderr] | - while parsing this item list starting here [INFO] [stderr] ... [INFO] [stderr] 20 | fn rcNewMeshLoaderObj() -> UniquePtrunsafe ; [INFO] [stderr] | ^^^^^^ expected one of `!`, `+`, `::`, `;`, `where`, or `{` [INFO] [stderr] ... [INFO] [stderr] 57 | } [INFO] [stderr] | - the item list ends here [INFO] [stderr] [INFO] [stderr] error: expected one of `->`, `;`, `where`, or `{`, found keyword `unsafe` [INFO] [stderr] --> src/detour/base.rs:21:43 [INFO] [stderr] | [INFO] [stderr] 15 | unsafe extern "C++" { [INFO] [stderr] | - while parsing this item list starting here [INFO] [stderr] ... [INFO] [stderr] 21 | unsafe fn dtFree(ptr: *mut c_void)unsafe ; [INFO] [stderr] | ^^^^^^ expected one of `->`, `;`, `where`, or `{` [INFO] [stderr] 22 | } [INFO] [stderr] | - the item list ends here [INFO] [stderr] [INFO] [stderr] error: expected one of `->`, `;`, `where`, or `{`, found keyword `unsafe` [INFO] [stderr] --> src/detour/mesh.rs:49:54 [INFO] [stderr] | [INFO] [stderr] 38 | unsafe extern "C++" { [INFO] [stderr] | - while parsing this item list starting here [INFO] [stderr] ... [INFO] [stderr] 49 | fn dtp_setArea(poly: Pin<&mut dtPoly>, a: u8)unsafe ; [INFO] [stderr] | ^^^^^^ expected one of `->`, `;`, `where`, or `{` [INFO] [stderr] ... [INFO] [stderr] 134 | } [INFO] [stderr] | - the item list ends here [INFO] [stderr] [INFO] [stderr] error: expected one of `->`, `;`, `where`, or `{`, found keyword `unsafe` [INFO] [stderr] --> src/detour/query.rs:69:69 [INFO] [stderr] | [INFO] [stderr] 30 | unsafe extern "C++" { [INFO] [stderr] | - while parsing this item list starting here [INFO] [stderr] ... [INFO] [stderr] 69 | pub unsafe fn dtFreeNavMeshQuery(query: *mut dtNavMeshQuery)unsafe ; [INFO] [stderr] | ^^^^^^ expected one of `->`, `;`, `where`, or `{` [INFO] [stderr] ... [INFO] [stderr] 288 | } [INFO] [stderr] | - the item list ends here [INFO] [stderr] [INFO] [stderr] error: expected one of `->`, `;`, `where`, or `{`, found keyword `unsafe` [INFO] [stderr] --> src/detour_crowd/crowd.rs:66:71 [INFO] [stderr] | [INFO] [stderr] 47 | unsafe extern "C++" { [INFO] [stderr] | - while parsing this item list starting here [INFO] [stderr] ... [INFO] [stderr] 66 | fn dtca_setActive(agent: Pin<&mut dtCrowdAgent>, active: bool)unsafe ; [INFO] [stderr] | ^^^^^^ expected one of `->`, `;`, `where`, or `{` [INFO] [stderr] ... [INFO] [stderr] 146 | } [INFO] [stderr] | - the item list ends here [INFO] [stderr] [INFO] [stderr] error: expected one of `->`, `;`, `where`, or `{`, found keyword `unsafe` [INFO] [stderr] --> src/detour_crowd/local_boundary.rs:17:60 [INFO] [stderr] | [INFO] [stderr] 9 | unsafe extern "C++" { [INFO] [stderr] | - while parsing this item list starting here [INFO] [stderr] ... [INFO] [stderr] 17 | unsafe fn dtlb_reset(lb: Pin<&mut dtLocalBoundary>)unsafe ; [INFO] [stderr] | ^^^^^^ expected one of `->`, `;`, `where`, or `{` [INFO] [stderr] ... [INFO] [stderr] 34 | } [INFO] [stderr] | - the item list ends here [INFO] [stderr] [INFO] [stderr] error: expected one of `->`, `;`, `where`, or `{`, found keyword `unsafe` [INFO] [stderr] --> src/detour_crowd/path_corridor.rs:18:89 [INFO] [stderr] | [INFO] [stderr] 9 | unsafe extern "C++" { [INFO] [stderr] | - while parsing this item list starting here [INFO] [stderr] ... [INFO] [stderr] 18 | unsafe fn reset(self: Pin<&mut dtPathCorridor>, rer: dtPolyRef, pos: *const f32)unsafe ; [INFO] [stderr] | ^^^^^^ expected one of `->`, `;`, `where`, or `{` [INFO] [stderr] ... [INFO] [stderr] 103 | } [INFO] [stderr] | - the item list ends here [INFO] [stderr] [INFO] [stderr] error: expected one of `!`, `+`, `::`, `;`, `where`, or `{`, found keyword `unsafe` [INFO] [stderr] --> src/recast/recast.rs:92:68 [INFO] [stderr] | [INFO] [stderr] 76 | unsafe extern "C++" { [INFO] [stderr] | - while parsing this item list starting here [INFO] [stderr] ... [INFO] [stderr] 92 | fn rcNewContext(state: bool) -> UniquePtrunsafe ; [INFO] [stderr] | ^^^^^^ expected one of `!`, `+`, `::`, `;`, `where`, or `{` [INFO] [stderr] ... [INFO] [stderr] 354 | } [INFO] [stderr] | - the item list ends here [INFO] [stderr] [INFO] [stderr] error: expected `;` [INFO] [stderr] --> src/demo/demo.rs:20:69 [INFO] [stderr] | [INFO] [stderr] 20 | fn rcNewMeshLoaderObj() -> UniquePtrunsafe ; [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] error: expected `;` [INFO] [stderr] --> src/detour/base.rs:21:43 [INFO] [stderr] | [INFO] [stderr] 21 | unsafe fn dtFree(ptr: *mut c_void)unsafe ; [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] error: unsupported type: boolunsafe [INFO] [stderr] --> src/detour/builder.rs:21:14 [INFO] [stderr] | [INFO] [stderr] 21 | ) -> boolunsafe ; [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error: expected `;` [INFO] [stderr] --> src/detour/mesh.rs:49:54 [INFO] [stderr] | [INFO] [stderr] 49 | fn dtp_setArea(poly: Pin<&mut dtPoly>, a: u8)unsafe ; [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] error: expected `;` [INFO] [stderr] --> src/detour/query.rs:69:69 [INFO] [stderr] | [INFO] [stderr] 69 | pub unsafe fn dtFreeNavMeshQuery(query: *mut dtNavMeshQuery)unsafe ; [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] error: expected `;` [INFO] [stderr] --> src/detour_crowd/crowd.rs:66:71 [INFO] [stderr] | [INFO] [stderr] 66 | fn dtca_setActive(agent: Pin<&mut dtCrowdAgent>, active: bool)unsafe ; [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] error: expected `;` [INFO] [stderr] --> src/detour_crowd/local_boundary.rs:17:60 [INFO] [stderr] | [INFO] [stderr] 17 | unsafe fn dtlb_reset(lb: Pin<&mut dtLocalBoundary>)unsafe ; [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] error: expected `;` [INFO] [stderr] --> src/detour_crowd/path_corridor.rs:18:89 [INFO] [stderr] | [INFO] [stderr] 18 | unsafe fn reset(self: Pin<&mut dtPathCorridor>, rer: dtPolyRef, pos: *const f32)unsafe ; [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] error: expected `;` [INFO] [stderr] --> src/recast/recast.rs:92:68 [INFO] [stderr] | [INFO] [stderr] 92 | fn rcNewContext(state: bool) -> UniquePtrunsafe ; [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/detour/query.rs:292:56 [INFO] [stderr] | [INFO] [stderr] 292 | pub const DT_STRAIGHTPATH_START: DtStraightPathFlags = ffi::dtStraightPathFlags::DT_STRAIGHTPATH_START.repr as u8; [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/detour/query.rs:293:54 [INFO] [stderr] | [INFO] [stderr] 293 | pub const DT_STRAIGHTPATH_END: DtStraightPathFlags = ffi::dtStraightPathFlags::DT_STRAIGHTPATH_END.repr as u8; [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/detour/query.rs:295:5 [INFO] [stderr] | [INFO] [stderr] 295 | ffi::dtStraightPathFlags::DT_STRAIGHTPATH_OFFMESH_CONNECTION.repr as u8; [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/detour/query.rs:299:5 [INFO] [stderr] | [INFO] [stderr] 299 | ffi::dtStraightPathOptions::DT_STRAIGHTPATH_AREA_CROSSINGS.repr; [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/detour/query.rs:301:5 [INFO] [stderr] | [INFO] [stderr] 301 | ffi::dtStraightPathOptions::DT_STRAIGHTPATH_ALL_CROSSINGS.repr; [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/detour/query.rs:537:23 [INFO] [stderr] | [INFO] [stderr] 537 | options = ffi::dtFindPathOptions::DT_FINDPATH_ANY_ANGLE.repr; [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/demo/demo.rs:70:32 [INFO] [stderr] | [INFO] [stderr] 70 | return RcMeshLoaderObj(ffi::rcNewMeshLoaderObj()); [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/demo/demo.rs:105:20 [INFO] [stderr] | [INFO] [stderr] 105 | let mesh = ffi::loadNavMesh(path); [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/demo/demo.rs:114:14 [INFO] [stderr] | [INFO] [stderr] 114 | unsafe { ffi::saveNavMesh(mesh.as_ptr(), path) }; [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/demo/demo.rs:159:18 [INFO] [stderr] | [INFO] [stderr] 159 | unsafe { ffi::rcctm_delete(self.0) }; [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/demo/demo.rs:174:41 [INFO] [stderr] | [INFO] [stderr] 174 | return RcChunkyTriMesh(unsafe { ffi::rcctm_new() }); [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/demo/demo.rs:207:27 [INFO] [stderr] | [INFO] [stderr] 207 | let result = unsafe { ffi::rcCreateChunkyTriMesh(verts_ptr, tris_ptr, ntris, tris_per_chunk, cm.0) }; [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/demo/demo.rs:221:9 [INFO] [stderr] | [INFO] [stderr] 221 | ffi::rcGetChunksOverlappingRect(cm.0, bmin.as_ptr(), bmax.as_ptr(), ids.as_mut_ptr(), ids.len() as i32) [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/demo/demo.rs:228:18 [INFO] [stderr] | [INFO] [stderr] 228 | unsafe { ffi::rcGetChunksOverlappingSegment(cm.0, p.as_ptr(), q.as_ptr(), ids.as_mut_ptr(), ids.len() as i32) }; [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/detour/base.rs:85:18 [INFO] [stderr] | [INFO] [stderr] 85 | unsafe { ffi::dtFree(self.data as *mut _) }; [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/detour/builder.rs:220:19 [INFO] [stderr] | [INFO] [stderr] 220 | let res = ffi::dtCreateNavMeshData((&mut cp) as *mut _, &mut buf.data, &mut buf.size); [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/detour/builder.rs:229:24 [INFO] [stderr] | [INFO] [stderr] 229 | let res = unsafe { ffi::dtNavMeshHeaderSwapEndian(buf.data, buf.size) }; [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/detour/builder.rs:237:24 [INFO] [stderr] | [INFO] [stderr] 237 | let res = unsafe { ffi::dtNavMeshDataSwapEndian(buf.data, buf.size) }; [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/detour/mesh.rs:186:16 [INFO] [stderr] | [INFO] [stderr] 186 | return ffi::dtp_setArea(Pin::new(self), a); [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/detour/mesh.rs:190:16 [INFO] [stderr] | [INFO] [stderr] 190 | return ffi::dtp_setType(Pin::new(self), t.repr as u32 as u8); [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/detour/mesh.rs:194:16 [INFO] [stderr] | [INFO] [stderr] 194 | return ffi::dtp_getArea(self); [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/detour/mesh.rs:198:17 [INFO] [stderr] | [INFO] [stderr] 198 | let t = ffi::dtp_getType(self) as u32; [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/detour/mesh.rs:531:12 [INFO] [stderr] | [INFO] [stderr] 531 | return ffi::dtGetDetailTriEdgeFlags(tri_flags, edge_index); [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/detour/mesh.rs:564:18 [INFO] [stderr] | [INFO] [stderr] 564 | unsafe { ffi::dtFreeNavMesh(self.0) }; [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/detour/mesh.rs:571:26 [INFO] [stderr] | [INFO] [stderr] 571 | return DtNavMesh(ffi::dtAllocNavMesh()); [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/detour/mesh.rs:749:25 [INFO] [stderr] | [INFO] [stderr] 749 | return unsafe { ffi::dtmt_storeTileState(self.inner(), re, data.as_mut_ptr(), data.len() as i32) }.to_result(); [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/detour/mesh.rs:753:25 [INFO] [stderr] | [INFO] [stderr] 753 | return unsafe { ffi::dtmt_restoreTileState(self.inner_mut(), re, data.as_ptr(), data.len() as i32) } [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/detour/query.rs:330:25 [INFO] [stderr] | [INFO] [stderr] 330 | return unsafe { ffi::dtqf_passFilter(self, re, tile.as_ptr(), poly) }; [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/detour/query.rs:348:13 [INFO] [stderr] | [INFO] [stderr] 348 | ffi::dtqf_getCost( [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/detour/query.rs:422:18 [INFO] [stderr] | [INFO] [stderr] 422 | unsafe { ffi::dtFreeNavMeshQuery(self.0) }; [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/detour/query.rs:428:31 [INFO] [stderr] | [INFO] [stderr] 428 | return DtNavMeshQuery(ffi::dtAllocNavMeshQuery()); [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/detour/query.rs:999:18 [INFO] [stderr] | [INFO] [stderr] 999 | unsafe { ffi::dtnmq_findRandomPoint(self.inner(), filter, frand, &mut random_ref, random_pt.as_mut_ptr()) } [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/detour/query.rs:1016:13 [INFO] [stderr] | [INFO] [stderr] 1016 | ffi::dtnmq_findRandomPointAroundCircle( [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/detour_crowd/crowd.rs:242:16 [INFO] [stderr] | [INFO] [stderr] 242 | return ffi::dtca_getActive(self.inner()); [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/detour_crowd/crowd.rs:246:9 [INFO] [stderr] | [INFO] [stderr] 246 | ffi::dtca_setActive(self.inner_mut(), active); [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/detour_crowd/crowd.rs:251:16 [INFO] [stderr] | [INFO] [stderr] 251 | return ffi::dtca_getState(self.inner()); [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/detour_crowd/crowd.rs:255:9 [INFO] [stderr] | [INFO] [stderr] 255 | ffi::dtca_setState(self.inner_mut(), state); [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/detour_crowd/crowd.rs:259:16 [INFO] [stderr] | [INFO] [stderr] 259 | return ffi::dtca_getPartial(self.inner()); [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/detour_crowd/crowd.rs:263:9 [INFO] [stderr] | [INFO] [stderr] 263 | ffi::dtca_setPartial(self.inner_mut(), partial); [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/detour_crowd/crowd.rs:267:40 [INFO] [stderr] | [INFO] [stderr] 267 | return unsafe { mem::transmute(ffi::dtca_getCorridor(self.inner())) }; [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/detour_crowd/crowd.rs:271:40 [INFO] [stderr] | [INFO] [stderr] 271 | return unsafe { mem::transmute(ffi::dtca_getCorridor_mut(self.inner_mut())) }; [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/detour_crowd/crowd.rs:275:40 [INFO] [stderr] | [INFO] [stderr] 275 | return unsafe { mem::transmute(ffi::dtca_getBoundary(self.inner())) }; [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/detour_crowd/crowd.rs:279:40 [INFO] [stderr] | [INFO] [stderr] 279 | return unsafe { mem::transmute(ffi::dtca_getBoundary_mut(self.inner_mut())) }; [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/detour_crowd/crowd.rs:283:16 [INFO] [stderr] | [INFO] [stderr] 283 | return ffi::dtca_getTopologyOptTime(self.inner()); [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/detour_crowd/crowd.rs:287:9 [INFO] [stderr] | [INFO] [stderr] 287 | ffi::dtca_setTopologyOptTime(self.inner_mut(), topology_opt_time); [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/detour_crowd/crowd.rs:293:17 [INFO] [stderr] | [INFO] [stderr] 293 | ffi::dtca_getNeis(self.inner()), [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/detour_crowd/crowd.rs:294:17 [INFO] [stderr] | [INFO] [stderr] 294 | ffi::dtca_getNneis(self.inner()) as usize, [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/detour_crowd/crowd.rs:302:17 [INFO] [stderr] | [INFO] [stderr] 302 | ffi::dtca_getNeis_mut(self.inner_mut()), [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/detour_crowd/crowd.rs:303:17 [INFO] [stderr] | [INFO] [stderr] 303 | ffi::dtca_getNneis(self.inner()) as usize, [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/detour_crowd/crowd.rs:309:16 [INFO] [stderr] | [INFO] [stderr] 309 | return ffi::dtca_getDesiredSpeed(self.inner()); [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/detour_crowd/crowd.rs:313:9 [INFO] [stderr] | [INFO] [stderr] 313 | ffi::dtca_setDesiredSpeed(self.inner_mut(), desired_speed); [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/detour_crowd/crowd.rs:317:28 [INFO] [stderr] | [INFO] [stderr] 317 | return unsafe { &*(ffi::dtca_getNpos(self.inner()) as *const [f32; 3]) }; [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/detour_crowd/crowd.rs:321:18 [INFO] [stderr] | [INFO] [stderr] 321 | unsafe { ffi::dtca_setNpos(self.inner_mut(), npos.as_ptr()) }; [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/detour_crowd/crowd.rs:325:28 [INFO] [stderr] | [INFO] [stderr] 325 | return unsafe { &*(ffi::dtca_getDisp(self.inner()) as *const [f32; 3]) }; [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/detour_crowd/crowd.rs:329:18 [INFO] [stderr] | [INFO] [stderr] 329 | unsafe { ffi::dtca_setDisp(self.inner_mut(), disp.as_ptr()) }; [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/detour_crowd/crowd.rs:333:28 [INFO] [stderr] | [INFO] [stderr] 333 | return unsafe { &*(ffi::dtca_getDvel(self.inner()) as *const [f32; 3]) }; [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/detour_crowd/crowd.rs:337:18 [INFO] [stderr] | [INFO] [stderr] 337 | unsafe { ffi::dtca_setDvel(self.inner_mut(), dvel.as_ptr()) }; [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/detour_crowd/crowd.rs:341:28 [INFO] [stderr] | [INFO] [stderr] 341 | return unsafe { &*(ffi::dtca_getNvel(self.inner()) as *const [f32; 3]) }; [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/detour_crowd/crowd.rs:345:18 [INFO] [stderr] | [INFO] [stderr] 345 | unsafe { ffi::dtca_setNvel(self.inner_mut(), nvel.as_ptr()) }; [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/detour_crowd/crowd.rs:349:28 [INFO] [stderr] | [INFO] [stderr] 349 | return unsafe { &*(ffi::dtca_getVel(self.inner()) as *const [f32; 3]) }; [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/detour_crowd/crowd.rs:353:18 [INFO] [stderr] | [INFO] [stderr] 353 | unsafe { ffi::dtca_setVel(self.inner_mut(), vel.as_ptr()) }; [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/detour_crowd/crowd.rs:357:27 [INFO] [stderr] | [INFO] [stderr] 357 | return unsafe { &*ffi::dtca_getParams(self.inner()) }; [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/detour_crowd/crowd.rs:361:31 [INFO] [stderr] | [INFO] [stderr] 361 | return unsafe { &mut *ffi::dtca_getParams_mut(self.inner_mut()) }; [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/detour_crowd/crowd.rs:367:17 [INFO] [stderr] | [INFO] [stderr] 367 | ffi::dtca_getCornerVerts(self.inner()) as *const _, [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/detour_crowd/crowd.rs:368:17 [INFO] [stderr] | [INFO] [stderr] 368 | ffi::dtca_getNcorners(self.inner()) as usize * 3, [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/detour_crowd/crowd.rs:376:17 [INFO] [stderr] | [INFO] [stderr] 376 | ffi::dtca_getCornerVerts_mut(self.inner_mut()) as *mut _, [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/detour_crowd/crowd.rs:377:17 [INFO] [stderr] | [INFO] [stderr] 377 | ffi::dtca_getNcorners(self.inner()) as usize * 3, [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/detour_crowd/crowd.rs:385:17 [INFO] [stderr] | [INFO] [stderr] 385 | ffi::dtca_getCornerFlags(self.inner()), [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/detour_crowd/crowd.rs:386:17 [INFO] [stderr] | [INFO] [stderr] 386 | ffi::dtca_getNcorners(self.inner()) as usize, [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/detour_crowd/crowd.rs:394:17 [INFO] [stderr] | [INFO] [stderr] 394 | ffi::dtca_getCornerFlags_mut(self.inner_mut()), [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/detour_crowd/crowd.rs:395:17 [INFO] [stderr] | [INFO] [stderr] 395 | ffi::dtca_getNcorners(self.inner()) as usize, [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/detour_crowd/crowd.rs:403:17 [INFO] [stderr] | [INFO] [stderr] 403 | ffi::dtca_getCornerPolys(self.inner()), [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/detour_crowd/crowd.rs:404:17 [INFO] [stderr] | [INFO] [stderr] 404 | ffi::dtca_getNcorners(self.inner()) as usize, [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/detour_crowd/crowd.rs:412:17 [INFO] [stderr] | [INFO] [stderr] 412 | ffi::dtca_getCornerPolys_mut(self.inner_mut()), [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/detour_crowd/crowd.rs:413:17 [INFO] [stderr] | [INFO] [stderr] 413 | ffi::dtca_getNcorners(self.inner()) as usize, [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/detour_crowd/crowd.rs:419:16 [INFO] [stderr] | [INFO] [stderr] 419 | return ffi::dtca_getNcorners(self.inner()); [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/detour_crowd/crowd.rs:423:16 [INFO] [stderr] | [INFO] [stderr] 423 | return ffi::dtca_getTargetState(self.inner()); [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/detour_crowd/crowd.rs:427:9 [INFO] [stderr] | [INFO] [stderr] 427 | ffi::dtca_setTargetState(self.inner_mut(), target_state); [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/detour_crowd/crowd.rs:431:16 [INFO] [stderr] | [INFO] [stderr] 431 | return ffi::dtca_getTargetRef(self.inner()); [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/detour_crowd/crowd.rs:435:9 [INFO] [stderr] | [INFO] [stderr] 435 | ffi::dtca_setTargetRef(self.inner_mut(), target_ref); [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/detour_crowd/crowd.rs:439:28 [INFO] [stderr] | [INFO] [stderr] 439 | return unsafe { &*(ffi::dtca_getTargetPos(self.inner()) as *const [f32; 3]) }; [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/detour_crowd/crowd.rs:443:18 [INFO] [stderr] | [INFO] [stderr] 443 | unsafe { ffi::dtca_setTargetPos(self.inner_mut(), target_pos.as_ptr()) }; [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/detour_crowd/crowd.rs:447:16 [INFO] [stderr] | [INFO] [stderr] 447 | return ffi::dtca_getTargetPathqRef(self.inner()); [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/detour_crowd/crowd.rs:451:9 [INFO] [stderr] | [INFO] [stderr] 451 | ffi::dtca_setTargetPathqRef(self.inner_mut(), target_pathq_ref); [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/detour_crowd/crowd.rs:455:16 [INFO] [stderr] | [INFO] [stderr] 455 | return ffi::dtca_getTargetReplan(self.inner()); [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/detour_crowd/crowd.rs:459:9 [INFO] [stderr] | [INFO] [stderr] 459 | ffi::dtca_setTargetReplan(self.inner_mut(), target_replan); [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/detour_crowd/crowd.rs:463:16 [INFO] [stderr] | [INFO] [stderr] 463 | return ffi::dtca_getTargetReplanTime(self.inner()); [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/detour_crowd/crowd.rs:467:9 [INFO] [stderr] | [INFO] [stderr] 467 | ffi::dtca_setTargetReplanTime(self.inner_mut(), target_replan_time); [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/detour_crowd/crowd.rs:507:18 [INFO] [stderr] | [INFO] [stderr] 507 | unsafe { ffi::dtFreeCrowd(self.0) }; [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/detour_crowd/crowd.rs:514:24 [INFO] [stderr] | [INFO] [stderr] 514 | return DtCrowd(ffi::dtAllocCrowd()); [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/detour_crowd/local_boundary.rs:67:18 [INFO] [stderr] | [INFO] [stderr] 67 | unsafe { ffi::dtlb_reset(self.inner_mut()) }; [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/detour_crowd/local_boundary.rs:79:13 [INFO] [stderr] | [INFO] [stderr] 79 | ffi::dtlb_update( [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/detour_crowd/local_boundary.rs:91:25 [INFO] [stderr] | [INFO] [stderr] 91 | return unsafe { ffi::dtlb_isValid(self.inner(), navquery.as_mut_ptr(), filter) }; [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/detour_crowd/local_boundary.rs:95:28 [INFO] [stderr] | [INFO] [stderr] 95 | return unsafe { &*(ffi::dtlb_getCenter(self.inner()) as *const [f32; 3]) }; [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/detour_crowd/local_boundary.rs:99:17 [INFO] [stderr] | [INFO] [stderr] 99 | if i >= ffi::dtlb_getSegmentCount(self.inner()) as usize { [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/detour_crowd/local_boundary.rs:102:31 [INFO] [stderr] | [INFO] [stderr] 102 | let seg = unsafe { &*(ffi::dtlb_getSegment(self.inner(), i as i32) as *const DtAABB) }; [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/detour_crowd/path_corridor.rs:273:9 [INFO] [stderr] | [INFO] [stderr] 273 | ffi::dtMergeCorridorStartMoved( [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/detour_crowd/path_corridor.rs:285:9 [INFO] [stderr] | [INFO] [stderr] 285 | ffi::dtMergeCorridorEndMoved( [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/detour_crowd/path_corridor.rs:297:9 [INFO] [stderr] | [INFO] [stderr] 297 | ffi::dtMergeCorridorStartShortcut( [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/recast/recast.rs:378:26 [INFO] [stderr] | [INFO] [stderr] 378 | return RcContext(ffi::rcNewContext(state)); [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/recast/recast.rs:646:18 [INFO] [stderr] | [INFO] [stderr] 646 | unsafe { ffi::rcFreeHeightField(self.0) }; [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/recast/recast.rs:653:39 [INFO] [stderr] | [INFO] [stderr] 653 | return RcHeightfield(unsafe { ffi::rcAllocHeightfield() }); [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/recast/recast.rs:881:18 [INFO] [stderr] | [INFO] [stderr] 881 | unsafe { ffi::rcFreeCompactHeightfield(self.0) }; [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/recast/recast.rs:888:46 [INFO] [stderr] | [INFO] [stderr] 888 | return RcCompactHeightfield(unsafe { ffi::rcAllocCompactHeightfield() }); [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/recast/recast.rs:1100:18 [INFO] [stderr] | [INFO] [stderr] 1100 | unsafe { ffi::rcFreeHeightfieldLayerSet(self.0) }; [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/recast/recast.rs:1107:47 [INFO] [stderr] | [INFO] [stderr] 1107 | return RcHeightfieldLayerSet(unsafe { ffi::rcAllocHeightfieldLayerSet() }); [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/recast/recast.rs:1258:18 [INFO] [stderr] | [INFO] [stderr] 1258 | unsafe { ffi::rcFreeContourSet(self.0) }; [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/recast/recast.rs:1265:38 [INFO] [stderr] | [INFO] [stderr] 1265 | return RcContourSet(unsafe { ffi::rcAllocContourSet() }); [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/recast/recast.rs:1363:18 [INFO] [stderr] | [INFO] [stderr] 1363 | unsafe { ffi::rcFreePolyMesh(self.0) }; [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/recast/recast.rs:1370:36 [INFO] [stderr] | [INFO] [stderr] 1370 | return RcPolyMesh(unsafe { ffi::rcAllocPolyMesh() }); [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/recast/recast.rs:1514:18 [INFO] [stderr] | [INFO] [stderr] 1514 | unsafe { ffi::rcFreePolyMeshDetail(self.0) }; [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/recast/recast.rs:1521:42 [INFO] [stderr] | [INFO] [stderr] 1521 | return RcPolyMeshDetail(unsafe { ffi::rcAllocPolyMeshDetail() }); [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/recast/recast.rs:1604:9 [INFO] [stderr] | [INFO] [stderr] 1604 | ffi::rcCalcBounds( [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/recast/recast.rs:1618:9 [INFO] [stderr] | [INFO] [stderr] 1618 | ffi::rcCalcGridSize( [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/recast/recast.rs:1640:9 [INFO] [stderr] | [INFO] [stderr] 1640 | ffi::rcCreateHeightfield( [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/recast/recast.rs:1665:9 [INFO] [stderr] | [INFO] [stderr] 1665 | ffi::rcMarkWalkableTriangles( [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/recast/recast.rs:1689:9 [INFO] [stderr] | [INFO] [stderr] 1689 | ffi::rcClearUnwalkableTriangles( [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/recast/recast.rs:1713:9 [INFO] [stderr] | [INFO] [stderr] 1713 | ffi::rcAddSpan( [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/recast/recast.rs:1737:9 [INFO] [stderr] | [INFO] [stderr] 1737 | ffi::rcRasterizeTriangle( [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/recast/recast.rs:1762:9 [INFO] [stderr] | [INFO] [stderr] 1762 | ffi::rcRasterizeTriangles1( [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/recast/recast.rs:1788:9 [INFO] [stderr] | [INFO] [stderr] 1788 | ffi::rcRasterizeTriangles2( [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/recast/recast.rs:1813:9 [INFO] [stderr] | [INFO] [stderr] 1813 | ffi::rcRasterizeTriangles3( [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/recast/recast.rs:1831:9 [INFO] [stderr] | [INFO] [stderr] 1831 | ffi::rcFilterLowHangingWalkableObstacles( [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/recast/recast.rs:1846:9 [INFO] [stderr] | [INFO] [stderr] 1846 | ffi::rcFilterLedgeSpans( [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/recast/recast.rs:1861:9 [INFO] [stderr] | [INFO] [stderr] 1861 | ffi::rcFilterWalkableLowHeightSpans( [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/recast/recast.rs:1871:16 [INFO] [stderr] | [INFO] [stderr] 1871 | return ffi::rcGetHeightFieldSpanCount(context.0.pin_mut().get_unchecked_mut() as *mut _, heightfield.inner()); [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/recast/recast.rs:1883:9 [INFO] [stderr] | [INFO] [stderr] 1883 | ffi::rcBuildCompactHeightfield( [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/recast/recast.rs:1900:9 [INFO] [stderr] | [INFO] [stderr] 1900 | ffi::rcErodeWalkableArea( [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/recast/recast.rs:1914:9 [INFO] [stderr] | [INFO] [stderr] 1914 | ffi::rcMedianFilterWalkableArea( [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/recast/recast.rs:1930:9 [INFO] [stderr] | [INFO] [stderr] 1930 | ffi::rcMarkBoxArea( [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/recast/recast.rs:1948:16 [INFO] [stderr] | [INFO] [stderr] 1948 | return ffi::rcOffsetPoly( [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/recast/recast.rs:1967:9 [INFO] [stderr] | [INFO] [stderr] 1967 | ffi::rcMarkConvexPolyArea( [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/recast/recast.rs:1988:9 [INFO] [stderr] | [INFO] [stderr] 1988 | ffi::rcMarkCylinderArea( [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/recast/recast.rs:2000:24 [INFO] [stderr] | [INFO] [stderr] 2000 | let res = unsafe { ffi::rcBuildDistanceField(context.0.pin_mut().get_unchecked_mut() as *mut _, chf.inner_mut()) }; [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/recast/recast.rs:2012:9 [INFO] [stderr] | [INFO] [stderr] 2012 | ffi::rcBuildRegions( [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/recast/recast.rs:2030:9 [INFO] [stderr] | [INFO] [stderr] 2030 | ffi::rcBuildLayerRegions( [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/recast/recast.rs:2048:9 [INFO] [stderr] | [INFO] [stderr] 2048 | ffi::rcBuildRegionsMonotone( [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/recast/recast.rs:2067:9 [INFO] [stderr] | [INFO] [stderr] 2067 | ffi::rcBuildHeightfieldLayers( [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/recast/recast.rs:2087:9 [INFO] [stderr] | [INFO] [stderr] 2087 | ffi::rcBuildContours( [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/recast/recast.rs:2106:9 [INFO] [stderr] | [INFO] [stderr] 2106 | ffi::rcBuildPolyMesh( [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/recast/recast.rs:2119:16 [INFO] [stderr] | [INFO] [stderr] 2119 | return ffi::rcMergePolyMeshes( [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/recast/recast.rs:2137:9 [INFO] [stderr] | [INFO] [stderr] 2137 | ffi::rcBuildPolyMeshDetail( [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/recast/recast.rs:2151:9 [INFO] [stderr] | [INFO] [stderr] 2151 | ffi::rcCopyPolyMesh( [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/recast/recast.rs:2167:16 [INFO] [stderr] | [INFO] [stderr] 2167 | return ffi::rcMergePolyMeshDetails( [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/demo/demo.rs:60:38 [INFO] [stderr] | [INFO] [stderr] 60 | pub struct RcMeshLoaderObj(UniquePtr); [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/recast/recast.rs:357:26 [INFO] [stderr] | [INFO] [stderr] 357 | pub type RcLogCategory = ffi::rcLogCategory; [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/recast/recast.rs:1345:28 [INFO] [stderr] | [INFO] [stderr] 1345 | pub struct RcPolyMesh(*mut ffi::rcPolyMesh); [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/recast/recast.rs:1284:42 [INFO] [stderr] | [INFO] [stderr] 1284 | pub fn as_mut_ptr(&mut self) -> *mut ffi::rcContourSet { [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/recast/recast.rs:1279:36 [INFO] [stderr] | [INFO] [stderr] 1279 | pub fn as_ptr(&self) -> *const ffi::rcContourSet { [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/recast/recast.rs:1274:41 [INFO] [stderr] | [INFO] [stderr] 1274 | fn inner_mut(&mut self) -> Pin<&mut ffi::rcContourSet> { [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/recast/recast.rs:1269:25 [INFO] [stderr] | [INFO] [stderr] 1269 | fn inner(&self) -> &ffi::rcContourSet { [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/detour_crowd/local_boundary.rs:58:25 [INFO] [stderr] | [INFO] [stderr] 58 | fn inner(&self) -> &ffi::dtLocalBoundary { [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/detour_crowd/local_boundary.rs:62:41 [INFO] [stderr] | [INFO] [stderr] 62 | fn inner_mut(&mut self) -> Pin<&mut ffi::dtLocalBoundary> { [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/recast/recast.rs:1240:30 [INFO] [stderr] | [INFO] [stderr] 1240 | pub struct RcContourSet(*mut ffi::rcContourSet); [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/recast/recast.rs:1126:42 [INFO] [stderr] | [INFO] [stderr] 1126 | pub fn as_mut_ptr(&mut self) -> *mut ffi::rcHeightfieldLayerSet { [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/recast/recast.rs:1121:36 [INFO] [stderr] | [INFO] [stderr] 1121 | pub fn as_ptr(&self) -> *const ffi::rcHeightfieldLayerSet { [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/recast/recast.rs:1116:41 [INFO] [stderr] | [INFO] [stderr] 1116 | fn inner_mut(&mut self) -> Pin<&mut ffi::rcHeightfieldLayerSet> { [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/detour/mesh.rs:137:24 [INFO] [stderr] | [INFO] [stderr] 137 | pub type DtPolyTypes = ffi::dtPolyTypes; [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/recast/recast.rs:1111:25 [INFO] [stderr] | [INFO] [stderr] 1111 | fn inner(&self) -> &ffi::rcHeightfieldLayerSet { [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/detour_crowd/crowd.rs:503:25 [INFO] [stderr] | [INFO] [stderr] 503 | pub struct DtCrowd(*mut ffi::dtCrowd); [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/detour_crowd/path_corridor.rs:126:25 [INFO] [stderr] | [INFO] [stderr] 126 | fn inner(&self) -> &ffi::dtPathCorridor { [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/recast/recast.rs:1082:39 [INFO] [stderr] | [INFO] [stderr] 1082 | pub struct RcHeightfieldLayerSet(*mut ffi::rcHeightfieldLayerSet); [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/detour/mesh.rs:336:18 [INFO] [stderr] | [INFO] [stderr] 336 | header: *mut ffi::dtMeshHeader, [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/detour/mesh.rs:337:17 [INFO] [stderr] | [INFO] [stderr] 337 | polys: *mut ffi::dtPoly, [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/detour/mesh.rs:339:17 [INFO] [stderr] | [INFO] [stderr] 339 | links: *mut ffi::dtLink, [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/detour/mesh.rs:340:25 [INFO] [stderr] | [INFO] [stderr] 340 | detail_meshes: *mut ffi::dtPolyDetail, [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/detour/mesh.rs:343:19 [INFO] [stderr] | [INFO] [stderr] 343 | bv_tree: *mut ffi::dtBVNode, [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/detour/mesh.rs:344:25 [INFO] [stderr] | [INFO] [stderr] 344 | off_mesh_cons: *mut ffi::dtOffMeshConnection, [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/detour/mesh.rs:348:16 [INFO] [stderr] | [INFO] [stderr] 348 | next: *mut ffi::dtMeshTile, [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/detour/mesh.rs:385:25 [INFO] [stderr] | [INFO] [stderr] 385 | fn inner(&self) -> &ffi::dtMeshTile { [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/detour/mesh.rs:389:41 [INFO] [stderr] | [INFO] [stderr] 389 | fn inner_mut(&mut self) -> Pin<&mut ffi::dtMeshTile> { [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/detour/mesh.rs:393:36 [INFO] [stderr] | [INFO] [stderr] 393 | pub fn as_ptr(&self) -> *const ffi::dtMeshTile { [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/detour/mesh.rs:397:42 [INFO] [stderr] | [INFO] [stderr] 397 | pub fn as_mut_ptr(&mut self) -> *mut ffi::dtMeshTile { [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/recast/recast.rs:1067:18 [INFO] [stderr] | [INFO] [stderr] 1067 | layers: *mut ffi::rcHeightfieldLayer, [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/detour/mesh.rs:560:27 [INFO] [stderr] | [INFO] [stderr] 560 | pub struct DtNavMesh(*mut ffi::dtNavMesh); [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/recast/recast.rs:907:42 [INFO] [stderr] | [INFO] [stderr] 907 | pub fn as_mut_ptr(&mut self) -> *mut ffi::rcCompactHeightfield { [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/recast/recast.rs:902:36 [INFO] [stderr] | [INFO] [stderr] 902 | pub fn as_ptr(&self) -> *const ffi::rcCompactHeightfield { [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/detour/mesh.rs:574:45 [INFO] [stderr] | [INFO] [stderr] 574 | pub(crate) unsafe fn from_ptr(ptr: *mut ffi::dtNavMesh) -> DtNavMesh { [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/detour/mesh.rs:578:25 [INFO] [stderr] | [INFO] [stderr] 578 | fn inner(&self) -> &ffi::dtNavMesh { [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/detour/mesh.rs:582:41 [INFO] [stderr] | [INFO] [stderr] 582 | fn inner_mut(&mut self) -> Pin<&mut ffi::dtNavMesh> { [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/detour/mesh.rs:586:36 [INFO] [stderr] | [INFO] [stderr] 586 | pub fn as_ptr(&self) -> *const ffi::dtNavMesh { [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/detour/mesh.rs:590:42 [INFO] [stderr] | [INFO] [stderr] 590 | pub fn as_mut_ptr(&mut self) -> *mut ffi::dtNavMesh { [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/recast/recast.rs:897:41 [INFO] [stderr] | [INFO] [stderr] 897 | fn inner_mut(&mut self) -> Pin<&mut ffi::rcCompactHeightfield> { [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/recast/recast.rs:892:25 [INFO] [stderr] | [INFO] [stderr] 892 | fn inner(&self) -> &ffi::rcCompactHeightfield { [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/detour_crowd/path_corridor.rs:130:41 [INFO] [stderr] | [INFO] [stderr] 130 | fn inner_mut(&mut self) -> Pin<&mut ffi::dtPathCorridor> { [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/detour_crowd/crowd.rs:517:25 [INFO] [stderr] | [INFO] [stderr] 517 | fn inner(&self) -> &ffi::dtCrowd { [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/detour/query.rs:418:32 [INFO] [stderr] | [INFO] [stderr] 418 | pub struct DtNavMeshQuery(*mut ffi::dtNavMeshQuery); [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/recast/recast.rs:863:38 [INFO] [stderr] | [INFO] [stderr] 863 | pub struct RcCompactHeightfield(*mut ffi::rcCompactHeightfield); [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/recast/recast.rs:672:42 [INFO] [stderr] | [INFO] [stderr] 672 | pub fn as_mut_ptr(&mut self) -> *mut ffi::rcHeightfield { [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/detour/query.rs:431:25 [INFO] [stderr] | [INFO] [stderr] 431 | fn inner(&self) -> &ffi::dtNavMeshQuery { [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/detour/query.rs:435:41 [INFO] [stderr] | [INFO] [stderr] 435 | fn inner_mut(&mut self) -> Pin<&mut ffi::dtNavMeshQuery> { [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/detour/query.rs:439:36 [INFO] [stderr] | [INFO] [stderr] 439 | pub fn as_ptr(&self) -> *const ffi::dtNavMeshQuery { [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/detour/query.rs:443:42 [INFO] [stderr] | [INFO] [stderr] 443 | pub fn as_mut_ptr(&mut self) -> *mut ffi::dtNavMeshQuery { [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/recast/recast.rs:667:36 [INFO] [stderr] | [INFO] [stderr] 667 | pub fn as_ptr(&self) -> *const ffi::rcHeightfield { [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/recast/recast.rs:662:41 [INFO] [stderr] | [INFO] [stderr] 662 | fn inner_mut(&mut self) -> Pin<&mut ffi::rcHeightfield> { [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/detour_crowd/crowd.rs:149:28 [INFO] [stderr] | [INFO] [stderr] 149 | pub type CrowdAgentState = ffi::CrowdAgentState; [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/detour_crowd/crowd.rs:150:29 [INFO] [stderr] | [INFO] [stderr] 150 | pub type MoveRequestState = ffi::MoveRequestState; [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/detour_crowd/crowd.rs:225:25 [INFO] [stderr] | [INFO] [stderr] 225 | fn inner(&self) -> &ffi::dtCrowdAgent { [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/detour_crowd/crowd.rs:229:41 [INFO] [stderr] | [INFO] [stderr] 229 | fn inner_mut(&mut self) -> Pin<&mut ffi::dtCrowdAgent> { [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/detour_crowd/crowd.rs:233:36 [INFO] [stderr] | [INFO] [stderr] 233 | pub fn as_ptr(&self) -> *const ffi::dtCrowdAgent { [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/detour_crowd/crowd.rs:237:42 [INFO] [stderr] | [INFO] [stderr] 237 | pub fn as_mut_ptr(&mut self) -> *mut ffi::dtCrowdAgent { [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/recast/recast.rs:657:25 [INFO] [stderr] | [INFO] [stderr] 657 | fn inner(&self) -> &ffi::rcHeightfield { [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/detour_crowd/crowd.rs:521:41 [INFO] [stderr] | [INFO] [stderr] 521 | fn inner_mut(&mut self) -> Pin<&mut ffi::dtCrowd> { [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/detour_crowd/crowd.rs:525:36 [INFO] [stderr] | [INFO] [stderr] 525 | pub fn as_ptr(&self) -> *const ffi::dtCrowd { [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/detour_crowd/crowd.rs:529:42 [INFO] [stderr] | [INFO] [stderr] 529 | pub fn as_mut_ptr(&mut self) -> *mut ffi::dtCrowd { [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/recast/recast.rs:371:62 [INFO] [stderr] | [INFO] [stderr] 371 | .field(&unsafe { mem::transmute_copy::<_, *const ffi::rcContext>(&self.0) }) [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/recast/recast.rs:1540:42 [INFO] [stderr] | [INFO] [stderr] 1540 | pub fn as_mut_ptr(&mut self) -> *mut ffi::rcPolyMeshDetail { [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/recast/recast.rs:1535:36 [INFO] [stderr] | [INFO] [stderr] 1535 | pub fn as_ptr(&self) -> *const ffi::rcPolyMeshDetail { [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/recast/recast.rs:1530:41 [INFO] [stderr] | [INFO] [stderr] 1530 | fn inner_mut(&mut self) -> Pin<&mut ffi::rcPolyMeshDetail> { [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/recast/recast.rs:1525:25 [INFO] [stderr] | [INFO] [stderr] 1525 | fn inner(&self) -> &ffi::rcPolyMeshDetail { [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/recast/recast.rs:365:32 [INFO] [stderr] | [INFO] [stderr] 365 | pub struct RcContext(UniquePtr); [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/recast/recast.rs:359:33 [INFO] [stderr] | [INFO] [stderr] 359 | pub type RcBuildContoursFlags = ffi::rcBuildContoursFlags; [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/recast/recast.rs:1496:34 [INFO] [stderr] | [INFO] [stderr] 1496 | pub struct RcPolyMeshDetail(*mut ffi::rcPolyMeshDetail); [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/recast/recast.rs:1389:42 [INFO] [stderr] | [INFO] [stderr] 1389 | pub fn as_mut_ptr(&mut self) -> *mut ffi::rcPolyMesh { [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/recast/recast.rs:1384:36 [INFO] [stderr] | [INFO] [stderr] 1384 | pub fn as_ptr(&self) -> *const ffi::rcPolyMesh { [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/recast/recast.rs:1379:41 [INFO] [stderr] | [INFO] [stderr] 1379 | fn inner_mut(&mut self) -> Pin<&mut ffi::rcPolyMesh> { [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/recast/recast.rs:1374:25 [INFO] [stderr] | [INFO] [stderr] 1374 | fn inner(&self) -> &ffi::rcPolyMesh { [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/recast/recast.rs:358:25 [INFO] [stderr] | [INFO] [stderr] 358 | pub type RcTimerLabel = ffi::rcTimerLabel; [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error: aborting due to 235 previous errors [INFO] [stderr] [INFO] [stderr] For more information about this error, try `rustc --explain E0433`. [INFO] [stderr] Original diagnostics will follow. [INFO] [stderr] [INFO] [stdout] warning: unsafe attribute used without unsafe [INFO] [stdout] --> src/detour/query.rs:277:22 [INFO] [stdout] | [INFO] [stdout] 277 | ) -> dtStatus; [INFO] [stdout] | ^ usage of unsafe attribute [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123757 [INFO] [stdout] = note: `--force-warn unsafe-attr-outside-unsafe` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] help: wrap the attribute in `unsafe(...)` [INFO] [stdout] | [INFO] [stdout] 277 | ) -> dtStatusunsafe(;) [INFO] [stdout] | +++++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unsafe attribute used without unsafe [INFO] [stdout] --> src/detour/query.rs:287:22 [INFO] [stdout] | [INFO] [stdout] 287 | ) -> dtStatus; [INFO] [stdout] | ^ usage of unsafe attribute [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123757 [INFO] [stdout] help: wrap the attribute in `unsafe(...)` [INFO] [stdout] | [INFO] [stdout] 287 | ) -> dtStatusunsafe(;) [INFO] [stdout] | +++++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/demo/demo.rs:19:79 [INFO] [stdout] | [INFO] [stdout] 19 | fn load(self: Pin<&mut rcMeshLoaderObj>, fileName: &CxxString) -> bool; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] = note: `--force-warn missing-unsafe-on-extern` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/demo/demo.rs:20:62 [INFO] [stdout] | [INFO] [stdout] 20 | fn rcNewMeshLoaderObj() -> UniquePtr; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/demo/demo.rs:21:58 [INFO] [stdout] | [INFO] [stdout] 21 | fn getVerts(self: &rcMeshLoaderObj) -> *const f32; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/demo/demo.rs:22:60 [INFO] [stdout] | [INFO] [stdout] 22 | fn getNormals(self: &rcMeshLoaderObj) -> *const f32; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/demo/demo.rs:23:57 [INFO] [stdout] | [INFO] [stdout] 23 | fn getTris(self: &rcMeshLoaderObj) -> *const i32; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/demo/demo.rs:24:55 [INFO] [stdout] | [INFO] [stdout] 24 | fn getVertCount(self: &rcMeshLoaderObj) -> i32; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/demo/demo.rs:25:54 [INFO] [stdout] | [INFO] [stdout] 25 | fn getTriCount(self: &rcMeshLoaderObj) -> i32; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/demo/demo.rs:26:61 [INFO] [stdout] | [INFO] [stdout] 26 | fn getFileName(self: &rcMeshLoaderObj) -> &CxxString; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/demo/demo.rs:28:60 [INFO] [stdout] | [INFO] [stdout] 28 | unsafe fn loadNavMesh(path: &str) -> *mut dtNavMesh; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/demo/demo.rs:29:66 [INFO] [stdout] | [INFO] [stdout] 29 | unsafe fn saveNavMesh(mesh: *const dtNavMesh, path: &str); [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/demo/demo.rs:34:54 [INFO] [stdout] | [INFO] [stdout] 34 | unsafe fn rcctm_new() -> *mut rcChunkyTriMesh; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/demo/demo.rs:35:57 [INFO] [stdout] | [INFO] [stdout] 35 | unsafe fn rcctm_delete(cm: *mut rcChunkyTriMesh); [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/demo/demo.rs:42:18 [INFO] [stdout] | [INFO] [stdout] 42 | ) -> bool; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/demo/demo.rs:49:17 [INFO] [stdout] | [INFO] [stdout] 49 | ) -> i32; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/demo/demo.rs:56:17 [INFO] [stdout] | [INFO] [stdout] 56 | ) -> i32; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/demo/demo.rs:20:61 [INFO] [stdout] | [INFO] [stdout] 20 | fn rcNewMeshLoaderObj() -> UniquePtr; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour/base.rs:21:43 [INFO] [stdout] | [INFO] [stdout] 21 | unsafe fn dtFree(ptr: *mut c_void); [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour/builder.rs:21:18 [INFO] [stdout] | [INFO] [stdout] 21 | ) -> bool; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour/builder.rs:22:82 [INFO] [stdout] | [INFO] [stdout] 22 | unsafe fn dtNavMeshHeaderSwapEndian(data: *mut u8, dataSize: i32) -> bool; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour/builder.rs:23:80 [INFO] [stdout] | [INFO] [stdout] 23 | unsafe fn dtNavMeshDataSwapEndian(data: *mut u8, dataSize: i32) -> bool; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour/mesh.rs:49:54 [INFO] [stdout] | [INFO] [stdout] 49 | fn dtp_setArea(poly: Pin<&mut dtPoly>, a: u8); [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour/mesh.rs:50:54 [INFO] [stdout] | [INFO] [stdout] 50 | fn dtp_setType(poly: Pin<&mut dtPoly>, t: u8); [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour/mesh.rs:51:44 [INFO] [stdout] | [INFO] [stdout] 51 | fn dtp_getArea(poly: &dtPoly) -> u8; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour/mesh.rs:52:44 [INFO] [stdout] | [INFO] [stdout] 52 | fn dtp_getType(poly: &dtPoly) -> u8; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour/mesh.rs:63:72 [INFO] [stdout] | [INFO] [stdout] 63 | fn dtGetDetailTriEdgeFlags(triFlags: u8, edgeIndex: i32) -> i32; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour/mesh.rs:66:46 [INFO] [stdout] | [INFO] [stdout] 66 | fn dtAllocNavMesh() -> *mut dtNavMesh; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour/mesh.rs:67:53 [INFO] [stdout] | [INFO] [stdout] 67 | unsafe fn dtFreeNavMesh(ptr: *mut dtNavMesh); [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour/mesh.rs:69:94 [INFO] [stdout] | [INFO] [stdout] 69 | unsafe fn init(self: Pin<&mut dtNavMesh>, params: *const dtNavMeshParams) -> dtStatus; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour/mesh.rs:71:104 [INFO] [stdout] | [INFO] [stdout] 71 | unsafe fn init(self: Pin<&mut dtNavMesh>, data: *mut u8, dataSize: i32, flags: i32) -> dtStatus; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour/mesh.rs:72:65 [INFO] [stdout] | [INFO] [stdout] 72 | fn getParams(self: &dtNavMesh) -> *const dtNavMeshParams; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour/mesh.rs:80:22 [INFO] [stdout] | [INFO] [stdout] 80 | ) -> dtStatus; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour/mesh.rs:86:22 [INFO] [stdout] | [INFO] [stdout] 86 | ) -> dtStatus; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour/mesh.rs:87:93 [INFO] [stdout] | [INFO] [stdout] 87 | unsafe fn calcTileLoc(self: &dtNavMesh, pos: *const f32, tx: *mut i32, ty: *mut i32); [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour/mesh.rs:88:95 [INFO] [stdout] | [INFO] [stdout] 88 | unsafe fn getTileAt(self: &dtNavMesh, x: i32, y: i32, layer: i32) -> *const dtMeshTile; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour/mesh.rs:89:116 [INFO] [stdout] | [INFO] [stdout] 89 | unsafe fn getTilesAt(self: &dtNavMesh, x: i32, y: i32, tiles: *mut *const dtMeshTile, maxTiles: i32) -> i32; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour/mesh.rs:90:83 [INFO] [stdout] | [INFO] [stdout] 90 | fn getTileRefAt(self: &dtNavMesh, x: i32, y: i32, layer: i32) -> dtTileRef; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour/mesh.rs:91:85 [INFO] [stdout] | [INFO] [stdout] 91 | unsafe fn getTileRef(self: &dtNavMesh, tile: *const dtMeshTile) -> dtTileRef; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour/mesh.rs:92:85 [INFO] [stdout] | [INFO] [stdout] 92 | unsafe fn getTileByRef(self: &dtNavMesh, re: dtTileRef) -> *const dtMeshTile; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour/mesh.rs:93:48 [INFO] [stdout] | [INFO] [stdout] 93 | fn getMaxTiles(self: &dtNavMesh) -> i32; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour/mesh.rs:94:73 [INFO] [stdout] | [INFO] [stdout] 94 | unsafe fn getTile(self: &dtNavMesh, i: i32) -> *const dtMeshTile; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour/mesh.rs:100:22 [INFO] [stdout] | [INFO] [stdout] 100 | ) -> dtStatus; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour/mesh.rs:106:10 [INFO] [stdout] | [INFO] [stdout] 106 | ); [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour/mesh.rs:107:67 [INFO] [stdout] | [INFO] [stdout] 107 | fn isValidPolyRef(self: &dtNavMesh, re: dtPolyRef) -> bool; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour/mesh.rs:108:89 [INFO] [stdout] | [INFO] [stdout] 108 | unsafe fn getPolyRefBase(self: &dtNavMesh, tile: *const dtMeshTile) -> dtPolyRef; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour/mesh.rs:115:22 [INFO] [stdout] | [INFO] [stdout] 115 | ) -> dtStatus; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour/mesh.rs:116:100 [INFO] [stdout] | [INFO] [stdout] 116 | fn getOffMeshConnectionByRef(self: &dtNavMesh, re: dtPolyRef) -> *const dtOffMeshConnection; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour/mesh.rs:117:90 [INFO] [stdout] | [INFO] [stdout] 117 | fn setPolyFlags(self: Pin<&mut dtNavMesh>, re: dtPolyRef, flags: u16) -> dtStatus; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour/mesh.rs:118:99 [INFO] [stdout] | [INFO] [stdout] 118 | unsafe fn getPolyFlags(self: &dtNavMesh, re: dtPolyRef, resultFlags: *mut u16) -> dtStatus; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour/mesh.rs:119:87 [INFO] [stdout] | [INFO] [stdout] 119 | fn setPolyArea(self: Pin<&mut dtNavMesh>, re: dtPolyRef, area: u8) -> dtStatus; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour/mesh.rs:120:96 [INFO] [stdout] | [INFO] [stdout] 120 | unsafe fn getPolyArea(self: &dtNavMesh, re: dtPolyRef, resultArea: *mut u8) -> dtStatus; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour/mesh.rs:121:85 [INFO] [stdout] | [INFO] [stdout] 121 | unsafe fn getTileStateSize(self: &dtNavMesh, tile: *const dtMeshTile) -> i32; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour/mesh.rs:122:84 [INFO] [stdout] | [INFO] [stdout] 122 | fn encodePolyId(self: &dtNavMesh, salt: u32, it: u32, ip: u32) -> dtPolyRef; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour/mesh.rs:123:108 [INFO] [stdout] | [INFO] [stdout] 123 | unsafe fn decodePolyId(self: &dtNavMesh, re: dtPolyRef, salt: &mut u32, it: &mut u32, ip: &mut u32); [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour/mesh.rs:124:68 [INFO] [stdout] | [INFO] [stdout] 124 | fn decodePolyIdSalt(self: &dtNavMesh, re: dtPolyRef) -> u32; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour/mesh.rs:125:68 [INFO] [stdout] | [INFO] [stdout] 125 | fn decodePolyIdTile(self: &dtNavMesh, re: dtPolyRef) -> u32; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour/mesh.rs:126:68 [INFO] [stdout] | [INFO] [stdout] 126 | fn decodePolyIdPoly(self: &dtNavMesh, re: dtPolyRef) -> u32; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour/mesh.rs:127:119 [INFO] [stdout] | [INFO] [stdout] 127 | unsafe fn dtmt_storeTileState(navMesh: &dtNavMesh, re: dtTileRef, data: *mut u8, maxDataSize: i32) -> dtStatus; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour/mesh.rs:133:22 [INFO] [stdout] | [INFO] [stdout] 133 | ) -> dtStatus; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour/query.rs:49:18 [INFO] [stdout] | [INFO] [stdout] 49 | ) -> bool; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour/query.rs:63:17 [INFO] [stdout] | [INFO] [stdout] 63 | ) -> f32; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour/query.rs:68:60 [INFO] [stdout] | [INFO] [stdout] 68 | pub fn dtAllocNavMeshQuery() -> *mut dtNavMeshQuery; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour/query.rs:69:69 [INFO] [stdout] | [INFO] [stdout] 69 | pub unsafe fn dtFreeNavMeshQuery(query: *mut dtNavMeshQuery); [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour/query.rs:71:109 [INFO] [stdout] | [INFO] [stdout] 71 | pub unsafe fn init(self: Pin<&mut dtNavMeshQuery>, nav: *const dtNavMesh, maxNodes: i32) -> dtStatus; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour/query.rs:82:22 [INFO] [stdout] | [INFO] [stdout] 82 | ) -> dtStatus; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour/query.rs:95:22 [INFO] [stdout] | [INFO] [stdout] 95 | ) -> dtStatus; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour/query.rs:104:22 [INFO] [stdout] | [INFO] [stdout] 104 | ) -> dtStatus; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour/query.rs:109:22 [INFO] [stdout] | [INFO] [stdout] 109 | ) -> dtStatus; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour/query.rs:115:22 [INFO] [stdout] | [INFO] [stdout] 115 | ) -> dtStatus; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour/query.rs:123:22 [INFO] [stdout] | [INFO] [stdout] 123 | ) -> dtStatus; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour/query.rs:135:22 [INFO] [stdout] | [INFO] [stdout] 135 | ) -> dtStatus; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour/query.rs:147:22 [INFO] [stdout] | [INFO] [stdout] 147 | ) -> dtStatus; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour/query.rs:154:22 [INFO] [stdout] | [INFO] [stdout] 154 | ) -> dtStatus; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour/query.rs:163:22 [INFO] [stdout] | [INFO] [stdout] 163 | ) -> dtStatus; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour/query.rs:173:22 [INFO] [stdout] | [INFO] [stdout] 173 | ) -> dtStatus; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour/query.rs:182:22 [INFO] [stdout] | [INFO] [stdout] 182 | ) -> dtStatus; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour/query.rs:193:22 [INFO] [stdout] | [INFO] [stdout] 193 | ) -> dtStatus; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour/query.rs:204:22 [INFO] [stdout] | [INFO] [stdout] 204 | ) -> dtStatus; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour/query.rs:217:22 [INFO] [stdout] | [INFO] [stdout] 217 | ) -> dtStatus; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour/query.rs:228:22 [INFO] [stdout] | [INFO] [stdout] 228 | ) -> dtStatus; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour/query.rs:238:22 [INFO] [stdout] | [INFO] [stdout] 238 | ) -> dtStatus; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour/query.rs:247:22 [INFO] [stdout] | [INFO] [stdout] 247 | ) -> dtStatus; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour/query.rs:254:22 [INFO] [stdout] | [INFO] [stdout] 254 | ) -> dtStatus; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour/query.rs:260:22 [INFO] [stdout] | [INFO] [stdout] 260 | ) -> dtStatus; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour/query.rs:266:22 [INFO] [stdout] | [INFO] [stdout] 266 | ) -> dtStatus; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour/query.rs:267:113 [INFO] [stdout] | [INFO] [stdout] 267 | pub unsafe fn isValidPolyRef(self: &dtNavMeshQuery, re: dtPolyRef, filter: *const dtQueryFilter) -> bool; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour/query.rs:268:83 [INFO] [stdout] | [INFO] [stdout] 268 | pub unsafe fn isInClosedList(self: &dtNavMeshQuery, re: dtPolyRef) -> bool; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour/query.rs:270:84 [INFO] [stdout] | [INFO] [stdout] 270 | pub unsafe fn getAttachedNavMesh(self: &dtNavMeshQuery) -> *const dtNavMesh; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour/query.rs:277:22 [INFO] [stdout] | [INFO] [stdout] 277 | ) -> dtStatus; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour/query.rs:287:22 [INFO] [stdout] | [INFO] [stdout] 287 | ) -> dtStatus; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour_crowd/crowd.rs:65:56 [INFO] [stdout] | [INFO] [stdout] 65 | fn dtca_getActive(agent: &dtCrowdAgent) -> bool; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour_crowd/crowd.rs:66:71 [INFO] [stdout] | [INFO] [stdout] 66 | fn dtca_setActive(agent: Pin<&mut dtCrowdAgent>, active: bool); [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour_crowd/crowd.rs:67:53 [INFO] [stdout] | [INFO] [stdout] 67 | fn dtca_getState(agent: &dtCrowdAgent) -> u8; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour_crowd/crowd.rs:68:67 [INFO] [stdout] | [INFO] [stdout] 68 | fn dtca_setState(agent: Pin<&mut dtCrowdAgent>, state: u8); [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour_crowd/crowd.rs:69:57 [INFO] [stdout] | [INFO] [stdout] 69 | fn dtca_getPartial(agent: &dtCrowdAgent) -> bool; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour_crowd/crowd.rs:70:73 [INFO] [stdout] | [INFO] [stdout] 70 | fn dtca_setPartial(agent: Pin<&mut dtCrowdAgent>, partial: bool); [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour_crowd/crowd.rs:71:75 [INFO] [stdout] | [INFO] [stdout] 71 | fn dtca_getCorridor(agent: &dtCrowdAgent) -> *const dtPathCorridor; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour_crowd/crowd.rs:72:86 [INFO] [stdout] | [INFO] [stdout] 72 | fn dtca_getCorridor_mut(agent: Pin<&mut dtCrowdAgent>) -> *mut dtPathCorridor; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour_crowd/crowd.rs:73:76 [INFO] [stdout] | [INFO] [stdout] 73 | fn dtca_getBoundary(agent: &dtCrowdAgent) -> *const dtLocalBoundary; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour_crowd/crowd.rs:74:87 [INFO] [stdout] | [INFO] [stdout] 74 | fn dtca_getBoundary_mut(agent: Pin<&mut dtCrowdAgent>) -> *mut dtLocalBoundary; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour_crowd/crowd.rs:75:64 [INFO] [stdout] | [INFO] [stdout] 75 | fn dtca_getTopologyOptTime(agent: &dtCrowdAgent) -> f32; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour_crowd/crowd.rs:76:88 [INFO] [stdout] | [INFO] [stdout] 76 | fn dtca_setTopologyOptTime(agent: Pin<&mut dtCrowdAgent>, topologyOptTime: f32); [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour_crowd/crowd.rs:77:73 [INFO] [stdout] | [INFO] [stdout] 77 | fn dtca_getNeis(agent: &dtCrowdAgent) -> *const dtCrowdNeighbour; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour_crowd/crowd.rs:78:84 [INFO] [stdout] | [INFO] [stdout] 78 | fn dtca_getNeis_mut(agent: Pin<&mut dtCrowdAgent>) -> *mut dtCrowdNeighbour; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour_crowd/crowd.rs:79:54 [INFO] [stdout] | [INFO] [stdout] 79 | fn dtca_getNneis(agent: &dtCrowdAgent) -> i32; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour_crowd/crowd.rs:80:61 [INFO] [stdout] | [INFO] [stdout] 80 | fn dtca_getDesiredSpeed(agent: &dtCrowdAgent) -> f32; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour_crowd/crowd.rs:81:82 [INFO] [stdout] | [INFO] [stdout] 81 | fn dtca_setDesiredSpeed(agent: Pin<&mut dtCrowdAgent>, desiredSpeed: f32); [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour_crowd/crowd.rs:82:60 [INFO] [stdout] | [INFO] [stdout] 82 | fn dtca_getNpos(agent: &dtCrowdAgent) -> *const f32; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour_crowd/crowd.rs:83:80 [INFO] [stdout] | [INFO] [stdout] 83 | unsafe fn dtca_setNpos(agent: Pin<&mut dtCrowdAgent>, npos: *const f32); [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour_crowd/crowd.rs:84:60 [INFO] [stdout] | [INFO] [stdout] 84 | fn dtca_getDisp(agent: &dtCrowdAgent) -> *const f32; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour_crowd/crowd.rs:85:80 [INFO] [stdout] | [INFO] [stdout] 85 | unsafe fn dtca_setDisp(agent: Pin<&mut dtCrowdAgent>, disp: *const f32); [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour_crowd/crowd.rs:86:60 [INFO] [stdout] | [INFO] [stdout] 86 | fn dtca_getDvel(agent: &dtCrowdAgent) -> *const f32; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour_crowd/crowd.rs:87:80 [INFO] [stdout] | [INFO] [stdout] 87 | unsafe fn dtca_setDvel(agent: Pin<&mut dtCrowdAgent>, dvel: *const f32); [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour_crowd/crowd.rs:88:60 [INFO] [stdout] | [INFO] [stdout] 88 | fn dtca_getNvel(agent: &dtCrowdAgent) -> *const f32; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour_crowd/crowd.rs:89:80 [INFO] [stdout] | [INFO] [stdout] 89 | unsafe fn dtca_setNvel(agent: Pin<&mut dtCrowdAgent>, nvel: *const f32); [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour_crowd/crowd.rs:90:59 [INFO] [stdout] | [INFO] [stdout] 90 | fn dtca_getVel(agent: &dtCrowdAgent) -> *const f32; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour_crowd/crowd.rs:91:78 [INFO] [stdout] | [INFO] [stdout] 91 | unsafe fn dtca_setVel(agent: Pin<&mut dtCrowdAgent>, vel: *const f32); [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour_crowd/crowd.rs:92:77 [INFO] [stdout] | [INFO] [stdout] 92 | fn dtca_getParams(agent: &dtCrowdAgent) -> *const dtCrowdAgentParams; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour_crowd/crowd.rs:93:88 [INFO] [stdout] | [INFO] [stdout] 93 | fn dtca_getParams_mut(agent: Pin<&mut dtCrowdAgent>) -> *mut dtCrowdAgentParams; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour_crowd/crowd.rs:94:67 [INFO] [stdout] | [INFO] [stdout] 94 | fn dtca_getCornerVerts(agent: &dtCrowdAgent) -> *const f32; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour_crowd/crowd.rs:95:78 [INFO] [stdout] | [INFO] [stdout] 95 | fn dtca_getCornerVerts_mut(agent: Pin<&mut dtCrowdAgent>) -> *mut f32; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour_crowd/crowd.rs:96:66 [INFO] [stdout] | [INFO] [stdout] 96 | fn dtca_getCornerFlags(agent: &dtCrowdAgent) -> *const u8; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour_crowd/crowd.rs:97:77 [INFO] [stdout] | [INFO] [stdout] 97 | fn dtca_getCornerFlags_mut(agent: Pin<&mut dtCrowdAgent>) -> *mut u8; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour_crowd/crowd.rs:98:73 [INFO] [stdout] | [INFO] [stdout] 98 | fn dtca_getCornerPolys(agent: &dtCrowdAgent) -> *const dtPolyRef; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour_crowd/crowd.rs:99:84 [INFO] [stdout] | [INFO] [stdout] 99 | fn dtca_getCornerPolys_mut(agent: Pin<&mut dtCrowdAgent>) -> *mut dtPolyRef; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour_crowd/crowd.rs:100:57 [INFO] [stdout] | [INFO] [stdout] 100 | fn dtca_getNcorners(agent: &dtCrowdAgent) -> i32; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour_crowd/crowd.rs:101:59 [INFO] [stdout] | [INFO] [stdout] 101 | fn dtca_getTargetState(agent: &dtCrowdAgent) -> u8; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour_crowd/crowd.rs:102:79 [INFO] [stdout] | [INFO] [stdout] 102 | fn dtca_setTargetState(agent: Pin<&mut dtCrowdAgent>, targetState: u8); [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour_crowd/crowd.rs:103:64 [INFO] [stdout] | [INFO] [stdout] 103 | fn dtca_getTargetRef(agent: &dtCrowdAgent) -> dtPolyRef; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour_crowd/crowd.rs:104:82 [INFO] [stdout] | [INFO] [stdout] 104 | fn dtca_setTargetRef(agent: Pin<&mut dtCrowdAgent>, targetRef: dtPolyRef); [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour_crowd/crowd.rs:105:65 [INFO] [stdout] | [INFO] [stdout] 105 | fn dtca_getTargetPos(agent: &dtCrowdAgent) -> *const f32; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour_crowd/crowd.rs:106:90 [INFO] [stdout] | [INFO] [stdout] 106 | unsafe fn dtca_setTargetPos(agent: Pin<&mut dtCrowdAgent>, targetPos: *const f32); [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour_crowd/crowd.rs:107:63 [INFO] [stdout] | [INFO] [stdout] 107 | fn dtca_getTargetPathqRef(agent: &dtCrowdAgent) -> u32; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour_crowd/crowd.rs:108:86 [INFO] [stdout] | [INFO] [stdout] 108 | fn dtca_setTargetPathqRef(agent: Pin<&mut dtCrowdAgent>, targetPathqRef: u32); [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour_crowd/crowd.rs:109:62 [INFO] [stdout] | [INFO] [stdout] 109 | fn dtca_getTargetReplan(agent: &dtCrowdAgent) -> bool; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour_crowd/crowd.rs:110:83 [INFO] [stdout] | [INFO] [stdout] 110 | fn dtca_setTargetReplan(agent: Pin<&mut dtCrowdAgent>, targetReplan: bool); [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour_crowd/crowd.rs:111:65 [INFO] [stdout] | [INFO] [stdout] 111 | fn dtca_getTargetReplanTime(agent: &dtCrowdAgent) -> f32; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour_crowd/crowd.rs:112:90 [INFO] [stdout] | [INFO] [stdout] 112 | fn dtca_setTargetReplanTime(agent: Pin<&mut dtCrowdAgent>, targetReplanTime: f32); [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour_crowd/crowd.rs:118:42 [INFO] [stdout] | [INFO] [stdout] 118 | fn dtAllocCrowd() -> *mut dtCrowd; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour_crowd/crowd.rs:119:49 [INFO] [stdout] | [INFO] [stdout] 119 | unsafe fn dtFreeCrowd(ptr: *mut dtCrowd); [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour_crowd/crowd.rs:120:114 [INFO] [stdout] | [INFO] [stdout] 120 | unsafe fn init(self: Pin<&mut dtCrowd>, maxAgents: i32, maxAgentRadius: f32, nav: *mut dtNavMesh) -> bool; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour_crowd/crowd.rs:125:10 [INFO] [stdout] | [INFO] [stdout] 125 | ); [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour_crowd/crowd.rs:126:100 [INFO] [stdout] | [INFO] [stdout] 126 | fn getObstacleAvoidanceParams(self: &dtCrowd, idx: i32) -> *const dtObstacleAvoidanceParams; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour_crowd/crowd.rs:127:78 [INFO] [stdout] | [INFO] [stdout] 127 | fn getAgent(self: Pin<&mut dtCrowd>, idx: i32) -> *const dtCrowdAgent; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour_crowd/crowd.rs:128:84 [INFO] [stdout] | [INFO] [stdout] 128 | fn getEditableAgent(self: Pin<&mut dtCrowd>, idx: i32) -> *mut dtCrowdAgent; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour_crowd/crowd.rs:129:48 [INFO] [stdout] | [INFO] [stdout] 129 | fn getAgentCount(self: &dtCrowd) -> i32; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour_crowd/crowd.rs:130:111 [INFO] [stdout] | [INFO] [stdout] 130 | unsafe fn addAgent(self: Pin<&mut dtCrowd>, pos: *const f32, params: *const dtCrowdAgentParams) -> i32; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour_crowd/crowd.rs:131:110 [INFO] [stdout] | [INFO] [stdout] 131 | unsafe fn updateAgentParameters(self: Pin<&mut dtCrowd>, idx: i32, params: *const dtCrowdAgentParams); [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour_crowd/crowd.rs:132:58 [INFO] [stdout] | [INFO] [stdout] 132 | fn removeAgent(self: Pin<&mut dtCrowd>, idx: i32); [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour_crowd/crowd.rs:133:111 [INFO] [stdout] | [INFO] [stdout] 133 | unsafe fn requestMoveTarget(self: Pin<&mut dtCrowd>, idx: i32, re: dtPolyRef, pos: *const f32) -> bool; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour_crowd/crowd.rs:134:98 [INFO] [stdout] | [INFO] [stdout] 134 | unsafe fn requestMoveVelocity(self: Pin<&mut dtCrowd>, idx: i32, vel: *const f32) -> bool; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour_crowd/crowd.rs:135:70 [INFO] [stdout] | [INFO] [stdout] 135 | fn resetMoveTarget(self: Pin<&mut dtCrowd>, idx: i32) -> bool; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour_crowd/crowd.rs:136:114 [INFO] [stdout] | [INFO] [stdout] 136 | unsafe fn getActiveAgents(self: Pin<&mut dtCrowd>, agents: *mut *mut dtCrowdAgent, maxAgents: i32) -> i32; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour_crowd/crowd.rs:137:94 [INFO] [stdout] | [INFO] [stdout] 137 | unsafe fn update(self: Pin<&mut dtCrowd>, dt: f32, debug: *mut dtCrowdAgentDebugInfo); [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour_crowd/crowd.rs:138:69 [INFO] [stdout] | [INFO] [stdout] 138 | fn getFilter(self: &dtCrowd, i: i32) -> *const dtQueryFilter; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour_crowd/crowd.rs:139:84 [INFO] [stdout] | [INFO] [stdout] 139 | fn getEditableFilter(self: Pin<&mut dtCrowd>, i: i32) -> *mut dtQueryFilter; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour_crowd/crowd.rs:140:61 [INFO] [stdout] | [INFO] [stdout] 140 | fn getQueryHalfExtents(self: &dtCrowd) -> *const f32; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour_crowd/crowd.rs:141:57 [INFO] [stdout] | [INFO] [stdout] 141 | fn getQueryExtents(self: &dtCrowd) -> *const f32; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour_crowd/crowd.rs:142:57 [INFO] [stdout] | [INFO] [stdout] 142 | fn getVelocitySampleCount(self: &dtCrowd) -> i32; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour_crowd/local_boundary.rs:17:60 [INFO] [stdout] | [INFO] [stdout] 17 | unsafe fn dtlb_reset(lb: Pin<&mut dtLocalBoundary>); [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour_crowd/local_boundary.rs:25:10 [INFO] [stdout] | [INFO] [stdout] 25 | ); [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour_crowd/local_boundary.rs:30:18 [INFO] [stdout] | [INFO] [stdout] 30 | ) -> bool; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour_crowd/local_boundary.rs:31:66 [INFO] [stdout] | [INFO] [stdout] 31 | pub fn dtlb_getCenter(lb: &dtLocalBoundary) -> *const f32; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour_crowd/local_boundary.rs:32:65 [INFO] [stdout] | [INFO] [stdout] 32 | pub fn dtlb_getSegmentCount(lb: &dtLocalBoundary) -> i32; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour_crowd/local_boundary.rs:33:75 [INFO] [stdout] | [INFO] [stdout] 33 | pub fn dtlb_getSegment(lb: &dtLocalBoundary, i: i32) -> *const f32; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour_crowd/path_corridor.rs:17:70 [INFO] [stdout] | [INFO] [stdout] 17 | fn init(self: Pin<&mut dtPathCorridor>, maxPath: i32) -> bool; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour_crowd/path_corridor.rs:18:89 [INFO] [stdout] | [INFO] [stdout] 18 | unsafe fn reset(self: Pin<&mut dtPathCorridor>, rer: dtPolyRef, pos: *const f32); [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour_crowd/path_corridor.rs:27:17 [INFO] [stdout] | [INFO] [stdout] 27 | ) -> i32; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour_crowd/path_corridor.rs:34:10 [INFO] [stdout] | [INFO] [stdout] 34 | ); [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour_crowd/path_corridor.rs:39:18 [INFO] [stdout] | [INFO] [stdout] 39 | ) -> bool; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour_crowd/path_corridor.rs:47:18 [INFO] [stdout] | [INFO] [stdout] 47 | ) -> bool; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour_crowd/path_corridor.rs:48:112 [INFO] [stdout] | [INFO] [stdout] 48 | unsafe fn fixPathStart(self: Pin<&mut dtPathCorridor>, safeRef: dtPolyRef, safePos: *const f32) -> bool; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour_crowd/path_corridor.rs:55:18 [INFO] [stdout] | [INFO] [stdout] 55 | ) -> bool; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour_crowd/path_corridor.rs:61:18 [INFO] [stdout] | [INFO] [stdout] 61 | ) -> bool; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour_crowd/path_corridor.rs:67:18 [INFO] [stdout] | [INFO] [stdout] 67 | ) -> bool; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour_crowd/path_corridor.rs:73:18 [INFO] [stdout] | [INFO] [stdout] 73 | ) -> bool; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour_crowd/path_corridor.rs:74:119 [INFO] [stdout] | [INFO] [stdout] 74 | unsafe fn setCorridor(self: Pin<&mut dtPathCorridor>, target: *const f32, polys: *const dtPolyRef, npath: i32); [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour_crowd/path_corridor.rs:75:55 [INFO] [stdout] | [INFO] [stdout] 75 | fn getPos(self: &dtPathCorridor) -> *const f32; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour_crowd/path_corridor.rs:76:58 [INFO] [stdout] | [INFO] [stdout] 76 | fn getTarget(self: &dtPathCorridor) -> *const f32; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour_crowd/path_corridor.rs:77:60 [INFO] [stdout] | [INFO] [stdout] 77 | fn getFirstPoly(self: &dtPathCorridor) -> dtPolyRef; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour_crowd/path_corridor.rs:78:59 [INFO] [stdout] | [INFO] [stdout] 78 | fn getLastPoly(self: &dtPathCorridor) -> dtPolyRef; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour_crowd/path_corridor.rs:79:62 [INFO] [stdout] | [INFO] [stdout] 79 | fn getPath(self: &dtPathCorridor) -> *const dtPolyRef; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour_crowd/path_corridor.rs:80:54 [INFO] [stdout] | [INFO] [stdout] 80 | fn getPathCount(self: &dtPathCorridor) -> i32; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour_crowd/path_corridor.rs:88:17 [INFO] [stdout] | [INFO] [stdout] 88 | ) -> i32; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour_crowd/path_corridor.rs:95:17 [INFO] [stdout] | [INFO] [stdout] 95 | ) -> i32; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour_crowd/path_corridor.rs:102:17 [INFO] [stdout] | [INFO] [stdout] 102 | ) -> i32; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/recast/recast.rs:92:61 [INFO] [stdout] | [INFO] [stdout] 92 | fn rcNewContext(state: bool) -> UniquePtr; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/recast/recast.rs:93:61 [INFO] [stdout] | [INFO] [stdout] 93 | fn enableLog(self: Pin<&mut rcContext>, state: bool); [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/recast/recast.rs:94:47 [INFO] [stdout] | [INFO] [stdout] 94 | fn resetLog(self: Pin<&mut rcContext>); [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/recast/recast.rs:96:63 [INFO] [stdout] | [INFO] [stdout] 96 | fn enableTimer(self: Pin<&mut rcContext>, state: bool); [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/recast/recast.rs:97:50 [INFO] [stdout] | [INFO] [stdout] 97 | fn resetTimers(self: Pin<&mut rcContext>); [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/recast/recast.rs:98:70 [INFO] [stdout] | [INFO] [stdout] 98 | fn startTimer(self: Pin<&mut rcContext>, label: rcTimerLabel); [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/recast/recast.rs:99:69 [INFO] [stdout] | [INFO] [stdout] 99 | fn stopTimer(self: Pin<&mut rcContext>, label: rcTimerLabel); [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/recast/recast.rs:100:76 [INFO] [stdout] | [INFO] [stdout] 100 | fn getAccumulatedTime(self: &rcContext, label: rcTimerLabel) -> i32; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/recast/recast.rs:108:61 [INFO] [stdout] | [INFO] [stdout] 108 | unsafe fn rcAllocHeightfield() -> *mut rcHeightfield; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/recast/recast.rs:109:69 [INFO] [stdout] | [INFO] [stdout] 109 | unsafe fn rcFreeHeightField(heightfield: *mut rcHeightfield); [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/recast/recast.rs:115:75 [INFO] [stdout] | [INFO] [stdout] 115 | unsafe fn rcAllocCompactHeightfield() -> *mut rcCompactHeightfield; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/recast/recast.rs:116:90 [INFO] [stdout] | [INFO] [stdout] 116 | unsafe fn rcFreeCompactHeightfield(compactHeightfield: *mut rcCompactHeightfield); [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/recast/recast.rs:121:77 [INFO] [stdout] | [INFO] [stdout] 121 | unsafe fn rcAllocHeightfieldLayerSet() -> *mut rcHeightfieldLayerSet; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/recast/recast.rs:122:82 [INFO] [stdout] | [INFO] [stdout] 122 | unsafe fn rcFreeHeightfieldLayerSet(layerSet: *mut rcHeightfieldLayerSet); [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/recast/recast.rs:126:59 [INFO] [stdout] | [INFO] [stdout] 126 | unsafe fn rcAllocContourSet() -> *mut rcContourSet; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/recast/recast.rs:127:66 [INFO] [stdout] | [INFO] [stdout] 127 | unsafe fn rcFreeContourSet(contourSet: *mut rcContourSet); [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/recast/recast.rs:130:55 [INFO] [stdout] | [INFO] [stdout] 130 | unsafe fn rcAllocPolyMesh() -> *mut rcPolyMesh; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/recast/recast.rs:131:60 [INFO] [stdout] | [INFO] [stdout] 131 | unsafe fn rcFreePolyMesh(polyMesh: *mut rcPolyMesh); [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/recast/recast.rs:134:67 [INFO] [stdout] | [INFO] [stdout] 134 | unsafe fn rcAllocPolyMeshDetail() -> *mut rcPolyMeshDetail; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/recast/recast.rs:135:74 [INFO] [stdout] | [INFO] [stdout] 135 | unsafe fn rcFreePolyMeshDetail(detailMesh: *mut rcPolyMeshDetail); [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/recast/recast.rs:141:107 [INFO] [stdout] | [INFO] [stdout] 141 | unsafe fn rcCalcBounds(verts: *const f32, numVerts: i32, minBounds: *mut f32, maxBounds: *mut f32); [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/recast/recast.rs:148:10 [INFO] [stdout] | [INFO] [stdout] 148 | ); [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/recast/recast.rs:158:18 [INFO] [stdout] | [INFO] [stdout] 158 | ) -> bool; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/recast/recast.rs:167:10 [INFO] [stdout] | [INFO] [stdout] 167 | ); [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/recast/recast.rs:176:10 [INFO] [stdout] | [INFO] [stdout] 176 | ); [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/recast/recast.rs:186:18 [INFO] [stdout] | [INFO] [stdout] 186 | ) -> bool; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/recast/recast.rs:195:18 [INFO] [stdout] | [INFO] [stdout] 195 | ) -> bool; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/recast/recast.rs:206:18 [INFO] [stdout] | [INFO] [stdout] 206 | ) -> bool; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/recast/recast.rs:217:18 [INFO] [stdout] | [INFO] [stdout] 217 | ) -> bool; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/recast/recast.rs:226:18 [INFO] [stdout] | [INFO] [stdout] 226 | ) -> bool; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/recast/recast.rs:231:10 [INFO] [stdout] | [INFO] [stdout] 231 | ); [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/recast/recast.rs:237:10 [INFO] [stdout] | [INFO] [stdout] 237 | ); [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/recast/recast.rs:242:10 [INFO] [stdout] | [INFO] [stdout] 242 | ); [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/recast/recast.rs:243:105 [INFO] [stdout] | [INFO] [stdout] 243 | unsafe fn rcGetHeightFieldSpanCount(context: *mut rcContext, heightfield: &rcHeightfield) -> i32; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/recast/recast.rs:250:18 [INFO] [stdout] | [INFO] [stdout] 250 | ) -> bool; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/recast/recast.rs:255:18 [INFO] [stdout] | [INFO] [stdout] 255 | ) -> bool; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/recast/recast.rs:259:18 [INFO] [stdout] | [INFO] [stdout] 259 | ) -> bool; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/recast/recast.rs:266:10 [INFO] [stdout] | [INFO] [stdout] 266 | ); [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/recast/recast.rs:275:10 [INFO] [stdout] | [INFO] [stdout] 275 | ); [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/recast/recast.rs:282:17 [INFO] [stdout] | [INFO] [stdout] 282 | ) -> i32; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/recast/recast.rs:290:10 [INFO] [stdout] | [INFO] [stdout] 290 | ); [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/recast/recast.rs:291:105 [INFO] [stdout] | [INFO] [stdout] 291 | unsafe fn rcBuildDistanceField(ctx: *mut rcContext, chf: Pin<&mut rcCompactHeightfield>) -> bool; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/recast/recast.rs:298:18 [INFO] [stdout] | [INFO] [stdout] 298 | ) -> bool; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/recast/recast.rs:304:18 [INFO] [stdout] | [INFO] [stdout] 304 | ) -> bool; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/recast/recast.rs:311:18 [INFO] [stdout] | [INFO] [stdout] 311 | ) -> bool; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/recast/recast.rs:318:18 [INFO] [stdout] | [INFO] [stdout] 318 | ) -> bool; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/recast/recast.rs:326:18 [INFO] [stdout] | [INFO] [stdout] 326 | ) -> bool; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/recast/recast.rs:332:18 [INFO] [stdout] | [INFO] [stdout] 332 | ) -> bool; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/recast/recast.rs:338:18 [INFO] [stdout] | [INFO] [stdout] 338 | ) -> bool; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/recast/recast.rs:346:18 [INFO] [stdout] | [INFO] [stdout] 346 | ) -> bool; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/recast/recast.rs:347:107 [INFO] [stdout] | [INFO] [stdout] 347 | unsafe fn rcCopyPolyMesh(ctx: *mut rcContext, src: &rcPolyMesh, dst: Pin<&mut rcPolyMesh>) -> bool; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/recast/recast.rs:353:18 [INFO] [stdout] | [INFO] [stdout] 353 | ) -> bool; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/recast/recast.rs:92:60 [INFO] [stdout] | [INFO] [stdout] 92 | fn rcNewContext(state: bool) -> UniquePtr; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::intrinsics::transmute` is unsafe and requires unsafe block [INFO] [stdout] --> src/detour/mesh.rs:694:17 [INFO] [stdout] | [INFO] [stdout] 694 | return (mem::transmute(tile), unsafe { &*poly }); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/detour/mesh.rs:690:5 [INFO] [stdout] | [INFO] [stdout] 690 | pub unsafe fn get_tile_and_poly_by_ref_unsafe(&self, re: DtPolyRef) -> (&DtMeshTile, &DtPoly) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: `--force-warn unsafe-op-in-unsafe-fn` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `detour::mesh::ffi::dtNavMesh::getPolyRefBase` is unsafe and requires unsafe block [INFO] [stdout] --> src/detour/mesh.rs:702:16 [INFO] [stdout] | [INFO] [stdout] 702 | return self.inner().getPolyRefBase(tile.inner()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/detour/mesh.rs:701:5 [INFO] [stdout] | [INFO] [stdout] 701 | pub unsafe fn get_poly_ref_base(&self, tile: &DtMeshTile) -> DtPolyRef { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `detour::mesh::ffi::dtNavMesh::getTileStateSize` is unsafe and requires unsafe block [INFO] [stdout] --> src/detour/mesh.rs:745:16 [INFO] [stdout] | [INFO] [stdout] 745 | return self.inner().getTileStateSize(tile.inner()) as usize; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/detour/mesh.rs:744:5 [INFO] [stdout] | [INFO] [stdout] 744 | pub unsafe fn get_tile_state_size(&self, tile: &DtMeshTile) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `detour::mesh::ffi::dtNavMesh::decodePolyId` is unsafe and requires unsafe block [INFO] [stdout] --> src/detour/mesh.rs:765:9 [INFO] [stdout] | [INFO] [stdout] 765 | self.inner().decodePolyId(re, &mut salt, &mut it, &mut ip); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/detour/mesh.rs:761:5 [INFO] [stdout] | [INFO] [stdout] 761 | pub unsafe fn decode_poly_id(&self, re: DtPolyRef) -> (u32, u32, u32) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 244 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] For more information about this error, try `rustc --explain E0133`. [INFO] [stdout] [INFO] [stderr] Migrating tests/tile_mesh.rs from 2021 edition to 2024 [INFO] [stderr] warning: failed to automatically apply fixes suggested by rustc to crate `recastnavigation_rs` [INFO] [stderr] [INFO] [stderr] after fixes were automatically applied the compiler reported errors within these files: [INFO] [stderr] [INFO] [stderr] * src/demo/demo.rs [INFO] [stderr] * src/detour/base.rs [INFO] [stderr] * src/detour/builder.rs [INFO] [stderr] * src/detour/mesh.rs [INFO] [stderr] * src/detour/query.rs [INFO] [stderr] * src/detour_crowd/crowd.rs [INFO] [stderr] * src/detour_crowd/local_boundary.rs [INFO] [stderr] * src/detour_crowd/path_corridor.rs [INFO] [stderr] * src/recast/recast.rs [INFO] [stderr] [INFO] [stderr] This likely indicates a bug in either rustc or cargo itself, [INFO] [stderr] and we would appreciate a bug report! You're likely to see [INFO] [stderr] a number of compiler warnings after this message which cargo [INFO] [stderr] attempted to fix but failed. If you could open an issue at [INFO] [stderr] https://github.com/rust-lang/rust/issues [INFO] [stderr] quoting the full output of this command we'd be very appreciative! [INFO] [stderr] Note that you may be able to make some more progress in the near-term [INFO] [stderr] fixing code with the `--broken-code` flag [INFO] [stderr] [INFO] [stderr] The following errors were reported: [INFO] [stderr] error: expected one of `!`, `+`, `::`, `;`, `where`, or `{`, found keyword `unsafe` [INFO] [stderr] --> src/demo/demo.rs:20:69 [INFO] [stderr] | [INFO] [stderr] 13 | unsafe extern "C++" { [INFO] [stderr] | - while parsing this item list starting here [INFO] [stderr] ... [INFO] [stderr] 20 | fn rcNewMeshLoaderObj() -> UniquePtrunsafe ; [INFO] [stderr] | ^^^^^^ expected one of `!`, `+`, `::`, `;`, `where`, or `{` [INFO] [stderr] ... [INFO] [stderr] 57 | } [INFO] [stderr] | - the item list ends here [INFO] [stderr] [INFO] [stderr] error: expected one of `->`, `;`, `where`, or `{`, found keyword `unsafe` [INFO] [stderr] --> src/detour/base.rs:21:43 [INFO] [stderr] | [INFO] [stderr] 15 | unsafe extern "C++" { [INFO] [stderr] | - while parsing this item list starting here [INFO] [stderr] ... [INFO] [stderr] 21 | unsafe fn dtFree(ptr: *mut c_void)unsafe ; [INFO] [stderr] | ^^^^^^ expected one of `->`, `;`, `where`, or `{` [INFO] [stderr] 22 | } [INFO] [stderr] | - the item list ends here [INFO] [stderr] [INFO] [stderr] error: expected one of `->`, `;`, `where`, or `{`, found keyword `unsafe` [INFO] [stderr] --> src/detour/mesh.rs:49:54 [INFO] [stderr] | [INFO] [stderr] 38 | unsafe extern "C++" { [INFO] [stderr] | - while parsing this item list starting here [INFO] [stderr] ... [INFO] [stderr] 49 | fn dtp_setArea(poly: Pin<&mut dtPoly>, a: u8)unsafe ; [INFO] [stderr] | ^^^^^^ expected one of `->`, `;`, `where`, or `{` [INFO] [stderr] ... [INFO] [stderr] 134 | } [INFO] [stderr] | - the item list ends here [INFO] [stderr] [INFO] [stderr] error: expected one of `->`, `;`, `where`, or `{`, found keyword `unsafe` [INFO] [stderr] --> src/detour/query.rs:69:69 [INFO] [stderr] | [INFO] [stderr] 30 | unsafe extern "C++" { [INFO] [stderr] | - while parsing this item list starting here [INFO] [stderr] ... [INFO] [stderr] 69 | pub unsafe fn dtFreeNavMeshQuery(query: *mut dtNavMeshQuery)unsafe ; [INFO] [stderr] | ^^^^^^ expected one of `->`, `;`, `where`, or `{` [INFO] [stderr] ... [INFO] [stderr] 288 | } [INFO] [stderr] | - the item list ends here [INFO] [stderr] [INFO] [stderr] error: expected one of `->`, `;`, `where`, or `{`, found keyword `unsafe` [INFO] [stderr] --> src/detour_crowd/crowd.rs:66:71 [INFO] [stderr] | [INFO] [stderr] 47 | unsafe extern "C++" { [INFO] [stderr] | - while parsing this item list starting here [INFO] [stderr] ... [INFO] [stderr] 66 | fn dtca_setActive(agent: Pin<&mut dtCrowdAgent>, active: bool)unsafe ; [INFO] [stderr] | ^^^^^^ expected one of `->`, `;`, `where`, or `{` [INFO] [stderr] ... [INFO] [stderr] 146 | } [INFO] [stderr] | - the item list ends here [INFO] [stderr] [INFO] [stderr] error: expected one of `->`, `;`, `where`, or `{`, found keyword `unsafe` [INFO] [stderr] --> src/detour_crowd/local_boundary.rs:17:60 [INFO] [stderr] | [INFO] [stderr] 9 | unsafe extern "C++" { [INFO] [stderr] | - while parsing this item list starting here [INFO] [stderr] ... [INFO] [stderr] 17 | unsafe fn dtlb_reset(lb: Pin<&mut dtLocalBoundary>)unsafe ; [INFO] [stderr] | ^^^^^^ expected one of `->`, `;`, `where`, or `{` [INFO] [stderr] ... [INFO] [stderr] 34 | } [INFO] [stderr] | - the item list ends here [INFO] [stderr] [INFO] [stderr] error: expected one of `->`, `;`, `where`, or `{`, found keyword `unsafe` [INFO] [stderr] --> src/detour_crowd/path_corridor.rs:18:89 [INFO] [stderr] | [INFO] [stderr] 9 | unsafe extern "C++" { [INFO] [stderr] | - while parsing this item list starting here [INFO] [stderr] ... [INFO] [stderr] 18 | unsafe fn reset(self: Pin<&mut dtPathCorridor>, rer: dtPolyRef, pos: *const f32)unsafe ; [INFO] [stderr] | ^^^^^^ expected one of `->`, `;`, `where`, or `{` [INFO] [stderr] ... [INFO] [stderr] 103 | } [INFO] [stderr] | - the item list ends here [INFO] [stderr] [INFO] [stderr] error: expected one of `!`, `+`, `::`, `;`, `where`, or `{`, found keyword `unsafe` [INFO] [stderr] --> src/recast/recast.rs:92:68 [INFO] [stderr] | [INFO] [stderr] 76 | unsafe extern "C++" { [INFO] [stderr] | - while parsing this item list starting here [INFO] [stderr] ... [INFO] [stderr] 92 | fn rcNewContext(state: bool) -> UniquePtrunsafe ; [INFO] [stderr] | ^^^^^^ expected one of `!`, `+`, `::`, `;`, `where`, or `{` [INFO] [stderr] ... [INFO] [stderr] 354 | } [INFO] [stderr] | - the item list ends here [INFO] [stderr] [INFO] [stderr] error: expected `;` [INFO] [stderr] --> src/demo/demo.rs:20:69 [INFO] [stderr] | [INFO] [stderr] 20 | fn rcNewMeshLoaderObj() -> UniquePtrunsafe ; [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] error: expected `;` [INFO] [stderr] --> src/detour/base.rs:21:43 [INFO] [stderr] | [INFO] [stderr] 21 | unsafe fn dtFree(ptr: *mut c_void)unsafe ; [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] error: unsupported type: boolunsafe [INFO] [stderr] --> src/detour/builder.rs:21:14 [INFO] [stderr] | [INFO] [stderr] 21 | ) -> boolunsafe ; [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error: expected `;` [INFO] [stderr] --> src/detour/mesh.rs:49:54 [INFO] [stderr] | [INFO] [stderr] 49 | fn dtp_setArea(poly: Pin<&mut dtPoly>, a: u8)unsafe ; [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] error: expected `;` [INFO] [stderr] --> src/detour/query.rs:69:69 [INFO] [stderr] | [INFO] [stderr] 69 | pub unsafe fn dtFreeNavMeshQuery(query: *mut dtNavMeshQuery)unsafe ; [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] error: expected `;` [INFO] [stderr] --> src/detour_crowd/crowd.rs:66:71 [INFO] [stderr] | [INFO] [stderr] 66 | fn dtca_setActive(agent: Pin<&mut dtCrowdAgent>, active: bool)unsafe ; [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] error: expected `;` [INFO] [stderr] --> src/detour_crowd/local_boundary.rs:17:60 [INFO] [stderr] | [INFO] [stderr] 17 | unsafe fn dtlb_reset(lb: Pin<&mut dtLocalBoundary>)unsafe ; [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] error: expected `;` [INFO] [stderr] --> src/detour_crowd/path_corridor.rs:18:89 [INFO] [stderr] | [INFO] [stderr] 18 | unsafe fn reset(self: Pin<&mut dtPathCorridor>, rer: dtPolyRef, pos: *const f32)unsafe ; [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] error: expected `;` [INFO] [stderr] --> src/recast/recast.rs:92:68 [INFO] [stderr] | [INFO] [stderr] 92 | fn rcNewContext(state: bool) -> UniquePtrunsafe ; [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/detour/query.rs:292:56 [INFO] [stderr] | [INFO] [stderr] 292 | pub const DT_STRAIGHTPATH_START: DtStraightPathFlags = ffi::dtStraightPathFlags::DT_STRAIGHTPATH_START.repr as u8; [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/detour/query.rs:293:54 [INFO] [stderr] | [INFO] [stderr] 293 | pub const DT_STRAIGHTPATH_END: DtStraightPathFlags = ffi::dtStraightPathFlags::DT_STRAIGHTPATH_END.repr as u8; [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/detour/query.rs:295:5 [INFO] [stderr] | [INFO] [stderr] 295 | ffi::dtStraightPathFlags::DT_STRAIGHTPATH_OFFMESH_CONNECTION.repr as u8; [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/detour/query.rs:299:5 [INFO] [stderr] | [INFO] [stderr] 299 | ffi::dtStraightPathOptions::DT_STRAIGHTPATH_AREA_CROSSINGS.repr; [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/detour/query.rs:301:5 [INFO] [stderr] | [INFO] [stderr] 301 | ffi::dtStraightPathOptions::DT_STRAIGHTPATH_ALL_CROSSINGS.repr; [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/detour/query.rs:537:23 [INFO] [stderr] | [INFO] [stderr] 537 | options = ffi::dtFindPathOptions::DT_FINDPATH_ANY_ANGLE.repr; [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/demo/demo.rs:70:32 [INFO] [stderr] | [INFO] [stderr] 70 | return RcMeshLoaderObj(ffi::rcNewMeshLoaderObj()); [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/demo/demo.rs:105:20 [INFO] [stderr] | [INFO] [stderr] 105 | let mesh = ffi::loadNavMesh(path); [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/demo/demo.rs:114:14 [INFO] [stderr] | [INFO] [stderr] 114 | unsafe { ffi::saveNavMesh(mesh.as_ptr(), path) }; [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/demo/demo.rs:159:18 [INFO] [stderr] | [INFO] [stderr] 159 | unsafe { ffi::rcctm_delete(self.0) }; [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/demo/demo.rs:174:41 [INFO] [stderr] | [INFO] [stderr] 174 | return RcChunkyTriMesh(unsafe { ffi::rcctm_new() }); [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/demo/demo.rs:207:27 [INFO] [stderr] | [INFO] [stderr] 207 | let result = unsafe { ffi::rcCreateChunkyTriMesh(verts_ptr, tris_ptr, ntris, tris_per_chunk, cm.0) }; [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/demo/demo.rs:221:9 [INFO] [stderr] | [INFO] [stderr] 221 | ffi::rcGetChunksOverlappingRect(cm.0, bmin.as_ptr(), bmax.as_ptr(), ids.as_mut_ptr(), ids.len() as i32) [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/demo/demo.rs:228:18 [INFO] [stderr] | [INFO] [stderr] 228 | unsafe { ffi::rcGetChunksOverlappingSegment(cm.0, p.as_ptr(), q.as_ptr(), ids.as_mut_ptr(), ids.len() as i32) }; [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/detour/base.rs:85:18 [INFO] [stderr] | [INFO] [stderr] 85 | unsafe { ffi::dtFree(self.data as *mut _) }; [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/detour/builder.rs:220:19 [INFO] [stderr] | [INFO] [stderr] 220 | let res = ffi::dtCreateNavMeshData((&mut cp) as *mut _, &mut buf.data, &mut buf.size); [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/detour/builder.rs:229:24 [INFO] [stderr] | [INFO] [stderr] 229 | let res = unsafe { ffi::dtNavMeshHeaderSwapEndian(buf.data, buf.size) }; [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/detour/builder.rs:237:24 [INFO] [stderr] | [INFO] [stderr] 237 | let res = unsafe { ffi::dtNavMeshDataSwapEndian(buf.data, buf.size) }; [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/detour/mesh.rs:186:16 [INFO] [stderr] | [INFO] [stderr] 186 | return ffi::dtp_setArea(Pin::new(self), a); [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/detour/mesh.rs:190:16 [INFO] [stderr] | [INFO] [stderr] 190 | return ffi::dtp_setType(Pin::new(self), t.repr as u32 as u8); [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/detour/mesh.rs:194:16 [INFO] [stderr] | [INFO] [stderr] 194 | return ffi::dtp_getArea(self); [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/detour/mesh.rs:198:17 [INFO] [stderr] | [INFO] [stderr] 198 | let t = ffi::dtp_getType(self) as u32; [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/detour/mesh.rs:531:12 [INFO] [stderr] | [INFO] [stderr] 531 | return ffi::dtGetDetailTriEdgeFlags(tri_flags, edge_index); [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/detour/mesh.rs:564:18 [INFO] [stderr] | [INFO] [stderr] 564 | unsafe { ffi::dtFreeNavMesh(self.0) }; [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/detour/mesh.rs:571:26 [INFO] [stderr] | [INFO] [stderr] 571 | return DtNavMesh(ffi::dtAllocNavMesh()); [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/detour/mesh.rs:749:25 [INFO] [stderr] | [INFO] [stderr] 749 | return unsafe { ffi::dtmt_storeTileState(self.inner(), re, data.as_mut_ptr(), data.len() as i32) }.to_result(); [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/detour/mesh.rs:753:25 [INFO] [stderr] | [INFO] [stderr] 753 | return unsafe { ffi::dtmt_restoreTileState(self.inner_mut(), re, data.as_ptr(), data.len() as i32) } [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/detour/query.rs:330:25 [INFO] [stderr] | [INFO] [stderr] 330 | return unsafe { ffi::dtqf_passFilter(self, re, tile.as_ptr(), poly) }; [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/detour/query.rs:348:13 [INFO] [stderr] | [INFO] [stderr] 348 | ffi::dtqf_getCost( [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/detour/query.rs:422:18 [INFO] [stderr] | [INFO] [stderr] 422 | unsafe { ffi::dtFreeNavMeshQuery(self.0) }; [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/detour/query.rs:428:31 [INFO] [stderr] | [INFO] [stderr] 428 | return DtNavMeshQuery(ffi::dtAllocNavMeshQuery()); [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/detour/query.rs:999:18 [INFO] [stderr] | [INFO] [stderr] 999 | unsafe { ffi::dtnmq_findRandomPoint(self.inner(), filter, frand, &mut random_ref, random_pt.as_mut_ptr()) } [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/detour/query.rs:1016:13 [INFO] [stderr] | [INFO] [stderr] 1016 | ffi::dtnmq_findRandomPointAroundCircle( [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/detour_crowd/crowd.rs:242:16 [INFO] [stderr] | [INFO] [stderr] 242 | return ffi::dtca_getActive(self.inner()); [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/detour_crowd/crowd.rs:246:9 [INFO] [stderr] | [INFO] [stderr] 246 | ffi::dtca_setActive(self.inner_mut(), active); [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/detour_crowd/crowd.rs:251:16 [INFO] [stderr] | [INFO] [stderr] 251 | return ffi::dtca_getState(self.inner()); [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/detour_crowd/crowd.rs:255:9 [INFO] [stderr] | [INFO] [stderr] 255 | ffi::dtca_setState(self.inner_mut(), state); [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/detour_crowd/crowd.rs:259:16 [INFO] [stderr] | [INFO] [stderr] 259 | return ffi::dtca_getPartial(self.inner()); [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/detour_crowd/crowd.rs:263:9 [INFO] [stderr] | [INFO] [stderr] 263 | ffi::dtca_setPartial(self.inner_mut(), partial); [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/detour_crowd/crowd.rs:267:40 [INFO] [stderr] | [INFO] [stderr] 267 | return unsafe { mem::transmute(ffi::dtca_getCorridor(self.inner())) }; [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/detour_crowd/crowd.rs:271:40 [INFO] [stderr] | [INFO] [stderr] 271 | return unsafe { mem::transmute(ffi::dtca_getCorridor_mut(self.inner_mut())) }; [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/detour_crowd/crowd.rs:275:40 [INFO] [stderr] | [INFO] [stderr] 275 | return unsafe { mem::transmute(ffi::dtca_getBoundary(self.inner())) }; [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/detour_crowd/crowd.rs:279:40 [INFO] [stderr] | [INFO] [stderr] 279 | return unsafe { mem::transmute(ffi::dtca_getBoundary_mut(self.inner_mut())) }; [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/detour_crowd/crowd.rs:283:16 [INFO] [stderr] | [INFO] [stderr] 283 | return ffi::dtca_getTopologyOptTime(self.inner()); [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/detour_crowd/crowd.rs:287:9 [INFO] [stderr] | [INFO] [stderr] 287 | ffi::dtca_setTopologyOptTime(self.inner_mut(), topology_opt_time); [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/detour_crowd/crowd.rs:293:17 [INFO] [stderr] | [INFO] [stderr] 293 | ffi::dtca_getNeis(self.inner()), [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/detour_crowd/crowd.rs:294:17 [INFO] [stderr] | [INFO] [stderr] 294 | ffi::dtca_getNneis(self.inner()) as usize, [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/detour_crowd/crowd.rs:302:17 [INFO] [stderr] | [INFO] [stderr] 302 | ffi::dtca_getNeis_mut(self.inner_mut()), [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/detour_crowd/crowd.rs:303:17 [INFO] [stderr] | [INFO] [stderr] 303 | ffi::dtca_getNneis(self.inner()) as usize, [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/detour_crowd/crowd.rs:309:16 [INFO] [stderr] | [INFO] [stderr] 309 | return ffi::dtca_getDesiredSpeed(self.inner()); [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/detour_crowd/crowd.rs:313:9 [INFO] [stderr] | [INFO] [stderr] 313 | ffi::dtca_setDesiredSpeed(self.inner_mut(), desired_speed); [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/detour_crowd/crowd.rs:317:28 [INFO] [stderr] | [INFO] [stderr] 317 | return unsafe { &*(ffi::dtca_getNpos(self.inner()) as *const [f32; 3]) }; [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/detour_crowd/crowd.rs:321:18 [INFO] [stderr] | [INFO] [stderr] 321 | unsafe { ffi::dtca_setNpos(self.inner_mut(), npos.as_ptr()) }; [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/detour_crowd/crowd.rs:325:28 [INFO] [stderr] | [INFO] [stderr] 325 | return unsafe { &*(ffi::dtca_getDisp(self.inner()) as *const [f32; 3]) }; [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/detour_crowd/crowd.rs:329:18 [INFO] [stderr] | [INFO] [stderr] 329 | unsafe { ffi::dtca_setDisp(self.inner_mut(), disp.as_ptr()) }; [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/detour_crowd/crowd.rs:333:28 [INFO] [stderr] | [INFO] [stderr] 333 | return unsafe { &*(ffi::dtca_getDvel(self.inner()) as *const [f32; 3]) }; [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/detour_crowd/crowd.rs:337:18 [INFO] [stderr] | [INFO] [stderr] 337 | unsafe { ffi::dtca_setDvel(self.inner_mut(), dvel.as_ptr()) }; [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/detour_crowd/crowd.rs:341:28 [INFO] [stderr] | [INFO] [stderr] 341 | return unsafe { &*(ffi::dtca_getNvel(self.inner()) as *const [f32; 3]) }; [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/detour_crowd/crowd.rs:345:18 [INFO] [stderr] | [INFO] [stderr] 345 | unsafe { ffi::dtca_setNvel(self.inner_mut(), nvel.as_ptr()) }; [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/detour_crowd/crowd.rs:349:28 [INFO] [stderr] | [INFO] [stderr] 349 | return unsafe { &*(ffi::dtca_getVel(self.inner()) as *const [f32; 3]) }; [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/detour_crowd/crowd.rs:353:18 [INFO] [stderr] | [INFO] [stderr] 353 | unsafe { ffi::dtca_setVel(self.inner_mut(), vel.as_ptr()) }; [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/detour_crowd/crowd.rs:357:27 [INFO] [stderr] | [INFO] [stderr] 357 | return unsafe { &*ffi::dtca_getParams(self.inner()) }; [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/detour_crowd/crowd.rs:361:31 [INFO] [stderr] | [INFO] [stderr] 361 | return unsafe { &mut *ffi::dtca_getParams_mut(self.inner_mut()) }; [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/detour_crowd/crowd.rs:367:17 [INFO] [stderr] | [INFO] [stderr] 367 | ffi::dtca_getCornerVerts(self.inner()) as *const _, [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/detour_crowd/crowd.rs:368:17 [INFO] [stderr] | [INFO] [stderr] 368 | ffi::dtca_getNcorners(self.inner()) as usize * 3, [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/detour_crowd/crowd.rs:376:17 [INFO] [stderr] | [INFO] [stderr] 376 | ffi::dtca_getCornerVerts_mut(self.inner_mut()) as *mut _, [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/detour_crowd/crowd.rs:377:17 [INFO] [stderr] | [INFO] [stderr] 377 | ffi::dtca_getNcorners(self.inner()) as usize * 3, [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/detour_crowd/crowd.rs:385:17 [INFO] [stderr] | [INFO] [stderr] 385 | ffi::dtca_getCornerFlags(self.inner()), [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/detour_crowd/crowd.rs:386:17 [INFO] [stderr] | [INFO] [stderr] 386 | ffi::dtca_getNcorners(self.inner()) as usize, [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/detour_crowd/crowd.rs:394:17 [INFO] [stderr] | [INFO] [stderr] 394 | ffi::dtca_getCornerFlags_mut(self.inner_mut()), [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/detour_crowd/crowd.rs:395:17 [INFO] [stderr] | [INFO] [stderr] 395 | ffi::dtca_getNcorners(self.inner()) as usize, [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/detour_crowd/crowd.rs:403:17 [INFO] [stderr] | [INFO] [stderr] 403 | ffi::dtca_getCornerPolys(self.inner()), [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/detour_crowd/crowd.rs:404:17 [INFO] [stderr] | [INFO] [stderr] 404 | ffi::dtca_getNcorners(self.inner()) as usize, [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/detour_crowd/crowd.rs:412:17 [INFO] [stderr] | [INFO] [stderr] 412 | ffi::dtca_getCornerPolys_mut(self.inner_mut()), [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/detour_crowd/crowd.rs:413:17 [INFO] [stderr] | [INFO] [stderr] 413 | ffi::dtca_getNcorners(self.inner()) as usize, [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/detour_crowd/crowd.rs:419:16 [INFO] [stderr] | [INFO] [stderr] 419 | return ffi::dtca_getNcorners(self.inner()); [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/detour_crowd/crowd.rs:423:16 [INFO] [stderr] | [INFO] [stderr] 423 | return ffi::dtca_getTargetState(self.inner()); [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/detour_crowd/crowd.rs:427:9 [INFO] [stderr] | [INFO] [stderr] 427 | ffi::dtca_setTargetState(self.inner_mut(), target_state); [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/detour_crowd/crowd.rs:431:16 [INFO] [stderr] | [INFO] [stderr] 431 | return ffi::dtca_getTargetRef(self.inner()); [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/detour_crowd/crowd.rs:435:9 [INFO] [stderr] | [INFO] [stderr] 435 | ffi::dtca_setTargetRef(self.inner_mut(), target_ref); [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/detour_crowd/crowd.rs:439:28 [INFO] [stderr] | [INFO] [stderr] 439 | return unsafe { &*(ffi::dtca_getTargetPos(self.inner()) as *const [f32; 3]) }; [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/detour_crowd/crowd.rs:443:18 [INFO] [stderr] | [INFO] [stderr] 443 | unsafe { ffi::dtca_setTargetPos(self.inner_mut(), target_pos.as_ptr()) }; [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/detour_crowd/crowd.rs:447:16 [INFO] [stderr] | [INFO] [stderr] 447 | return ffi::dtca_getTargetPathqRef(self.inner()); [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/detour_crowd/crowd.rs:451:9 [INFO] [stderr] | [INFO] [stderr] 451 | ffi::dtca_setTargetPathqRef(self.inner_mut(), target_pathq_ref); [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/detour_crowd/crowd.rs:455:16 [INFO] [stderr] | [INFO] [stderr] 455 | return ffi::dtca_getTargetReplan(self.inner()); [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/detour_crowd/crowd.rs:459:9 [INFO] [stderr] | [INFO] [stderr] 459 | ffi::dtca_setTargetReplan(self.inner_mut(), target_replan); [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/detour_crowd/crowd.rs:463:16 [INFO] [stderr] | [INFO] [stderr] 463 | return ffi::dtca_getTargetReplanTime(self.inner()); [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/detour_crowd/crowd.rs:467:9 [INFO] [stderr] | [INFO] [stderr] 467 | ffi::dtca_setTargetReplanTime(self.inner_mut(), target_replan_time); [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/detour_crowd/crowd.rs:507:18 [INFO] [stderr] | [INFO] [stderr] 507 | unsafe { ffi::dtFreeCrowd(self.0) }; [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/detour_crowd/crowd.rs:514:24 [INFO] [stderr] | [INFO] [stderr] 514 | return DtCrowd(ffi::dtAllocCrowd()); [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/detour_crowd/local_boundary.rs:67:18 [INFO] [stderr] | [INFO] [stderr] 67 | unsafe { ffi::dtlb_reset(self.inner_mut()) }; [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/detour_crowd/local_boundary.rs:79:13 [INFO] [stderr] | [INFO] [stderr] 79 | ffi::dtlb_update( [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/detour_crowd/local_boundary.rs:91:25 [INFO] [stderr] | [INFO] [stderr] 91 | return unsafe { ffi::dtlb_isValid(self.inner(), navquery.as_mut_ptr(), filter) }; [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/detour_crowd/local_boundary.rs:95:28 [INFO] [stderr] | [INFO] [stderr] 95 | return unsafe { &*(ffi::dtlb_getCenter(self.inner()) as *const [f32; 3]) }; [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/detour_crowd/local_boundary.rs:99:17 [INFO] [stderr] | [INFO] [stderr] 99 | if i >= ffi::dtlb_getSegmentCount(self.inner()) as usize { [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/detour_crowd/local_boundary.rs:102:31 [INFO] [stderr] | [INFO] [stderr] 102 | let seg = unsafe { &*(ffi::dtlb_getSegment(self.inner(), i as i32) as *const DtAABB) }; [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/detour_crowd/path_corridor.rs:273:9 [INFO] [stderr] | [INFO] [stderr] 273 | ffi::dtMergeCorridorStartMoved( [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/detour_crowd/path_corridor.rs:285:9 [INFO] [stderr] | [INFO] [stderr] 285 | ffi::dtMergeCorridorEndMoved( [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/detour_crowd/path_corridor.rs:297:9 [INFO] [stderr] | [INFO] [stderr] 297 | ffi::dtMergeCorridorStartShortcut( [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/recast/recast.rs:378:26 [INFO] [stderr] | [INFO] [stderr] 378 | return RcContext(ffi::rcNewContext(state)); [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/recast/recast.rs:646:18 [INFO] [stderr] | [INFO] [stderr] 646 | unsafe { ffi::rcFreeHeightField(self.0) }; [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/recast/recast.rs:653:39 [INFO] [stderr] | [INFO] [stderr] 653 | return RcHeightfield(unsafe { ffi::rcAllocHeightfield() }); [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/recast/recast.rs:881:18 [INFO] [stderr] | [INFO] [stderr] 881 | unsafe { ffi::rcFreeCompactHeightfield(self.0) }; [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/recast/recast.rs:888:46 [INFO] [stderr] | [INFO] [stderr] 888 | return RcCompactHeightfield(unsafe { ffi::rcAllocCompactHeightfield() }); [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/recast/recast.rs:1100:18 [INFO] [stderr] | [INFO] [stderr] 1100 | unsafe { ffi::rcFreeHeightfieldLayerSet(self.0) }; [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/recast/recast.rs:1107:47 [INFO] [stderr] | [INFO] [stderr] 1107 | return RcHeightfieldLayerSet(unsafe { ffi::rcAllocHeightfieldLayerSet() }); [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/recast/recast.rs:1258:18 [INFO] [stderr] | [INFO] [stderr] 1258 | unsafe { ffi::rcFreeContourSet(self.0) }; [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/recast/recast.rs:1265:38 [INFO] [stderr] | [INFO] [stderr] 1265 | return RcContourSet(unsafe { ffi::rcAllocContourSet() }); [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/recast/recast.rs:1363:18 [INFO] [stderr] | [INFO] [stderr] 1363 | unsafe { ffi::rcFreePolyMesh(self.0) }; [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/recast/recast.rs:1370:36 [INFO] [stderr] | [INFO] [stderr] 1370 | return RcPolyMesh(unsafe { ffi::rcAllocPolyMesh() }); [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/recast/recast.rs:1514:18 [INFO] [stderr] | [INFO] [stderr] 1514 | unsafe { ffi::rcFreePolyMeshDetail(self.0) }; [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/recast/recast.rs:1521:42 [INFO] [stderr] | [INFO] [stderr] 1521 | return RcPolyMeshDetail(unsafe { ffi::rcAllocPolyMeshDetail() }); [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/recast/recast.rs:1604:9 [INFO] [stderr] | [INFO] [stderr] 1604 | ffi::rcCalcBounds( [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/recast/recast.rs:1618:9 [INFO] [stderr] | [INFO] [stderr] 1618 | ffi::rcCalcGridSize( [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/recast/recast.rs:1640:9 [INFO] [stderr] | [INFO] [stderr] 1640 | ffi::rcCreateHeightfield( [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/recast/recast.rs:1665:9 [INFO] [stderr] | [INFO] [stderr] 1665 | ffi::rcMarkWalkableTriangles( [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/recast/recast.rs:1689:9 [INFO] [stderr] | [INFO] [stderr] 1689 | ffi::rcClearUnwalkableTriangles( [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/recast/recast.rs:1713:9 [INFO] [stderr] | [INFO] [stderr] 1713 | ffi::rcAddSpan( [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/recast/recast.rs:1737:9 [INFO] [stderr] | [INFO] [stderr] 1737 | ffi::rcRasterizeTriangle( [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/recast/recast.rs:1762:9 [INFO] [stderr] | [INFO] [stderr] 1762 | ffi::rcRasterizeTriangles1( [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/recast/recast.rs:1788:9 [INFO] [stderr] | [INFO] [stderr] 1788 | ffi::rcRasterizeTriangles2( [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/recast/recast.rs:1813:9 [INFO] [stderr] | [INFO] [stderr] 1813 | ffi::rcRasterizeTriangles3( [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/recast/recast.rs:1831:9 [INFO] [stderr] | [INFO] [stderr] 1831 | ffi::rcFilterLowHangingWalkableObstacles( [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/recast/recast.rs:1846:9 [INFO] [stderr] | [INFO] [stderr] 1846 | ffi::rcFilterLedgeSpans( [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/recast/recast.rs:1861:9 [INFO] [stderr] | [INFO] [stderr] 1861 | ffi::rcFilterWalkableLowHeightSpans( [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/recast/recast.rs:1871:16 [INFO] [stderr] | [INFO] [stderr] 1871 | return ffi::rcGetHeightFieldSpanCount(context.0.pin_mut().get_unchecked_mut() as *mut _, heightfield.inner()); [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/recast/recast.rs:1883:9 [INFO] [stderr] | [INFO] [stderr] 1883 | ffi::rcBuildCompactHeightfield( [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/recast/recast.rs:1900:9 [INFO] [stderr] | [INFO] [stderr] 1900 | ffi::rcErodeWalkableArea( [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/recast/recast.rs:1914:9 [INFO] [stderr] | [INFO] [stderr] 1914 | ffi::rcMedianFilterWalkableArea( [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/recast/recast.rs:1930:9 [INFO] [stderr] | [INFO] [stderr] 1930 | ffi::rcMarkBoxArea( [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/recast/recast.rs:1948:16 [INFO] [stderr] | [INFO] [stderr] 1948 | return ffi::rcOffsetPoly( [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/recast/recast.rs:1967:9 [INFO] [stderr] | [INFO] [stderr] 1967 | ffi::rcMarkConvexPolyArea( [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/recast/recast.rs:1988:9 [INFO] [stderr] | [INFO] [stderr] 1988 | ffi::rcMarkCylinderArea( [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/recast/recast.rs:2000:24 [INFO] [stderr] | [INFO] [stderr] 2000 | let res = unsafe { ffi::rcBuildDistanceField(context.0.pin_mut().get_unchecked_mut() as *mut _, chf.inner_mut()) }; [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/recast/recast.rs:2012:9 [INFO] [stderr] | [INFO] [stderr] 2012 | ffi::rcBuildRegions( [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/recast/recast.rs:2030:9 [INFO] [stderr] | [INFO] [stderr] 2030 | ffi::rcBuildLayerRegions( [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/recast/recast.rs:2048:9 [INFO] [stderr] | [INFO] [stderr] 2048 | ffi::rcBuildRegionsMonotone( [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/recast/recast.rs:2067:9 [INFO] [stderr] | [INFO] [stderr] 2067 | ffi::rcBuildHeightfieldLayers( [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/recast/recast.rs:2087:9 [INFO] [stderr] | [INFO] [stderr] 2087 | ffi::rcBuildContours( [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/recast/recast.rs:2106:9 [INFO] [stderr] | [INFO] [stderr] 2106 | ffi::rcBuildPolyMesh( [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/recast/recast.rs:2119:16 [INFO] [stderr] | [INFO] [stderr] 2119 | return ffi::rcMergePolyMeshes( [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/recast/recast.rs:2137:9 [INFO] [stderr] | [INFO] [stderr] 2137 | ffi::rcBuildPolyMeshDetail( [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/recast/recast.rs:2151:9 [INFO] [stderr] | [INFO] [stderr] 2151 | ffi::rcCopyPolyMesh( [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/recast/recast.rs:2167:16 [INFO] [stderr] | [INFO] [stderr] 2167 | return ffi::rcMergePolyMeshDetails( [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/demo/demo.rs:60:38 [INFO] [stderr] | [INFO] [stderr] 60 | pub struct RcMeshLoaderObj(UniquePtr); [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/recast/recast.rs:357:26 [INFO] [stderr] | [INFO] [stderr] 357 | pub type RcLogCategory = ffi::rcLogCategory; [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/recast/recast.rs:1345:28 [INFO] [stderr] | [INFO] [stderr] 1345 | pub struct RcPolyMesh(*mut ffi::rcPolyMesh); [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/recast/recast.rs:1284:42 [INFO] [stderr] | [INFO] [stderr] 1284 | pub fn as_mut_ptr(&mut self) -> *mut ffi::rcContourSet { [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/recast/recast.rs:1279:36 [INFO] [stderr] | [INFO] [stderr] 1279 | pub fn as_ptr(&self) -> *const ffi::rcContourSet { [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/recast/recast.rs:1274:41 [INFO] [stderr] | [INFO] [stderr] 1274 | fn inner_mut(&mut self) -> Pin<&mut ffi::rcContourSet> { [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/recast/recast.rs:1269:25 [INFO] [stderr] | [INFO] [stderr] 1269 | fn inner(&self) -> &ffi::rcContourSet { [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/detour_crowd/local_boundary.rs:58:25 [INFO] [stderr] | [INFO] [stderr] 58 | fn inner(&self) -> &ffi::dtLocalBoundary { [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/detour_crowd/local_boundary.rs:62:41 [INFO] [stderr] | [INFO] [stderr] 62 | fn inner_mut(&mut self) -> Pin<&mut ffi::dtLocalBoundary> { [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/recast/recast.rs:1240:30 [INFO] [stderr] | [INFO] [stderr] 1240 | pub struct RcContourSet(*mut ffi::rcContourSet); [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/recast/recast.rs:1126:42 [INFO] [stderr] | [INFO] [stderr] 1126 | pub fn as_mut_ptr(&mut self) -> *mut ffi::rcHeightfieldLayerSet { [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/recast/recast.rs:1121:36 [INFO] [stderr] | [INFO] [stderr] 1121 | pub fn as_ptr(&self) -> *const ffi::rcHeightfieldLayerSet { [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/recast/recast.rs:1116:41 [INFO] [stderr] | [INFO] [stderr] 1116 | fn inner_mut(&mut self) -> Pin<&mut ffi::rcHeightfieldLayerSet> { [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/detour/mesh.rs:137:24 [INFO] [stderr] | [INFO] [stderr] 137 | pub type DtPolyTypes = ffi::dtPolyTypes; [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/recast/recast.rs:1111:25 [INFO] [stderr] | [INFO] [stderr] 1111 | fn inner(&self) -> &ffi::rcHeightfieldLayerSet { [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/detour_crowd/crowd.rs:503:25 [INFO] [stderr] | [INFO] [stderr] 503 | pub struct DtCrowd(*mut ffi::dtCrowd); [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/detour_crowd/path_corridor.rs:126:25 [INFO] [stderr] | [INFO] [stderr] 126 | fn inner(&self) -> &ffi::dtPathCorridor { [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/recast/recast.rs:1082:39 [INFO] [stderr] | [INFO] [stderr] 1082 | pub struct RcHeightfieldLayerSet(*mut ffi::rcHeightfieldLayerSet); [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/detour/mesh.rs:336:18 [INFO] [stderr] | [INFO] [stderr] 336 | header: *mut ffi::dtMeshHeader, [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/detour/mesh.rs:337:17 [INFO] [stderr] | [INFO] [stderr] 337 | polys: *mut ffi::dtPoly, [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/detour/mesh.rs:339:17 [INFO] [stderr] | [INFO] [stderr] 339 | links: *mut ffi::dtLink, [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/detour/mesh.rs:340:25 [INFO] [stderr] | [INFO] [stderr] 340 | detail_meshes: *mut ffi::dtPolyDetail, [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/detour/mesh.rs:343:19 [INFO] [stderr] | [INFO] [stderr] 343 | bv_tree: *mut ffi::dtBVNode, [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/detour/mesh.rs:344:25 [INFO] [stderr] | [INFO] [stderr] 344 | off_mesh_cons: *mut ffi::dtOffMeshConnection, [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/detour/mesh.rs:348:16 [INFO] [stderr] | [INFO] [stderr] 348 | next: *mut ffi::dtMeshTile, [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/detour/mesh.rs:385:25 [INFO] [stderr] | [INFO] [stderr] 385 | fn inner(&self) -> &ffi::dtMeshTile { [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/detour/mesh.rs:389:41 [INFO] [stderr] | [INFO] [stderr] 389 | fn inner_mut(&mut self) -> Pin<&mut ffi::dtMeshTile> { [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/detour/mesh.rs:393:36 [INFO] [stderr] | [INFO] [stderr] 393 | pub fn as_ptr(&self) -> *const ffi::dtMeshTile { [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/detour/mesh.rs:397:42 [INFO] [stderr] | [INFO] [stderr] 397 | pub fn as_mut_ptr(&mut self) -> *mut ffi::dtMeshTile { [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/recast/recast.rs:1067:18 [INFO] [stderr] | [INFO] [stderr] 1067 | layers: *mut ffi::rcHeightfieldLayer, [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/detour/mesh.rs:560:27 [INFO] [stderr] | [INFO] [stderr] 560 | pub struct DtNavMesh(*mut ffi::dtNavMesh); [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/recast/recast.rs:907:42 [INFO] [stderr] | [INFO] [stderr] 907 | pub fn as_mut_ptr(&mut self) -> *mut ffi::rcCompactHeightfield { [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/recast/recast.rs:902:36 [INFO] [stderr] | [INFO] [stderr] 902 | pub fn as_ptr(&self) -> *const ffi::rcCompactHeightfield { [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/detour/mesh.rs:574:45 [INFO] [stderr] | [INFO] [stderr] 574 | pub(crate) unsafe fn from_ptr(ptr: *mut ffi::dtNavMesh) -> DtNavMesh { [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/detour/mesh.rs:578:25 [INFO] [stderr] | [INFO] [stderr] 578 | fn inner(&self) -> &ffi::dtNavMesh { [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/detour/mesh.rs:582:41 [INFO] [stderr] | [INFO] [stderr] 582 | fn inner_mut(&mut self) -> Pin<&mut ffi::dtNavMesh> { [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/detour/mesh.rs:586:36 [INFO] [stderr] | [INFO] [stderr] 586 | pub fn as_ptr(&self) -> *const ffi::dtNavMesh { [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/detour/mesh.rs:590:42 [INFO] [stderr] | [INFO] [stderr] 590 | pub fn as_mut_ptr(&mut self) -> *mut ffi::dtNavMesh { [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/recast/recast.rs:897:41 [INFO] [stderr] | [INFO] [stderr] 897 | fn inner_mut(&mut self) -> Pin<&mut ffi::rcCompactHeightfield> { [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/recast/recast.rs:892:25 [INFO] [stderr] | [INFO] [stderr] 892 | fn inner(&self) -> &ffi::rcCompactHeightfield { [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/detour_crowd/path_corridor.rs:130:41 [INFO] [stderr] | [INFO] [stderr] 130 | fn inner_mut(&mut self) -> Pin<&mut ffi::dtPathCorridor> { [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/detour_crowd/crowd.rs:517:25 [INFO] [stderr] | [INFO] [stderr] 517 | fn inner(&self) -> &ffi::dtCrowd { [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/detour/query.rs:418:32 [INFO] [stderr] | [INFO] [stderr] 418 | pub struct DtNavMeshQuery(*mut ffi::dtNavMeshQuery); [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/recast/recast.rs:863:38 [INFO] [stderr] | [INFO] [stderr] 863 | pub struct RcCompactHeightfield(*mut ffi::rcCompactHeightfield); [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/recast/recast.rs:672:42 [INFO] [stderr] | [INFO] [stderr] 672 | pub fn as_mut_ptr(&mut self) -> *mut ffi::rcHeightfield { [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/detour/query.rs:431:25 [INFO] [stderr] | [INFO] [stderr] 431 | fn inner(&self) -> &ffi::dtNavMeshQuery { [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/detour/query.rs:435:41 [INFO] [stderr] | [INFO] [stderr] 435 | fn inner_mut(&mut self) -> Pin<&mut ffi::dtNavMeshQuery> { [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/detour/query.rs:439:36 [INFO] [stderr] | [INFO] [stderr] 439 | pub fn as_ptr(&self) -> *const ffi::dtNavMeshQuery { [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/detour/query.rs:443:42 [INFO] [stderr] | [INFO] [stderr] 443 | pub fn as_mut_ptr(&mut self) -> *mut ffi::dtNavMeshQuery { [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/recast/recast.rs:667:36 [INFO] [stderr] | [INFO] [stderr] 667 | pub fn as_ptr(&self) -> *const ffi::rcHeightfield { [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/recast/recast.rs:662:41 [INFO] [stderr] | [INFO] [stderr] 662 | fn inner_mut(&mut self) -> Pin<&mut ffi::rcHeightfield> { [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/detour_crowd/crowd.rs:149:28 [INFO] [stderr] | [INFO] [stderr] 149 | pub type CrowdAgentState = ffi::CrowdAgentState; [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/detour_crowd/crowd.rs:150:29 [INFO] [stderr] | [INFO] [stderr] 150 | pub type MoveRequestState = ffi::MoveRequestState; [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/detour_crowd/crowd.rs:225:25 [INFO] [stderr] | [INFO] [stderr] 225 | fn inner(&self) -> &ffi::dtCrowdAgent { [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/detour_crowd/crowd.rs:229:41 [INFO] [stderr] | [INFO] [stderr] 229 | fn inner_mut(&mut self) -> Pin<&mut ffi::dtCrowdAgent> { [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/detour_crowd/crowd.rs:233:36 [INFO] [stderr] | [INFO] [stderr] 233 | pub fn as_ptr(&self) -> *const ffi::dtCrowdAgent { [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/detour_crowd/crowd.rs:237:42 [INFO] [stderr] | [INFO] [stderr] 237 | pub fn as_mut_ptr(&mut self) -> *mut ffi::dtCrowdAgent { [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/recast/recast.rs:657:25 [INFO] [stderr] | [INFO] [stderr] 657 | fn inner(&self) -> &ffi::rcHeightfield { [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/detour_crowd/crowd.rs:521:41 [INFO] [stderr] | [INFO] [stderr] 521 | fn inner_mut(&mut self) -> Pin<&mut ffi::dtCrowd> { [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/detour_crowd/crowd.rs:525:36 [INFO] [stderr] | [INFO] [stderr] 525 | pub fn as_ptr(&self) -> *const ffi::dtCrowd { [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/detour_crowd/crowd.rs:529:42 [INFO] [stderr] | [INFO] [stderr] 529 | pub fn as_mut_ptr(&mut self) -> *mut ffi::dtCrowd { [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/recast/recast.rs:371:62 [INFO] [stderr] | [INFO] [stderr] 371 | .field(&unsafe { mem::transmute_copy::<_, *const ffi::rcContext>(&self.0) }) [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/recast/recast.rs:1540:42 [INFO] [stderr] | [INFO] [stderr] 1540 | pub fn as_mut_ptr(&mut self) -> *mut ffi::rcPolyMeshDetail { [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/recast/recast.rs:1535:36 [INFO] [stderr] | [INFO] [stderr] 1535 | pub fn as_ptr(&self) -> *const ffi::rcPolyMeshDetail { [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/recast/recast.rs:1530:41 [INFO] [stderr] | [INFO] [stderr] 1530 | fn inner_mut(&mut self) -> Pin<&mut ffi::rcPolyMeshDetail> { [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/recast/recast.rs:1525:25 [INFO] [stderr] | [INFO] [stderr] 1525 | fn inner(&self) -> &ffi::rcPolyMeshDetail { [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/recast/recast.rs:365:32 [INFO] [stderr] | [INFO] [stderr] 365 | pub struct RcContext(UniquePtr); [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/recast/recast.rs:359:33 [INFO] [stderr] | [INFO] [stderr] 359 | pub type RcBuildContoursFlags = ffi::rcBuildContoursFlags; [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/recast/recast.rs:1496:34 [INFO] [stderr] | [INFO] [stderr] 1496 | pub struct RcPolyMeshDetail(*mut ffi::rcPolyMeshDetail); [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/recast/recast.rs:1389:42 [INFO] [stderr] | [INFO] [stderr] 1389 | pub fn as_mut_ptr(&mut self) -> *mut ffi::rcPolyMesh { [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/recast/recast.rs:1384:36 [INFO] [stderr] | [INFO] [stderr] 1384 | pub fn as_ptr(&self) -> *const ffi::rcPolyMesh { [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/recast/recast.rs:1379:41 [INFO] [stderr] | [INFO] [stderr] 1379 | fn inner_mut(&mut self) -> Pin<&mut ffi::rcPolyMesh> { [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/recast/recast.rs:1374:25 [INFO] [stderr] | [INFO] [stderr] 1374 | fn inner(&self) -> &ffi::rcPolyMesh { [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared crate or module `ffi` [INFO] [stderr] --> src/recast/recast.rs:358:25 [INFO] [stderr] | [INFO] [stderr] 358 | pub type RcTimerLabel = ffi::rcTimerLabel; [INFO] [stderr] | ^^^ use of undeclared crate or module `ffi` [INFO] [stderr] [INFO] [stderr] error: aborting due to 235 previous errors [INFO] [stderr] [INFO] [stderr] For more information about this error, try `rustc --explain E0433`. [INFO] [stderr] Original diagnostics will follow. [INFO] [stderr] [INFO] [stdout] warning: unsafe attribute used without unsafe [INFO] [stdout] --> src/detour/query.rs:277:22 [INFO] [stdout] | [INFO] [stdout] 277 | ) -> dtStatus; [INFO] [stdout] | ^ usage of unsafe attribute [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123757 [INFO] [stdout] = note: `--force-warn unsafe-attr-outside-unsafe` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] help: wrap the attribute in `unsafe(...)` [INFO] [stdout] | [INFO] [stdout] 277 | ) -> dtStatusunsafe(;) [INFO] [stdout] | +++++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unsafe attribute used without unsafe [INFO] [stdout] --> src/detour/query.rs:287:22 [INFO] [stdout] | [INFO] [stdout] 287 | ) -> dtStatus; [INFO] [stdout] | ^ usage of unsafe attribute [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123757 [INFO] [stdout] help: wrap the attribute in `unsafe(...)` [INFO] [stdout] | [INFO] [stdout] 287 | ) -> dtStatusunsafe(;) [INFO] [stdout] | +++++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/demo/demo.rs:19:79 [INFO] [stdout] | [INFO] [stdout] 19 | fn load(self: Pin<&mut rcMeshLoaderObj>, fileName: &CxxString) -> bool; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] = note: `--force-warn missing-unsafe-on-extern` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/demo/demo.rs:20:62 [INFO] [stdout] | [INFO] [stdout] 20 | fn rcNewMeshLoaderObj() -> UniquePtr; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/demo/demo.rs:21:58 [INFO] [stdout] | [INFO] [stdout] 21 | fn getVerts(self: &rcMeshLoaderObj) -> *const f32; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/demo/demo.rs:22:60 [INFO] [stdout] | [INFO] [stdout] 22 | fn getNormals(self: &rcMeshLoaderObj) -> *const f32; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/demo/demo.rs:23:57 [INFO] [stdout] | [INFO] [stdout] 23 | fn getTris(self: &rcMeshLoaderObj) -> *const i32; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/demo/demo.rs:24:55 [INFO] [stdout] | [INFO] [stdout] 24 | fn getVertCount(self: &rcMeshLoaderObj) -> i32; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/demo/demo.rs:25:54 [INFO] [stdout] | [INFO] [stdout] 25 | fn getTriCount(self: &rcMeshLoaderObj) -> i32; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/demo/demo.rs:26:61 [INFO] [stdout] | [INFO] [stdout] 26 | fn getFileName(self: &rcMeshLoaderObj) -> &CxxString; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/demo/demo.rs:28:60 [INFO] [stdout] | [INFO] [stdout] 28 | unsafe fn loadNavMesh(path: &str) -> *mut dtNavMesh; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/demo/demo.rs:29:66 [INFO] [stdout] | [INFO] [stdout] 29 | unsafe fn saveNavMesh(mesh: *const dtNavMesh, path: &str); [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/demo/demo.rs:34:54 [INFO] [stdout] | [INFO] [stdout] 34 | unsafe fn rcctm_new() -> *mut rcChunkyTriMesh; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/demo/demo.rs:35:57 [INFO] [stdout] | [INFO] [stdout] 35 | unsafe fn rcctm_delete(cm: *mut rcChunkyTriMesh); [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/demo/demo.rs:42:18 [INFO] [stdout] | [INFO] [stdout] 42 | ) -> bool; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/demo/demo.rs:49:17 [INFO] [stdout] | [INFO] [stdout] 49 | ) -> i32; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/demo/demo.rs:56:17 [INFO] [stdout] | [INFO] [stdout] 56 | ) -> i32; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/demo/demo.rs:20:61 [INFO] [stdout] | [INFO] [stdout] 20 | fn rcNewMeshLoaderObj() -> UniquePtr; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour/base.rs:21:43 [INFO] [stdout] | [INFO] [stdout] 21 | unsafe fn dtFree(ptr: *mut c_void); [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour/builder.rs:21:18 [INFO] [stdout] | [INFO] [stdout] 21 | ) -> bool; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour/builder.rs:22:82 [INFO] [stdout] | [INFO] [stdout] 22 | unsafe fn dtNavMeshHeaderSwapEndian(data: *mut u8, dataSize: i32) -> bool; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour/builder.rs:23:80 [INFO] [stdout] | [INFO] [stdout] 23 | unsafe fn dtNavMeshDataSwapEndian(data: *mut u8, dataSize: i32) -> bool; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour/mesh.rs:49:54 [INFO] [stdout] | [INFO] [stdout] 49 | fn dtp_setArea(poly: Pin<&mut dtPoly>, a: u8); [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour/mesh.rs:50:54 [INFO] [stdout] | [INFO] [stdout] 50 | fn dtp_setType(poly: Pin<&mut dtPoly>, t: u8); [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour/mesh.rs:51:44 [INFO] [stdout] | [INFO] [stdout] 51 | fn dtp_getArea(poly: &dtPoly) -> u8; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour/mesh.rs:52:44 [INFO] [stdout] | [INFO] [stdout] 52 | fn dtp_getType(poly: &dtPoly) -> u8; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour/mesh.rs:63:72 [INFO] [stdout] | [INFO] [stdout] 63 | fn dtGetDetailTriEdgeFlags(triFlags: u8, edgeIndex: i32) -> i32; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour/mesh.rs:66:46 [INFO] [stdout] | [INFO] [stdout] 66 | fn dtAllocNavMesh() -> *mut dtNavMesh; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour/mesh.rs:67:53 [INFO] [stdout] | [INFO] [stdout] 67 | unsafe fn dtFreeNavMesh(ptr: *mut dtNavMesh); [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour/mesh.rs:69:94 [INFO] [stdout] | [INFO] [stdout] 69 | unsafe fn init(self: Pin<&mut dtNavMesh>, params: *const dtNavMeshParams) -> dtStatus; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour/mesh.rs:71:104 [INFO] [stdout] | [INFO] [stdout] 71 | unsafe fn init(self: Pin<&mut dtNavMesh>, data: *mut u8, dataSize: i32, flags: i32) -> dtStatus; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour/mesh.rs:72:65 [INFO] [stdout] | [INFO] [stdout] 72 | fn getParams(self: &dtNavMesh) -> *const dtNavMeshParams; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour/mesh.rs:80:22 [INFO] [stdout] | [INFO] [stdout] 80 | ) -> dtStatus; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour/mesh.rs:86:22 [INFO] [stdout] | [INFO] [stdout] 86 | ) -> dtStatus; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour/mesh.rs:87:93 [INFO] [stdout] | [INFO] [stdout] 87 | unsafe fn calcTileLoc(self: &dtNavMesh, pos: *const f32, tx: *mut i32, ty: *mut i32); [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour/mesh.rs:88:95 [INFO] [stdout] | [INFO] [stdout] 88 | unsafe fn getTileAt(self: &dtNavMesh, x: i32, y: i32, layer: i32) -> *const dtMeshTile; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour/mesh.rs:89:116 [INFO] [stdout] | [INFO] [stdout] 89 | unsafe fn getTilesAt(self: &dtNavMesh, x: i32, y: i32, tiles: *mut *const dtMeshTile, maxTiles: i32) -> i32; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour/mesh.rs:90:83 [INFO] [stdout] | [INFO] [stdout] 90 | fn getTileRefAt(self: &dtNavMesh, x: i32, y: i32, layer: i32) -> dtTileRef; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour/mesh.rs:91:85 [INFO] [stdout] | [INFO] [stdout] 91 | unsafe fn getTileRef(self: &dtNavMesh, tile: *const dtMeshTile) -> dtTileRef; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour/mesh.rs:92:85 [INFO] [stdout] | [INFO] [stdout] 92 | unsafe fn getTileByRef(self: &dtNavMesh, re: dtTileRef) -> *const dtMeshTile; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour/mesh.rs:93:48 [INFO] [stdout] | [INFO] [stdout] 93 | fn getMaxTiles(self: &dtNavMesh) -> i32; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour/mesh.rs:94:73 [INFO] [stdout] | [INFO] [stdout] 94 | unsafe fn getTile(self: &dtNavMesh, i: i32) -> *const dtMeshTile; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour/mesh.rs:100:22 [INFO] [stdout] | [INFO] [stdout] 100 | ) -> dtStatus; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour/mesh.rs:106:10 [INFO] [stdout] | [INFO] [stdout] 106 | ); [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour/mesh.rs:107:67 [INFO] [stdout] | [INFO] [stdout] 107 | fn isValidPolyRef(self: &dtNavMesh, re: dtPolyRef) -> bool; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour/mesh.rs:108:89 [INFO] [stdout] | [INFO] [stdout] 108 | unsafe fn getPolyRefBase(self: &dtNavMesh, tile: *const dtMeshTile) -> dtPolyRef; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour/mesh.rs:115:22 [INFO] [stdout] | [INFO] [stdout] 115 | ) -> dtStatus; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour/mesh.rs:116:100 [INFO] [stdout] | [INFO] [stdout] 116 | fn getOffMeshConnectionByRef(self: &dtNavMesh, re: dtPolyRef) -> *const dtOffMeshConnection; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour/mesh.rs:117:90 [INFO] [stdout] | [INFO] [stdout] 117 | fn setPolyFlags(self: Pin<&mut dtNavMesh>, re: dtPolyRef, flags: u16) -> dtStatus; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour/mesh.rs:118:99 [INFO] [stdout] | [INFO] [stdout] 118 | unsafe fn getPolyFlags(self: &dtNavMesh, re: dtPolyRef, resultFlags: *mut u16) -> dtStatus; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour/mesh.rs:119:87 [INFO] [stdout] | [INFO] [stdout] 119 | fn setPolyArea(self: Pin<&mut dtNavMesh>, re: dtPolyRef, area: u8) -> dtStatus; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour/mesh.rs:120:96 [INFO] [stdout] | [INFO] [stdout] 120 | unsafe fn getPolyArea(self: &dtNavMesh, re: dtPolyRef, resultArea: *mut u8) -> dtStatus; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour/mesh.rs:121:85 [INFO] [stdout] | [INFO] [stdout] 121 | unsafe fn getTileStateSize(self: &dtNavMesh, tile: *const dtMeshTile) -> i32; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour/mesh.rs:122:84 [INFO] [stdout] | [INFO] [stdout] 122 | fn encodePolyId(self: &dtNavMesh, salt: u32, it: u32, ip: u32) -> dtPolyRef; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour/mesh.rs:123:108 [INFO] [stdout] | [INFO] [stdout] 123 | unsafe fn decodePolyId(self: &dtNavMesh, re: dtPolyRef, salt: &mut u32, it: &mut u32, ip: &mut u32); [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour/mesh.rs:124:68 [INFO] [stdout] | [INFO] [stdout] 124 | fn decodePolyIdSalt(self: &dtNavMesh, re: dtPolyRef) -> u32; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour/mesh.rs:125:68 [INFO] [stdout] | [INFO] [stdout] 125 | fn decodePolyIdTile(self: &dtNavMesh, re: dtPolyRef) -> u32; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour/mesh.rs:126:68 [INFO] [stdout] | [INFO] [stdout] 126 | fn decodePolyIdPoly(self: &dtNavMesh, re: dtPolyRef) -> u32; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour/mesh.rs:127:119 [INFO] [stdout] | [INFO] [stdout] 127 | unsafe fn dtmt_storeTileState(navMesh: &dtNavMesh, re: dtTileRef, data: *mut u8, maxDataSize: i32) -> dtStatus; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour/mesh.rs:133:22 [INFO] [stdout] | [INFO] [stdout] 133 | ) -> dtStatus; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour/query.rs:49:18 [INFO] [stdout] | [INFO] [stdout] 49 | ) -> bool; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour/query.rs:63:17 [INFO] [stdout] | [INFO] [stdout] 63 | ) -> f32; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour/query.rs:68:60 [INFO] [stdout] | [INFO] [stdout] 68 | pub fn dtAllocNavMeshQuery() -> *mut dtNavMeshQuery; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour/query.rs:69:69 [INFO] [stdout] | [INFO] [stdout] 69 | pub unsafe fn dtFreeNavMeshQuery(query: *mut dtNavMeshQuery); [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour/query.rs:71:109 [INFO] [stdout] | [INFO] [stdout] 71 | pub unsafe fn init(self: Pin<&mut dtNavMeshQuery>, nav: *const dtNavMesh, maxNodes: i32) -> dtStatus; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour/query.rs:82:22 [INFO] [stdout] | [INFO] [stdout] 82 | ) -> dtStatus; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour/query.rs:95:22 [INFO] [stdout] | [INFO] [stdout] 95 | ) -> dtStatus; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour/query.rs:104:22 [INFO] [stdout] | [INFO] [stdout] 104 | ) -> dtStatus; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour/query.rs:109:22 [INFO] [stdout] | [INFO] [stdout] 109 | ) -> dtStatus; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour/query.rs:115:22 [INFO] [stdout] | [INFO] [stdout] 115 | ) -> dtStatus; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour/query.rs:123:22 [INFO] [stdout] | [INFO] [stdout] 123 | ) -> dtStatus; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour/query.rs:135:22 [INFO] [stdout] | [INFO] [stdout] 135 | ) -> dtStatus; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour/query.rs:147:22 [INFO] [stdout] | [INFO] [stdout] 147 | ) -> dtStatus; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour/query.rs:154:22 [INFO] [stdout] | [INFO] [stdout] 154 | ) -> dtStatus; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour/query.rs:163:22 [INFO] [stdout] | [INFO] [stdout] 163 | ) -> dtStatus; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour/query.rs:173:22 [INFO] [stdout] | [INFO] [stdout] 173 | ) -> dtStatus; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour/query.rs:182:22 [INFO] [stdout] | [INFO] [stdout] 182 | ) -> dtStatus; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour/query.rs:193:22 [INFO] [stdout] | [INFO] [stdout] 193 | ) -> dtStatus; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour/query.rs:204:22 [INFO] [stdout] | [INFO] [stdout] 204 | ) -> dtStatus; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour/query.rs:217:22 [INFO] [stdout] | [INFO] [stdout] 217 | ) -> dtStatus; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour/query.rs:228:22 [INFO] [stdout] | [INFO] [stdout] 228 | ) -> dtStatus; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour/query.rs:238:22 [INFO] [stdout] | [INFO] [stdout] 238 | ) -> dtStatus; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour/query.rs:247:22 [INFO] [stdout] | [INFO] [stdout] 247 | ) -> dtStatus; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour/query.rs:254:22 [INFO] [stdout] | [INFO] [stdout] 254 | ) -> dtStatus; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour/query.rs:260:22 [INFO] [stdout] | [INFO] [stdout] 260 | ) -> dtStatus; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour/query.rs:266:22 [INFO] [stdout] | [INFO] [stdout] 266 | ) -> dtStatus; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour/query.rs:267:113 [INFO] [stdout] | [INFO] [stdout] 267 | pub unsafe fn isValidPolyRef(self: &dtNavMeshQuery, re: dtPolyRef, filter: *const dtQueryFilter) -> bool; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour/query.rs:268:83 [INFO] [stdout] | [INFO] [stdout] 268 | pub unsafe fn isInClosedList(self: &dtNavMeshQuery, re: dtPolyRef) -> bool; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour/query.rs:270:84 [INFO] [stdout] | [INFO] [stdout] 270 | pub unsafe fn getAttachedNavMesh(self: &dtNavMeshQuery) -> *const dtNavMesh; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour/query.rs:277:22 [INFO] [stdout] | [INFO] [stdout] 277 | ) -> dtStatus; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour/query.rs:287:22 [INFO] [stdout] | [INFO] [stdout] 287 | ) -> dtStatus; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour_crowd/crowd.rs:65:56 [INFO] [stdout] | [INFO] [stdout] 65 | fn dtca_getActive(agent: &dtCrowdAgent) -> bool; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour_crowd/crowd.rs:66:71 [INFO] [stdout] | [INFO] [stdout] 66 | fn dtca_setActive(agent: Pin<&mut dtCrowdAgent>, active: bool); [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour_crowd/crowd.rs:67:53 [INFO] [stdout] | [INFO] [stdout] 67 | fn dtca_getState(agent: &dtCrowdAgent) -> u8; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour_crowd/crowd.rs:68:67 [INFO] [stdout] | [INFO] [stdout] 68 | fn dtca_setState(agent: Pin<&mut dtCrowdAgent>, state: u8); [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour_crowd/crowd.rs:69:57 [INFO] [stdout] | [INFO] [stdout] 69 | fn dtca_getPartial(agent: &dtCrowdAgent) -> bool; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour_crowd/crowd.rs:70:73 [INFO] [stdout] | [INFO] [stdout] 70 | fn dtca_setPartial(agent: Pin<&mut dtCrowdAgent>, partial: bool); [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour_crowd/crowd.rs:71:75 [INFO] [stdout] | [INFO] [stdout] 71 | fn dtca_getCorridor(agent: &dtCrowdAgent) -> *const dtPathCorridor; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour_crowd/crowd.rs:72:86 [INFO] [stdout] | [INFO] [stdout] 72 | fn dtca_getCorridor_mut(agent: Pin<&mut dtCrowdAgent>) -> *mut dtPathCorridor; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour_crowd/crowd.rs:73:76 [INFO] [stdout] | [INFO] [stdout] 73 | fn dtca_getBoundary(agent: &dtCrowdAgent) -> *const dtLocalBoundary; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour_crowd/crowd.rs:74:87 [INFO] [stdout] | [INFO] [stdout] 74 | fn dtca_getBoundary_mut(agent: Pin<&mut dtCrowdAgent>) -> *mut dtLocalBoundary; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour_crowd/crowd.rs:75:64 [INFO] [stdout] | [INFO] [stdout] 75 | fn dtca_getTopologyOptTime(agent: &dtCrowdAgent) -> f32; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour_crowd/crowd.rs:76:88 [INFO] [stdout] | [INFO] [stdout] 76 | fn dtca_setTopologyOptTime(agent: Pin<&mut dtCrowdAgent>, topologyOptTime: f32); [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour_crowd/crowd.rs:77:73 [INFO] [stdout] | [INFO] [stdout] 77 | fn dtca_getNeis(agent: &dtCrowdAgent) -> *const dtCrowdNeighbour; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour_crowd/crowd.rs:78:84 [INFO] [stdout] | [INFO] [stdout] 78 | fn dtca_getNeis_mut(agent: Pin<&mut dtCrowdAgent>) -> *mut dtCrowdNeighbour; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour_crowd/crowd.rs:79:54 [INFO] [stdout] | [INFO] [stdout] 79 | fn dtca_getNneis(agent: &dtCrowdAgent) -> i32; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour_crowd/crowd.rs:80:61 [INFO] [stdout] | [INFO] [stdout] 80 | fn dtca_getDesiredSpeed(agent: &dtCrowdAgent) -> f32; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour_crowd/crowd.rs:81:82 [INFO] [stdout] | [INFO] [stdout] 81 | fn dtca_setDesiredSpeed(agent: Pin<&mut dtCrowdAgent>, desiredSpeed: f32); [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour_crowd/crowd.rs:82:60 [INFO] [stdout] | [INFO] [stdout] 82 | fn dtca_getNpos(agent: &dtCrowdAgent) -> *const f32; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour_crowd/crowd.rs:83:80 [INFO] [stdout] | [INFO] [stdout] 83 | unsafe fn dtca_setNpos(agent: Pin<&mut dtCrowdAgent>, npos: *const f32); [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour_crowd/crowd.rs:84:60 [INFO] [stdout] | [INFO] [stdout] 84 | fn dtca_getDisp(agent: &dtCrowdAgent) -> *const f32; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour_crowd/crowd.rs:85:80 [INFO] [stdout] | [INFO] [stdout] 85 | unsafe fn dtca_setDisp(agent: Pin<&mut dtCrowdAgent>, disp: *const f32); [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour_crowd/crowd.rs:86:60 [INFO] [stdout] | [INFO] [stdout] 86 | fn dtca_getDvel(agent: &dtCrowdAgent) -> *const f32; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour_crowd/crowd.rs:87:80 [INFO] [stdout] | [INFO] [stdout] 87 | unsafe fn dtca_setDvel(agent: Pin<&mut dtCrowdAgent>, dvel: *const f32); [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour_crowd/crowd.rs:88:60 [INFO] [stdout] | [INFO] [stdout] 88 | fn dtca_getNvel(agent: &dtCrowdAgent) -> *const f32; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour_crowd/crowd.rs:89:80 [INFO] [stdout] | [INFO] [stdout] 89 | unsafe fn dtca_setNvel(agent: Pin<&mut dtCrowdAgent>, nvel: *const f32); [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour_crowd/crowd.rs:90:59 [INFO] [stdout] | [INFO] [stdout] 90 | fn dtca_getVel(agent: &dtCrowdAgent) -> *const f32; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour_crowd/crowd.rs:91:78 [INFO] [stdout] | [INFO] [stdout] 91 | unsafe fn dtca_setVel(agent: Pin<&mut dtCrowdAgent>, vel: *const f32); [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour_crowd/crowd.rs:92:77 [INFO] [stdout] | [INFO] [stdout] 92 | fn dtca_getParams(agent: &dtCrowdAgent) -> *const dtCrowdAgentParams; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour_crowd/crowd.rs:93:88 [INFO] [stdout] | [INFO] [stdout] 93 | fn dtca_getParams_mut(agent: Pin<&mut dtCrowdAgent>) -> *mut dtCrowdAgentParams; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour_crowd/crowd.rs:94:67 [INFO] [stdout] | [INFO] [stdout] 94 | fn dtca_getCornerVerts(agent: &dtCrowdAgent) -> *const f32; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour_crowd/crowd.rs:95:78 [INFO] [stdout] | [INFO] [stdout] 95 | fn dtca_getCornerVerts_mut(agent: Pin<&mut dtCrowdAgent>) -> *mut f32; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour_crowd/crowd.rs:96:66 [INFO] [stdout] | [INFO] [stdout] 96 | fn dtca_getCornerFlags(agent: &dtCrowdAgent) -> *const u8; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour_crowd/crowd.rs:97:77 [INFO] [stdout] | [INFO] [stdout] 97 | fn dtca_getCornerFlags_mut(agent: Pin<&mut dtCrowdAgent>) -> *mut u8; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour_crowd/crowd.rs:98:73 [INFO] [stdout] | [INFO] [stdout] 98 | fn dtca_getCornerPolys(agent: &dtCrowdAgent) -> *const dtPolyRef; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour_crowd/crowd.rs:99:84 [INFO] [stdout] | [INFO] [stdout] 99 | fn dtca_getCornerPolys_mut(agent: Pin<&mut dtCrowdAgent>) -> *mut dtPolyRef; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour_crowd/crowd.rs:100:57 [INFO] [stdout] | [INFO] [stdout] 100 | fn dtca_getNcorners(agent: &dtCrowdAgent) -> i32; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour_crowd/crowd.rs:101:59 [INFO] [stdout] | [INFO] [stdout] 101 | fn dtca_getTargetState(agent: &dtCrowdAgent) -> u8; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour_crowd/crowd.rs:102:79 [INFO] [stdout] | [INFO] [stdout] 102 | fn dtca_setTargetState(agent: Pin<&mut dtCrowdAgent>, targetState: u8); [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour_crowd/crowd.rs:103:64 [INFO] [stdout] | [INFO] [stdout] 103 | fn dtca_getTargetRef(agent: &dtCrowdAgent) -> dtPolyRef; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour_crowd/crowd.rs:104:82 [INFO] [stdout] | [INFO] [stdout] 104 | fn dtca_setTargetRef(agent: Pin<&mut dtCrowdAgent>, targetRef: dtPolyRef); [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour_crowd/crowd.rs:105:65 [INFO] [stdout] | [INFO] [stdout] 105 | fn dtca_getTargetPos(agent: &dtCrowdAgent) -> *const f32; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour_crowd/crowd.rs:106:90 [INFO] [stdout] | [INFO] [stdout] 106 | unsafe fn dtca_setTargetPos(agent: Pin<&mut dtCrowdAgent>, targetPos: *const f32); [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour_crowd/crowd.rs:107:63 [INFO] [stdout] | [INFO] [stdout] 107 | fn dtca_getTargetPathqRef(agent: &dtCrowdAgent) -> u32; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour_crowd/crowd.rs:108:86 [INFO] [stdout] | [INFO] [stdout] 108 | fn dtca_setTargetPathqRef(agent: Pin<&mut dtCrowdAgent>, targetPathqRef: u32); [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour_crowd/crowd.rs:109:62 [INFO] [stdout] | [INFO] [stdout] 109 | fn dtca_getTargetReplan(agent: &dtCrowdAgent) -> bool; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour_crowd/crowd.rs:110:83 [INFO] [stdout] | [INFO] [stdout] 110 | fn dtca_setTargetReplan(agent: Pin<&mut dtCrowdAgent>, targetReplan: bool); [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour_crowd/crowd.rs:111:65 [INFO] [stdout] | [INFO] [stdout] 111 | fn dtca_getTargetReplanTime(agent: &dtCrowdAgent) -> f32; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour_crowd/crowd.rs:112:90 [INFO] [stdout] | [INFO] [stdout] 112 | fn dtca_setTargetReplanTime(agent: Pin<&mut dtCrowdAgent>, targetReplanTime: f32); [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour_crowd/crowd.rs:118:42 [INFO] [stdout] | [INFO] [stdout] 118 | fn dtAllocCrowd() -> *mut dtCrowd; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour_crowd/crowd.rs:119:49 [INFO] [stdout] | [INFO] [stdout] 119 | unsafe fn dtFreeCrowd(ptr: *mut dtCrowd); [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour_crowd/crowd.rs:120:114 [INFO] [stdout] | [INFO] [stdout] 120 | unsafe fn init(self: Pin<&mut dtCrowd>, maxAgents: i32, maxAgentRadius: f32, nav: *mut dtNavMesh) -> bool; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour_crowd/crowd.rs:125:10 [INFO] [stdout] | [INFO] [stdout] 125 | ); [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour_crowd/crowd.rs:126:100 [INFO] [stdout] | [INFO] [stdout] 126 | fn getObstacleAvoidanceParams(self: &dtCrowd, idx: i32) -> *const dtObstacleAvoidanceParams; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour_crowd/crowd.rs:127:78 [INFO] [stdout] | [INFO] [stdout] 127 | fn getAgent(self: Pin<&mut dtCrowd>, idx: i32) -> *const dtCrowdAgent; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour_crowd/crowd.rs:128:84 [INFO] [stdout] | [INFO] [stdout] 128 | fn getEditableAgent(self: Pin<&mut dtCrowd>, idx: i32) -> *mut dtCrowdAgent; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour_crowd/crowd.rs:129:48 [INFO] [stdout] | [INFO] [stdout] 129 | fn getAgentCount(self: &dtCrowd) -> i32; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour_crowd/crowd.rs:130:111 [INFO] [stdout] | [INFO] [stdout] 130 | unsafe fn addAgent(self: Pin<&mut dtCrowd>, pos: *const f32, params: *const dtCrowdAgentParams) -> i32; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour_crowd/crowd.rs:131:110 [INFO] [stdout] | [INFO] [stdout] 131 | unsafe fn updateAgentParameters(self: Pin<&mut dtCrowd>, idx: i32, params: *const dtCrowdAgentParams); [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour_crowd/crowd.rs:132:58 [INFO] [stdout] | [INFO] [stdout] 132 | fn removeAgent(self: Pin<&mut dtCrowd>, idx: i32); [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour_crowd/crowd.rs:133:111 [INFO] [stdout] | [INFO] [stdout] 133 | unsafe fn requestMoveTarget(self: Pin<&mut dtCrowd>, idx: i32, re: dtPolyRef, pos: *const f32) -> bool; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour_crowd/crowd.rs:134:98 [INFO] [stdout] | [INFO] [stdout] 134 | unsafe fn requestMoveVelocity(self: Pin<&mut dtCrowd>, idx: i32, vel: *const f32) -> bool; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour_crowd/crowd.rs:135:70 [INFO] [stdout] | [INFO] [stdout] 135 | fn resetMoveTarget(self: Pin<&mut dtCrowd>, idx: i32) -> bool; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour_crowd/crowd.rs:136:114 [INFO] [stdout] | [INFO] [stdout] 136 | unsafe fn getActiveAgents(self: Pin<&mut dtCrowd>, agents: *mut *mut dtCrowdAgent, maxAgents: i32) -> i32; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour_crowd/crowd.rs:137:94 [INFO] [stdout] | [INFO] [stdout] 137 | unsafe fn update(self: Pin<&mut dtCrowd>, dt: f32, debug: *mut dtCrowdAgentDebugInfo); [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour_crowd/crowd.rs:138:69 [INFO] [stdout] | [INFO] [stdout] 138 | fn getFilter(self: &dtCrowd, i: i32) -> *const dtQueryFilter; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour_crowd/crowd.rs:139:84 [INFO] [stdout] | [INFO] [stdout] 139 | fn getEditableFilter(self: Pin<&mut dtCrowd>, i: i32) -> *mut dtQueryFilter; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour_crowd/crowd.rs:140:61 [INFO] [stdout] | [INFO] [stdout] 140 | fn getQueryHalfExtents(self: &dtCrowd) -> *const f32; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour_crowd/crowd.rs:141:57 [INFO] [stdout] | [INFO] [stdout] 141 | fn getQueryExtents(self: &dtCrowd) -> *const f32; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour_crowd/crowd.rs:142:57 [INFO] [stdout] | [INFO] [stdout] 142 | fn getVelocitySampleCount(self: &dtCrowd) -> i32; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour_crowd/local_boundary.rs:17:60 [INFO] [stdout] | [INFO] [stdout] 17 | unsafe fn dtlb_reset(lb: Pin<&mut dtLocalBoundary>); [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour_crowd/local_boundary.rs:25:10 [INFO] [stdout] | [INFO] [stdout] 25 | ); [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour_crowd/local_boundary.rs:30:18 [INFO] [stdout] | [INFO] [stdout] 30 | ) -> bool; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour_crowd/local_boundary.rs:31:66 [INFO] [stdout] | [INFO] [stdout] 31 | pub fn dtlb_getCenter(lb: &dtLocalBoundary) -> *const f32; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour_crowd/local_boundary.rs:32:65 [INFO] [stdout] | [INFO] [stdout] 32 | pub fn dtlb_getSegmentCount(lb: &dtLocalBoundary) -> i32; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour_crowd/local_boundary.rs:33:75 [INFO] [stdout] | [INFO] [stdout] 33 | pub fn dtlb_getSegment(lb: &dtLocalBoundary, i: i32) -> *const f32; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour_crowd/path_corridor.rs:17:70 [INFO] [stdout] | [INFO] [stdout] 17 | fn init(self: Pin<&mut dtPathCorridor>, maxPath: i32) -> bool; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour_crowd/path_corridor.rs:18:89 [INFO] [stdout] | [INFO] [stdout] 18 | unsafe fn reset(self: Pin<&mut dtPathCorridor>, rer: dtPolyRef, pos: *const f32); [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour_crowd/path_corridor.rs:27:17 [INFO] [stdout] | [INFO] [stdout] 27 | ) -> i32; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour_crowd/path_corridor.rs:34:10 [INFO] [stdout] | [INFO] [stdout] 34 | ); [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour_crowd/path_corridor.rs:39:18 [INFO] [stdout] | [INFO] [stdout] 39 | ) -> bool; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour_crowd/path_corridor.rs:47:18 [INFO] [stdout] | [INFO] [stdout] 47 | ) -> bool; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour_crowd/path_corridor.rs:48:112 [INFO] [stdout] | [INFO] [stdout] 48 | unsafe fn fixPathStart(self: Pin<&mut dtPathCorridor>, safeRef: dtPolyRef, safePos: *const f32) -> bool; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour_crowd/path_corridor.rs:55:18 [INFO] [stdout] | [INFO] [stdout] 55 | ) -> bool; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour_crowd/path_corridor.rs:61:18 [INFO] [stdout] | [INFO] [stdout] 61 | ) -> bool; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour_crowd/path_corridor.rs:67:18 [INFO] [stdout] | [INFO] [stdout] 67 | ) -> bool; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour_crowd/path_corridor.rs:73:18 [INFO] [stdout] | [INFO] [stdout] 73 | ) -> bool; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour_crowd/path_corridor.rs:74:119 [INFO] [stdout] | [INFO] [stdout] 74 | unsafe fn setCorridor(self: Pin<&mut dtPathCorridor>, target: *const f32, polys: *const dtPolyRef, npath: i32); [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour_crowd/path_corridor.rs:75:55 [INFO] [stdout] | [INFO] [stdout] 75 | fn getPos(self: &dtPathCorridor) -> *const f32; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour_crowd/path_corridor.rs:76:58 [INFO] [stdout] | [INFO] [stdout] 76 | fn getTarget(self: &dtPathCorridor) -> *const f32; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour_crowd/path_corridor.rs:77:60 [INFO] [stdout] | [INFO] [stdout] 77 | fn getFirstPoly(self: &dtPathCorridor) -> dtPolyRef; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour_crowd/path_corridor.rs:78:59 [INFO] [stdout] | [INFO] [stdout] 78 | fn getLastPoly(self: &dtPathCorridor) -> dtPolyRef; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour_crowd/path_corridor.rs:79:62 [INFO] [stdout] | [INFO] [stdout] 79 | fn getPath(self: &dtPathCorridor) -> *const dtPolyRef; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour_crowd/path_corridor.rs:80:54 [INFO] [stdout] | [INFO] [stdout] 80 | fn getPathCount(self: &dtPathCorridor) -> i32; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour_crowd/path_corridor.rs:88:17 [INFO] [stdout] | [INFO] [stdout] 88 | ) -> i32; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour_crowd/path_corridor.rs:95:17 [INFO] [stdout] | [INFO] [stdout] 95 | ) -> i32; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/detour_crowd/path_corridor.rs:102:17 [INFO] [stdout] | [INFO] [stdout] 102 | ) -> i32; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/recast/recast.rs:92:61 [INFO] [stdout] | [INFO] [stdout] 92 | fn rcNewContext(state: bool) -> UniquePtr; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/recast/recast.rs:93:61 [INFO] [stdout] | [INFO] [stdout] 93 | fn enableLog(self: Pin<&mut rcContext>, state: bool); [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/recast/recast.rs:94:47 [INFO] [stdout] | [INFO] [stdout] 94 | fn resetLog(self: Pin<&mut rcContext>); [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/recast/recast.rs:96:63 [INFO] [stdout] | [INFO] [stdout] 96 | fn enableTimer(self: Pin<&mut rcContext>, state: bool); [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/recast/recast.rs:97:50 [INFO] [stdout] | [INFO] [stdout] 97 | fn resetTimers(self: Pin<&mut rcContext>); [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/recast/recast.rs:98:70 [INFO] [stdout] | [INFO] [stdout] 98 | fn startTimer(self: Pin<&mut rcContext>, label: rcTimerLabel); [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/recast/recast.rs:99:69 [INFO] [stdout] | [INFO] [stdout] 99 | fn stopTimer(self: Pin<&mut rcContext>, label: rcTimerLabel); [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/recast/recast.rs:100:76 [INFO] [stdout] | [INFO] [stdout] 100 | fn getAccumulatedTime(self: &rcContext, label: rcTimerLabel) -> i32; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/recast/recast.rs:108:61 [INFO] [stdout] | [INFO] [stdout] 108 | unsafe fn rcAllocHeightfield() -> *mut rcHeightfield; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/recast/recast.rs:109:69 [INFO] [stdout] | [INFO] [stdout] 109 | unsafe fn rcFreeHeightField(heightfield: *mut rcHeightfield); [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/recast/recast.rs:115:75 [INFO] [stdout] | [INFO] [stdout] 115 | unsafe fn rcAllocCompactHeightfield() -> *mut rcCompactHeightfield; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/recast/recast.rs:116:90 [INFO] [stdout] | [INFO] [stdout] 116 | unsafe fn rcFreeCompactHeightfield(compactHeightfield: *mut rcCompactHeightfield); [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/recast/recast.rs:121:77 [INFO] [stdout] | [INFO] [stdout] 121 | unsafe fn rcAllocHeightfieldLayerSet() -> *mut rcHeightfieldLayerSet; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/recast/recast.rs:122:82 [INFO] [stdout] | [INFO] [stdout] 122 | unsafe fn rcFreeHeightfieldLayerSet(layerSet: *mut rcHeightfieldLayerSet); [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/recast/recast.rs:126:59 [INFO] [stdout] | [INFO] [stdout] 126 | unsafe fn rcAllocContourSet() -> *mut rcContourSet; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/recast/recast.rs:127:66 [INFO] [stdout] | [INFO] [stdout] 127 | unsafe fn rcFreeContourSet(contourSet: *mut rcContourSet); [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/recast/recast.rs:130:55 [INFO] [stdout] | [INFO] [stdout] 130 | unsafe fn rcAllocPolyMesh() -> *mut rcPolyMesh; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/recast/recast.rs:131:60 [INFO] [stdout] | [INFO] [stdout] 131 | unsafe fn rcFreePolyMesh(polyMesh: *mut rcPolyMesh); [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/recast/recast.rs:134:67 [INFO] [stdout] | [INFO] [stdout] 134 | unsafe fn rcAllocPolyMeshDetail() -> *mut rcPolyMeshDetail; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/recast/recast.rs:135:74 [INFO] [stdout] | [INFO] [stdout] 135 | unsafe fn rcFreePolyMeshDetail(detailMesh: *mut rcPolyMeshDetail); [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/recast/recast.rs:141:107 [INFO] [stdout] | [INFO] [stdout] 141 | unsafe fn rcCalcBounds(verts: *const f32, numVerts: i32, minBounds: *mut f32, maxBounds: *mut f32); [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/recast/recast.rs:148:10 [INFO] [stdout] | [INFO] [stdout] 148 | ); [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/recast/recast.rs:158:18 [INFO] [stdout] | [INFO] [stdout] 158 | ) -> bool; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/recast/recast.rs:167:10 [INFO] [stdout] | [INFO] [stdout] 167 | ); [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/recast/recast.rs:176:10 [INFO] [stdout] | [INFO] [stdout] 176 | ); [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/recast/recast.rs:186:18 [INFO] [stdout] | [INFO] [stdout] 186 | ) -> bool; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/recast/recast.rs:195:18 [INFO] [stdout] | [INFO] [stdout] 195 | ) -> bool; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/recast/recast.rs:206:18 [INFO] [stdout] | [INFO] [stdout] 206 | ) -> bool; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/recast/recast.rs:217:18 [INFO] [stdout] | [INFO] [stdout] 217 | ) -> bool; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/recast/recast.rs:226:18 [INFO] [stdout] | [INFO] [stdout] 226 | ) -> bool; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/recast/recast.rs:231:10 [INFO] [stdout] | [INFO] [stdout] 231 | ); [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/recast/recast.rs:237:10 [INFO] [stdout] | [INFO] [stdout] 237 | ); [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/recast/recast.rs:242:10 [INFO] [stdout] | [INFO] [stdout] 242 | ); [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/recast/recast.rs:243:105 [INFO] [stdout] | [INFO] [stdout] 243 | unsafe fn rcGetHeightFieldSpanCount(context: *mut rcContext, heightfield: &rcHeightfield) -> i32; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/recast/recast.rs:250:18 [INFO] [stdout] | [INFO] [stdout] 250 | ) -> bool; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/recast/recast.rs:255:18 [INFO] [stdout] | [INFO] [stdout] 255 | ) -> bool; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/recast/recast.rs:259:18 [INFO] [stdout] | [INFO] [stdout] 259 | ) -> bool; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/recast/recast.rs:266:10 [INFO] [stdout] | [INFO] [stdout] 266 | ); [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/recast/recast.rs:275:10 [INFO] [stdout] | [INFO] [stdout] 275 | ); [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/recast/recast.rs:282:17 [INFO] [stdout] | [INFO] [stdout] 282 | ) -> i32; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/recast/recast.rs:290:10 [INFO] [stdout] | [INFO] [stdout] 290 | ); [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/recast/recast.rs:291:105 [INFO] [stdout] | [INFO] [stdout] 291 | unsafe fn rcBuildDistanceField(ctx: *mut rcContext, chf: Pin<&mut rcCompactHeightfield>) -> bool; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/recast/recast.rs:298:18 [INFO] [stdout] | [INFO] [stdout] 298 | ) -> bool; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/recast/recast.rs:304:18 [INFO] [stdout] | [INFO] [stdout] 304 | ) -> bool; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/recast/recast.rs:311:18 [INFO] [stdout] | [INFO] [stdout] 311 | ) -> bool; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/recast/recast.rs:318:18 [INFO] [stdout] | [INFO] [stdout] 318 | ) -> bool; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/recast/recast.rs:326:18 [INFO] [stdout] | [INFO] [stdout] 326 | ) -> bool; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/recast/recast.rs:332:18 [INFO] [stdout] | [INFO] [stdout] 332 | ) -> bool; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/recast/recast.rs:338:18 [INFO] [stdout] | [INFO] [stdout] 338 | ) -> bool; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/recast/recast.rs:346:18 [INFO] [stdout] | [INFO] [stdout] 346 | ) -> bool; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/recast/recast.rs:347:107 [INFO] [stdout] | [INFO] [stdout] 347 | unsafe fn rcCopyPolyMesh(ctx: *mut rcContext, src: &rcPolyMesh, dst: Pin<&mut rcPolyMesh>) -> bool; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/recast/recast.rs:353:18 [INFO] [stdout] | [INFO] [stdout] 353 | ) -> bool; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/recast/recast.rs:92:60 [INFO] [stdout] | [INFO] [stdout] 92 | fn rcNewContext(state: bool) -> UniquePtr; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::intrinsics::transmute` is unsafe and requires unsafe block [INFO] [stdout] --> src/detour/mesh.rs:694:17 [INFO] [stdout] | [INFO] [stdout] 694 | return (mem::transmute(tile), unsafe { &*poly }); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/detour/mesh.rs:690:5 [INFO] [stdout] | [INFO] [stdout] 690 | pub unsafe fn get_tile_and_poly_by_ref_unsafe(&self, re: DtPolyRef) -> (&DtMeshTile, &DtPoly) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: `--force-warn unsafe-op-in-unsafe-fn` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `detour::mesh::ffi::dtNavMesh::getPolyRefBase` is unsafe and requires unsafe block [INFO] [stdout] --> src/detour/mesh.rs:702:16 [INFO] [stdout] | [INFO] [stdout] 702 | return self.inner().getPolyRefBase(tile.inner()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/detour/mesh.rs:701:5 [INFO] [stdout] | [INFO] [stdout] 701 | pub unsafe fn get_poly_ref_base(&self, tile: &DtMeshTile) -> DtPolyRef { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `detour::mesh::ffi::dtNavMesh::getTileStateSize` is unsafe and requires unsafe block [INFO] [stdout] --> src/detour/mesh.rs:745:16 [INFO] [stdout] | [INFO] [stdout] 745 | return self.inner().getTileStateSize(tile.inner()) as usize; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/detour/mesh.rs:744:5 [INFO] [stdout] | [INFO] [stdout] 744 | pub unsafe fn get_tile_state_size(&self, tile: &DtMeshTile) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `detour::mesh::ffi::dtNavMesh::decodePolyId` is unsafe and requires unsafe block [INFO] [stdout] --> src/detour/mesh.rs:765:9 [INFO] [stdout] | [INFO] [stdout] 765 | self.inner().decodePolyId(re, &mut salt, &mut it, &mut ip); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/detour/mesh.rs:761:5 [INFO] [stdout] | [INFO] [stdout] 761 | pub unsafe fn decode_poly_id(&self, re: DtPolyRef) -> (u32, u32, u32) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 244 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] For more information about this error, try `rustc --explain E0133`. [INFO] [stdout] [INFO] [stderr] Fixed tests/tile_mesh.rs (1 fix) [INFO] [stderr] Migrating tests/query.rs from 2021 edition to 2024 [INFO] [stderr] Migrating tests/solo_mesh.rs from 2021 edition to 2024 [INFO] [stderr] warning: failed to automatically apply fixes suggested by rustc to crate `query` [INFO] [stderr] [INFO] [stderr] after fixes were automatically applied the compiler reported errors within these files: [INFO] [stderr] [INFO] [stderr] * tests/query.rs [INFO] [stderr] [INFO] [stderr] This likely indicates a bug in either rustc or cargo itself, [INFO] [stderr] and we would appreciate a bug report! You're likely to see [INFO] [stderr] a number of compiler warnings after this message which cargo [INFO] [stderr] attempted to fix but failed. If you could open an issue at [INFO] [stderr] https://github.com/rust-lang/rust/issues [INFO] [stderr] quoting the full output of this command we'd be very appreciative! [INFO] [stderr] Note that you may be able to make some more progress in the near-term [INFO] [stderr] fixing code with the `--broken-code` flag [INFO] [stderr] [INFO] [stderr] The following errors were reported: [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> tests/query.rs:69:19 [INFO] [stderr] | [INFO] [stderr] 69 | ($func:ident, $folder:expr_2021, $name:expr_2021, $points:expr_2021) => { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> tests/query.rs:69:38 [INFO] [stderr] | [INFO] [stderr] 69 | ($func:ident, $folder:expr_2021, $name:expr_2021, $points:expr_2021) => { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> tests/query.rs:69:55 [INFO] [stderr] | [INFO] [stderr] 69 | ($func:ident, $folder:expr_2021, $name:expr_2021, $points:expr_2021) => { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error: aborting due to 3 previous errors [INFO] [stderr] [INFO] [stderr] For more information about this error, try `rustc --explain E0658`. [INFO] [stderr] Original diagnostics will follow. [INFO] [stderr] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> tests/query.rs:69:27 [INFO] [stdout] | [INFO] [stdout] 69 | ($func:ident, $folder:expr, $name:expr, $points:expr) => { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] = note: `--force-warn edition-2024-expr-fragment-specifier` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 69 | ($func:ident, $folder:expr_2021, $name:expr, $points:expr) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> tests/query.rs:69:39 [INFO] [stdout] | [INFO] [stdout] 69 | ($func:ident, $folder:expr, $name:expr, $points:expr) => { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 69 | ($func:ident, $folder:expr, $name:expr_2021, $points:expr) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> tests/query.rs:69:53 [INFO] [stdout] | [INFO] [stdout] 69 | ($func:ident, $folder:expr, $name:expr, $points:expr) => { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 69 | ($func:ident, $folder:expr, $name:expr, $points:expr_2021) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> tests/query.rs:263:12 [INFO] [stdout] | [INFO] [stdout] 263 | if let Ok(height) = query.get_poly_height(path[count - 1], &hit_pos) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^-----^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> tests/query.rs:265:9 [INFO] [stdout] | [INFO] [stdout] 265 | } [INFO] [stdout] | ^ [INFO] [stdout] = note: `--force-warn if-let-rescope` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 263 ~ match query.get_poly_height(path[count - 1], &hit_pos) { Ok(height) => { [INFO] [stdout] 264 | hit_pos[1] = height; [INFO] [stdout] 265 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 4 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Migrating tests/warnings.rs from 2021 edition to 2024 [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 15.16s [INFO] [stderr] Running `cargo check` to verify 2024 [INFO] [stderr] Compiling recastnavigation-rs v0.1.0 (/tmp/fixit) [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> src/demo/demo.rs:19:79 [INFO] [stdout] | [INFO] [stdout] 19 | fn load(self: Pin<&mut rcMeshLoaderObj>, fileName: &CxxString) -> bool; [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> src/demo/demo.rs:20:62 [INFO] [stdout] | [INFO] [stdout] 20 | fn rcNewMeshLoaderObj() -> UniquePtr; [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> src/demo/demo.rs:21:58 [INFO] [stdout] | [INFO] [stdout] 21 | fn getVerts(self: &rcMeshLoaderObj) -> *const f32; [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> src/demo/demo.rs:22:60 [INFO] [stdout] | [INFO] [stdout] 22 | fn getNormals(self: &rcMeshLoaderObj) -> *const f32; [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> src/demo/demo.rs:23:57 [INFO] [stdout] | [INFO] [stdout] 23 | fn getTris(self: &rcMeshLoaderObj) -> *const i32; [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> src/demo/demo.rs:24:55 [INFO] [stdout] | [INFO] [stdout] 24 | fn getVertCount(self: &rcMeshLoaderObj) -> i32; [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> src/demo/demo.rs:25:54 [INFO] [stdout] | [INFO] [stdout] 25 | fn getTriCount(self: &rcMeshLoaderObj) -> i32; [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> src/demo/demo.rs:26:61 [INFO] [stdout] | [INFO] [stdout] 26 | fn getFileName(self: &rcMeshLoaderObj) -> &CxxString; [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> src/demo/demo.rs:28:60 [INFO] [stdout] | [INFO] [stdout] 28 | unsafe fn loadNavMesh(path: &str) -> *mut dtNavMesh; [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> src/demo/demo.rs:29:66 [INFO] [stdout] | [INFO] [stdout] 29 | unsafe fn saveNavMesh(mesh: *const dtNavMesh, path: &str); [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> src/demo/demo.rs:34:54 [INFO] [stdout] | [INFO] [stdout] 34 | unsafe fn rcctm_new() -> *mut rcChunkyTriMesh; [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> src/demo/demo.rs:35:57 [INFO] [stdout] | [INFO] [stdout] 35 | unsafe fn rcctm_delete(cm: *mut rcChunkyTriMesh); [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> src/demo/demo.rs:42:18 [INFO] [stdout] | [INFO] [stdout] 42 | ) -> bool; [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> src/demo/demo.rs:49:17 [INFO] [stdout] | [INFO] [stdout] 49 | ) -> i32; [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> src/demo/demo.rs:56:17 [INFO] [stdout] | [INFO] [stdout] 56 | ) -> i32; [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> src/demo/demo.rs:20:61 [INFO] [stdout] | [INFO] [stdout] 20 | fn rcNewMeshLoaderObj() -> UniquePtr; [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> src/detour/base.rs:21:43 [INFO] [stdout] | [INFO] [stdout] 21 | unsafe fn dtFree(ptr: *mut c_void); [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> src/detour/builder.rs:21:18 [INFO] [stdout] | [INFO] [stdout] 21 | ) -> bool; [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> src/detour/builder.rs:22:82 [INFO] [stdout] | [INFO] [stdout] 22 | unsafe fn dtNavMeshHeaderSwapEndian(data: *mut u8, dataSize: i32) -> bool; [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> src/detour/builder.rs:23:80 [INFO] [stdout] | [INFO] [stdout] 23 | unsafe fn dtNavMeshDataSwapEndian(data: *mut u8, dataSize: i32) -> bool; [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> src/demo/demo.rs:19:79 [INFO] [stdout] | [INFO] [stdout] 19 | fn load(self: Pin<&mut rcMeshLoaderObj>, fileName: &CxxString) -> bool; [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> src/demo/demo.rs:20:62 [INFO] [stdout] | [INFO] [stdout] 20 | fn rcNewMeshLoaderObj() -> UniquePtr; [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> src/detour/mesh.rs:49:54 [INFO] [stdout] | [INFO] [stdout] 49 | fn dtp_setArea(poly: Pin<&mut dtPoly>, a: u8); [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> src/demo/demo.rs:21:58 [INFO] [stdout] | [INFO] [stdout] 21 | fn getVerts(self: &rcMeshLoaderObj) -> *const f32; [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> src/detour/mesh.rs:50:54 [INFO] [stdout] | [INFO] [stdout] 50 | fn dtp_setType(poly: Pin<&mut dtPoly>, t: u8); [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> src/demo/demo.rs:22:60 [INFO] [stdout] | [INFO] [stdout] 22 | fn getNormals(self: &rcMeshLoaderObj) -> *const f32; [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> src/detour/mesh.rs:51:44 [INFO] [stdout] | [INFO] [stdout] 51 | fn dtp_getArea(poly: &dtPoly) -> u8; [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> src/demo/demo.rs:23:57 [INFO] [stdout] | [INFO] [stdout] 23 | fn getTris(self: &rcMeshLoaderObj) -> *const i32; [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> src/demo/demo.rs:24:55 [INFO] [stdout] | [INFO] [stdout] 24 | fn getVertCount(self: &rcMeshLoaderObj) -> i32; [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> src/detour/mesh.rs:52:44 [INFO] [stdout] | [INFO] [stdout] 52 | fn dtp_getType(poly: &dtPoly) -> u8; [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> src/demo/demo.rs:25:54 [INFO] [stdout] | [INFO] [stdout] 25 | fn getTriCount(self: &rcMeshLoaderObj) -> i32; [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> src/detour/mesh.rs:63:72 [INFO] [stdout] | [INFO] [stdout] 63 | fn dtGetDetailTriEdgeFlags(triFlags: u8, edgeIndex: i32) -> i32; [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> src/demo/demo.rs:26:61 [INFO] [stdout] | [INFO] [stdout] 26 | fn getFileName(self: &rcMeshLoaderObj) -> &CxxString; [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> src/detour/mesh.rs:66:46 [INFO] [stdout] | [INFO] [stdout] 66 | fn dtAllocNavMesh() -> *mut dtNavMesh; [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> src/detour/mesh.rs:67:53 [INFO] [stdout] | [INFO] [stdout] 67 | unsafe fn dtFreeNavMesh(ptr: *mut dtNavMesh); [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> src/demo/demo.rs:28:60 [INFO] [stdout] | [INFO] [stdout] 28 | unsafe fn loadNavMesh(path: &str) -> *mut dtNavMesh; [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> src/demo/demo.rs:29:66 [INFO] [stdout] | [INFO] [stdout] 29 | unsafe fn saveNavMesh(mesh: *const dtNavMesh, path: &str); [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> src/demo/demo.rs:34:54 [INFO] [stdout] | [INFO] [stdout] 34 | unsafe fn rcctm_new() -> *mut rcChunkyTriMesh; [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> src/detour/mesh.rs:69:94 [INFO] [stdout] | [INFO] [stdout] 69 | unsafe fn init(self: Pin<&mut dtNavMesh>, params: *const dtNavMeshParams) -> dtStatus; [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> src/demo/demo.rs:35:57 [INFO] [stdout] | [INFO] [stdout] 35 | unsafe fn rcctm_delete(cm: *mut rcChunkyTriMesh); [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> src/demo/demo.rs:42:18 [INFO] [stdout] | [INFO] [stdout] 42 | ) -> bool; [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> src/detour/mesh.rs:71:104 [INFO] [stdout] | [INFO] [stdout] 71 | unsafe fn init(self: Pin<&mut dtNavMesh>, data: *mut u8, dataSize: i32, flags: i32) -> dtStatus; [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> src/demo/demo.rs:49:17 [INFO] [stdout] | [INFO] [stdout] 49 | ) -> i32; [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> src/detour/mesh.rs:72:65 [INFO] [stdout] | [INFO] [stdout] 72 | fn getParams(self: &dtNavMesh) -> *const dtNavMeshParams; [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> src/demo/demo.rs:56:17 [INFO] [stdout] | [INFO] [stdout] 56 | ) -> i32; [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> src/detour/mesh.rs:80:22 [INFO] [stdout] | [INFO] [stdout] 80 | ) -> dtStatus; [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> src/detour/mesh.rs:86:22 [INFO] [stdout] | [INFO] [stdout] 86 | ) -> dtStatus; [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> src/demo/demo.rs:20:61 [INFO] [stdout] | [INFO] [stdout] 20 | fn rcNewMeshLoaderObj() -> UniquePtr; [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> src/detour/mesh.rs:87:93 [INFO] [stdout] | [INFO] [stdout] 87 | unsafe fn calcTileLoc(self: &dtNavMesh, pos: *const f32, tx: *mut i32, ty: *mut i32); [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> src/detour/base.rs:21:43 [INFO] [stdout] | [INFO] [stdout] 21 | unsafe fn dtFree(ptr: *mut c_void); [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> src/detour/mesh.rs:88:95 [INFO] [stdout] | [INFO] [stdout] 88 | unsafe fn getTileAt(self: &dtNavMesh, x: i32, y: i32, layer: i32) -> *const dtMeshTile; [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> src/detour/builder.rs:21:18 [INFO] [stdout] | [INFO] [stdout] 21 | ) -> bool; [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> src/detour/mesh.rs:89:116 [INFO] [stdout] | [INFO] [stdout] 89 | unsafe fn getTilesAt(self: &dtNavMesh, x: i32, y: i32, tiles: *mut *const dtMeshTile, maxTiles: i32) -> i32; [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> src/detour/builder.rs:22:82 [INFO] [stdout] | [INFO] [stdout] 22 | unsafe fn dtNavMeshHeaderSwapEndian(data: *mut u8, dataSize: i32) -> bool; [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> src/detour/mesh.rs:90:83 [INFO] [stdout] | [INFO] [stdout] 90 | fn getTileRefAt(self: &dtNavMesh, x: i32, y: i32, layer: i32) -> dtTileRef; [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> src/detour/mesh.rs:91:85 [INFO] [stdout] | [INFO] [stdout] 91 | unsafe fn getTileRef(self: &dtNavMesh, tile: *const dtMeshTile) -> dtTileRef; [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> src/detour/builder.rs:23:80 [INFO] [stdout] | [INFO] [stdout] 23 | unsafe fn dtNavMeshDataSwapEndian(data: *mut u8, dataSize: i32) -> bool; [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> src/detour/mesh.rs:92:85 [INFO] [stdout] | [INFO] [stdout] 92 | unsafe fn getTileByRef(self: &dtNavMesh, re: dtTileRef) -> *const dtMeshTile; [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> src/detour/mesh.rs:49:54 [INFO] [stdout] | [INFO] [stdout] 49 | fn dtp_setArea(poly: Pin<&mut dtPoly>, a: u8); [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> src/detour/mesh.rs:93:48 [INFO] [stdout] | [INFO] [stdout] 93 | fn getMaxTiles(self: &dtNavMesh) -> i32; [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> src/detour/mesh.rs:50:54 [INFO] [stdout] | [INFO] [stdout] 50 | fn dtp_setType(poly: Pin<&mut dtPoly>, t: u8); [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> src/detour/mesh.rs:94:73 [INFO] [stdout] | [INFO] [stdout] 94 | unsafe fn getTile(self: &dtNavMesh, i: i32) -> *const dtMeshTile; [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> src/detour/mesh.rs:51:44 [INFO] [stdout] | [INFO] [stdout] 51 | fn dtp_getArea(poly: &dtPoly) -> u8; [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> src/detour/mesh.rs:100:22 [INFO] [stdout] | [INFO] [stdout] 100 | ) -> dtStatus; [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> src/detour/mesh.rs:52:44 [INFO] [stdout] | [INFO] [stdout] 52 | fn dtp_getType(poly: &dtPoly) -> u8; [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> src/detour/mesh.rs:106:10 [INFO] [stdout] | [INFO] [stdout] 106 | ); [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> src/detour/mesh.rs:63:72 [INFO] [stdout] | [INFO] [stdout] 63 | fn dtGetDetailTriEdgeFlags(triFlags: u8, edgeIndex: i32) -> i32; [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> src/detour/mesh.rs:107:67 [INFO] [stdout] | [INFO] [stdout] 107 | fn isValidPolyRef(self: &dtNavMesh, re: dtPolyRef) -> bool; [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> src/detour/mesh.rs:66:46 [INFO] [stdout] | [INFO] [stdout] 66 | fn dtAllocNavMesh() -> *mut dtNavMesh; [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> src/detour/mesh.rs:67:53 [INFO] [stdout] | [INFO] [stdout] 67 | unsafe fn dtFreeNavMesh(ptr: *mut dtNavMesh); [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> src/detour/mesh.rs:108:89 [INFO] [stdout] | [INFO] [stdout] 108 | unsafe fn getPolyRefBase(self: &dtNavMesh, tile: *const dtMeshTile) -> dtPolyRef; [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> src/detour/mesh.rs:69:94 [INFO] [stdout] | [INFO] [stdout] 69 | unsafe fn init(self: Pin<&mut dtNavMesh>, params: *const dtNavMeshParams) -> dtStatus; [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> src/detour/mesh.rs:115:22 [INFO] [stdout] | [INFO] [stdout] 115 | ) -> dtStatus; [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> src/detour/mesh.rs:116:100 [INFO] [stdout] | [INFO] [stdout] 116 | fn getOffMeshConnectionByRef(self: &dtNavMesh, re: dtPolyRef) -> *const dtOffMeshConnection; [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> src/detour/mesh.rs:71:104 [INFO] [stdout] | [INFO] [stdout] 71 | unsafe fn init(self: Pin<&mut dtNavMesh>, data: *mut u8, dataSize: i32, flags: i32) -> dtStatus; [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> src/detour/mesh.rs:117:90 [INFO] [stdout] | [INFO] [stdout] 117 | fn setPolyFlags(self: Pin<&mut dtNavMesh>, re: dtPolyRef, flags: u16) -> dtStatus; [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> src/detour/mesh.rs:72:65 [INFO] [stdout] | [INFO] [stdout] 72 | fn getParams(self: &dtNavMesh) -> *const dtNavMeshParams; [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> src/detour/mesh.rs:80:22 [INFO] [stdout] | [INFO] [stdout] 80 | ) -> dtStatus; [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> src/detour/mesh.rs:118:99 [INFO] [stdout] | [INFO] [stdout] 118 | unsafe fn getPolyFlags(self: &dtNavMesh, re: dtPolyRef, resultFlags: *mut u16) -> dtStatus; [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> src/detour/mesh.rs:86:22 [INFO] [stdout] | [INFO] [stdout] 86 | ) -> dtStatus; [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> src/detour/mesh.rs:119:87 [INFO] [stdout] | [INFO] [stdout] 119 | fn setPolyArea(self: Pin<&mut dtNavMesh>, re: dtPolyRef, area: u8) -> dtStatus; [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> src/detour/mesh.rs:87:93 [INFO] [stdout] | [INFO] [stdout] 87 | unsafe fn calcTileLoc(self: &dtNavMesh, pos: *const f32, tx: *mut i32, ty: *mut i32); [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> src/detour/mesh.rs:120:96 [INFO] [stdout] | [INFO] [stdout] 120 | unsafe fn getPolyArea(self: &dtNavMesh, re: dtPolyRef, resultArea: *mut u8) -> dtStatus; [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> src/detour/mesh.rs:88:95 [INFO] [stdout] | [INFO] [stdout] 88 | unsafe fn getTileAt(self: &dtNavMesh, x: i32, y: i32, layer: i32) -> *const dtMeshTile; [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> src/detour/mesh.rs:121:85 [INFO] [stdout] | [INFO] [stdout] 121 | unsafe fn getTileStateSize(self: &dtNavMesh, tile: *const dtMeshTile) -> i32; [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> src/detour/mesh.rs:89:116 [INFO] [stdout] | [INFO] [stdout] 89 | unsafe fn getTilesAt(self: &dtNavMesh, x: i32, y: i32, tiles: *mut *const dtMeshTile, maxTiles: i32) -> i32; [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> src/detour/mesh.rs:90:83 [INFO] [stdout] | [INFO] [stdout] 90 | fn getTileRefAt(self: &dtNavMesh, x: i32, y: i32, layer: i32) -> dtTileRef; [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> src/detour/mesh.rs:122:84 [INFO] [stdout] | [INFO] [stdout] 122 | fn encodePolyId(self: &dtNavMesh, salt: u32, it: u32, ip: u32) -> dtPolyRef; [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> src/detour/mesh.rs:91:85 [INFO] [stdout] | [INFO] [stdout] 91 | unsafe fn getTileRef(self: &dtNavMesh, tile: *const dtMeshTile) -> dtTileRef; [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> src/detour/mesh.rs:123:108 [INFO] [stdout] | [INFO] [stdout] 123 | unsafe fn decodePolyId(self: &dtNavMesh, re: dtPolyRef, salt: &mut u32, it: &mut u32, ip: &mut u32); [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> src/detour/mesh.rs:92:85 [INFO] [stdout] | [INFO] [stdout] 92 | unsafe fn getTileByRef(self: &dtNavMesh, re: dtTileRef) -> *const dtMeshTile; [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> src/detour/mesh.rs:124:68 [INFO] [stdout] | [INFO] [stdout] 124 | fn decodePolyIdSalt(self: &dtNavMesh, re: dtPolyRef) -> u32; [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> src/detour/mesh.rs:93:48 [INFO] [stdout] | [INFO] [stdout] 93 | fn getMaxTiles(self: &dtNavMesh) -> i32; [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> src/detour/mesh.rs:94:73 [INFO] [stdout] | [INFO] [stdout] 94 | unsafe fn getTile(self: &dtNavMesh, i: i32) -> *const dtMeshTile; [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> src/detour/mesh.rs:125:68 [INFO] [stdout] | [INFO] [stdout] 125 | fn decodePolyIdTile(self: &dtNavMesh, re: dtPolyRef) -> u32; [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> src/detour/mesh.rs:126:68 [INFO] [stdout] | [INFO] [stdout] 126 | fn decodePolyIdPoly(self: &dtNavMesh, re: dtPolyRef) -> u32; [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> src/detour/mesh.rs:127:119 [INFO] [stdout] | [INFO] [stdout] 127 | unsafe fn dtmt_storeTileState(navMesh: &dtNavMesh, re: dtTileRef, data: *mut u8, maxDataSize: i32) -> dtStatus; [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> src/detour/mesh.rs:100:22 [INFO] [stdout] | [INFO] [stdout] 100 | ) -> dtStatus; [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> src/detour/mesh.rs:133:22 [INFO] [stdout] | [INFO] [stdout] 133 | ) -> dtStatus; [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> src/detour/mesh.rs:106:10 [INFO] [stdout] | [INFO] [stdout] 106 | ); [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> src/detour/query.rs:49:18 [INFO] [stdout] | [INFO] [stdout] 49 | ) -> bool; [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> src/detour/mesh.rs:107:67 [INFO] [stdout] | [INFO] [stdout] 107 | fn isValidPolyRef(self: &dtNavMesh, re: dtPolyRef) -> bool; [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> src/detour/query.rs:63:17 [INFO] [stdout] | [INFO] [stdout] 63 | ) -> f32; [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> src/detour/mesh.rs:108:89 [INFO] [stdout] | [INFO] [stdout] 108 | unsafe fn getPolyRefBase(self: &dtNavMesh, tile: *const dtMeshTile) -> dtPolyRef; [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> src/detour/query.rs:68:60 [INFO] [stdout] | [INFO] [stdout] 68 | pub fn dtAllocNavMeshQuery() -> *mut dtNavMeshQuery; [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> src/detour/mesh.rs:115:22 [INFO] [stdout] | [INFO] [stdout] 115 | ) -> dtStatus; [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> src/detour/query.rs:69:69 [INFO] [stdout] | [INFO] [stdout] 69 | pub unsafe fn dtFreeNavMeshQuery(query: *mut dtNavMeshQuery); [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> src/detour/mesh.rs:116:100 [INFO] [stdout] | [INFO] [stdout] 116 | fn getOffMeshConnectionByRef(self: &dtNavMesh, re: dtPolyRef) -> *const dtOffMeshConnection; [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> src/detour/query.rs:71:109 [INFO] [stdout] | [INFO] [stdout] 71 | pub unsafe fn init(self: Pin<&mut dtNavMeshQuery>, nav: *const dtNavMesh, maxNodes: i32) -> dtStatus; [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> src/detour/mesh.rs:117:90 [INFO] [stdout] | [INFO] [stdout] 117 | fn setPolyFlags(self: Pin<&mut dtNavMesh>, re: dtPolyRef, flags: u16) -> dtStatus; [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> src/detour/query.rs:82:22 [INFO] [stdout] | [INFO] [stdout] 82 | ) -> dtStatus; [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> src/detour/mesh.rs:118:99 [INFO] [stdout] | [INFO] [stdout] 118 | unsafe fn getPolyFlags(self: &dtNavMesh, re: dtPolyRef, resultFlags: *mut u16) -> dtStatus; [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> src/detour/query.rs:95:22 [INFO] [stdout] | [INFO] [stdout] 95 | ) -> dtStatus; [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> src/detour/mesh.rs:119:87 [INFO] [stdout] | [INFO] [stdout] 119 | fn setPolyArea(self: Pin<&mut dtNavMesh>, re: dtPolyRef, area: u8) -> dtStatus; [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> src/detour/query.rs:104:22 [INFO] [stdout] | [INFO] [stdout] 104 | ) -> dtStatus; [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> src/detour/mesh.rs:120:96 [INFO] [stdout] | [INFO] [stdout] 120 | unsafe fn getPolyArea(self: &dtNavMesh, re: dtPolyRef, resultArea: *mut u8) -> dtStatus; [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> src/detour/query.rs:109:22 [INFO] [stdout] | [INFO] [stdout] 109 | ) -> dtStatus; [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> src/detour/mesh.rs:121:85 [INFO] [stdout] | [INFO] [stdout] 121 | unsafe fn getTileStateSize(self: &dtNavMesh, tile: *const dtMeshTile) -> i32; [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> src/detour/query.rs:115:22 [INFO] [stdout] | [INFO] [stdout] 115 | ) -> dtStatus; [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> src/detour/mesh.rs:122:84 [INFO] [stdout] | [INFO] [stdout] 122 | fn encodePolyId(self: &dtNavMesh, salt: u32, it: u32, ip: u32) -> dtPolyRef; [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> src/detour/query.rs:123:22 [INFO] [stdout] | [INFO] [stdout] 123 | ) -> dtStatus; [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> src/detour/mesh.rs:123:108 [INFO] [stdout] | [INFO] [stdout] 123 | unsafe fn decodePolyId(self: &dtNavMesh, re: dtPolyRef, salt: &mut u32, it: &mut u32, ip: &mut u32); [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> src/detour/query.rs:135:22 [INFO] [stdout] | [INFO] [stdout] 135 | ) -> dtStatus; [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> src/detour/mesh.rs:124:68 [INFO] [stdout] | [INFO] [stdout] 124 | fn decodePolyIdSalt(self: &dtNavMesh, re: dtPolyRef) -> u32; [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> src/detour/query.rs:147:22 [INFO] [stdout] | [INFO] [stdout] 147 | ) -> dtStatus; [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> src/detour/query.rs:154:22 [INFO] [stdout] | [INFO] [stdout] 154 | ) -> dtStatus; [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> src/detour/mesh.rs:125:68 [INFO] [stdout] | [INFO] [stdout] 125 | fn decodePolyIdTile(self: &dtNavMesh, re: dtPolyRef) -> u32; [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> src/detour/query.rs:163:22 [INFO] [stdout] | [INFO] [stdout] 163 | ) -> dtStatus; [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> src/detour/mesh.rs:126:68 [INFO] [stdout] | [INFO] [stdout] 126 | fn decodePolyIdPoly(self: &dtNavMesh, re: dtPolyRef) -> u32; [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> src/detour/query.rs:173:22 [INFO] [stdout] | [INFO] [stdout] 173 | ) -> dtStatus; [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> src/detour/mesh.rs:127:119 [INFO] [stdout] | [INFO] [stdout] 127 | unsafe fn dtmt_storeTileState(navMesh: &dtNavMesh, re: dtTileRef, data: *mut u8, maxDataSize: i32) -> dtStatus; [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> src/detour/query.rs:182:22 [INFO] [stdout] | [INFO] [stdout] 182 | ) -> dtStatus; [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> src/detour/mesh.rs:133:22 [INFO] [stdout] | [WARN] too many lines in the log, truncating it