[INFO] fetching crate cgl-rs 0.1.7... [INFO] checking cgl-rs-0.1.7 against try#ccf408f4326a858c00dd845a64a86b16f360a801 for pr-129466-2 [INFO] extracting crate cgl-rs 0.1.7 into /workspace/builds/worker-5-tc2/source [INFO] validating manifest of crates.io crate cgl-rs 0.1.7 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 cgl-rs 0.1.7 [INFO] finished tweaking crates.io crate cgl-rs 0.1.7 [INFO] tweaked toml for crates.io crate cgl-rs 0.1.7 written to /workspace/builds/worker-5-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 1 package to latest compatible version [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-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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] 5a15f3fcd570299f2f104a4ae7e60fd0a5810ddf067cc03810babbfde8821299 [INFO] running `Command { std: "docker" "start" "-a" "5a15f3fcd570299f2f104a4ae7e60fd0a5810ddf067cc03810babbfde8821299", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "5a15f3fcd570299f2f104a4ae7e60fd0a5810ddf067cc03810babbfde8821299", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "5a15f3fcd570299f2f104a4ae7e60fd0a5810ddf067cc03810babbfde8821299", kill_on_drop: false }` [INFO] [stdout] 5a15f3fcd570299f2f104a4ae7e60fd0a5810ddf067cc03810babbfde8821299 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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] c7b07795e54962ce4284e988ab2d4f4d9d547ae4f6e20681b73d73eaa6d376e8 [INFO] running `Command { std: "docker" "start" "-a" "c7b07795e54962ce4284e988ab2d4f4d9d547ae4f6e20681b73d73eaa6d376e8", 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 cgl-rs v0.1.7 (/tmp/fixit) [INFO] [stderr] Migrating src/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 `cgl_rs` [INFO] [stderr] [INFO] [stderr] after fixes were automatically applied the compiler reported errors within these files: [INFO] [stderr] [INFO] [stderr] * src/macros.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] --> src/macros.rs:6:21 [INFO] [stderr] | [INFO] [stderr] 6 | ($vector:ident, $n: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 1 previous error [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] --> src/macros.rs:6:24 [INFO] [stdout] | [INFO] [stdout] 6 | ($vector:ident, $n: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] 6 | ($vector:ident, $n:expr_2021) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/utils.rs:8:1 [INFO] [stdout] | [INFO] [stdout] 8 | extern { [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | _help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | | [INFO] [stdout] 9 | | fn CGL_utils_sleep(milis: size_t) -> c_void; [INFO] [stdout] 10 | | fn CGL_utils_read_file(path: *const c_char, size: *mut size_t) -> *mut c_char; [INFO] [stdout] 11 | | fn CGL_utils_get_file_size(path: *const c_char) -> size_t; [INFO] [stdout] ... | [INFO] [stdout] 36 | | fn CGL_utils_random_bool_MACRO() -> c_int; [INFO] [stdout] 37 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in 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/math/activations.rs:6:1 [INFO] [stdout] | [INFO] [stdout] 6 | extern { [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | _help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | | [INFO] [stdout] 7 | | [INFO] [stdout] 8 | | // the activation functions [INFO] [stdout] 9 | | fn CGL_utils_sigmoid(x: c_float) -> c_float; [INFO] [stdout] ... | [INFO] [stdout] 20 | | fn CGL_utils_relu_smooth_derivative(x: c_float) -> c_float; [INFO] [stdout] 21 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/math/matrix.rs:23:1 [INFO] [stdout] | [INFO] [stdout] 23 | extern { [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | _help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | | [INFO] [stdout] 24 | | fn CGL_mat3_det(m: &Matrix3x3) -> f32; [INFO] [stdout] 25 | | fn CGL_mat3_transpose(m: &Matrix3x3) -> Matrix3x3; [INFO] [stdout] 26 | | fn CGL_mat3_trace(m: &Matrix3x3) -> f32; [INFO] [stdout] ... | [INFO] [stdout] 54 | | fn CGL_mat4_decompose_lu(m: &Matrix4x4, l: *mut Matrix4x4, u: *mut Matrix4x4) -> std::ffi::c_void; [INFO] [stdout] 55 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/graphics/framebuffer.rs:12:1 [INFO] [stdout] | [INFO] [stdout] 12 | extern { [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | _help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | | [INFO] [stdout] 13 | | fn CGL_framebuffer_create_from_default(window: *mut crate::window::CGL_window) -> *mut CGL_framebuffer; [INFO] [stdout] 14 | | fn CGL_framebuffer_create(width: c_int, height: c_int) -> *mut CGL_framebuffer; [INFO] [stdout] 15 | | fn CGL_framebuffer_create_basic(width: c_int, height: c_int) -> *mut CGL_framebuffer; [INFO] [stdout] ... | [INFO] [stdout] 26 | | fn CGL_framebuffer_get_depth_texture(framebuffer: *mut CGL_framebuffer) -> *mut super::texture::CGL_texture; [INFO] [stdout] 27 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/graphics/texture.rs:108:1 [INFO] [stdout] | [INFO] [stdout] 108 | extern { [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | _help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | | [INFO] [stdout] 109 | | fn CGL_texture_create(image: *mut CGL_image) -> *mut CGL_texture; [INFO] [stdout] 110 | | fn CGL_texture_create_blank(width: c_int, height: c_int, format: c_uint, internal_format: c_uint, data_type: c_uint) -> *mut CGL_text... [INFO] [stdout] 111 | | fn CGL_texture_create_array(width: c_int, height: c_int, layers: c_int, format: c_uint, internal_format: c_uint, data_type: c_uint) -... [INFO] [stdout] ... | [INFO] [stdout] 126 | | fn CGL_texture_set_wrapping_method(texture: *mut CGL_texture, method: c_int); [INFO] [stdout] 127 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/graphics/shader.rs:12:1 [INFO] [stdout] | [INFO] [stdout] 12 | extern { [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | _help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | | [INFO] [stdout] 13 | | fn CGL_shader_create(vertex_shader_source: *const c_char, fragment_shader_source: *const c_char, error: *mut *mut c_char) -> *mut CGL_... [INFO] [stdout] 14 | | fn CGL_shader_compute_create(compute_shader_source: *const c_char, error: *mut *mut c_char) -> *mut CGL_shader; [INFO] [stdout] 15 | | fn CGL_shader_create_from_files(vertex_shader_file: *const c_char, fragment_shader_file: *const c_char, error: *mut *mut c_char) -> *m... [INFO] [stdout] ... | [INFO] [stdout] 36 | | fn CGL_shader_compute_dispatch(shader: *mut CGL_shader, x: c_int, y: c_int, z: c_int) -> (); [INFO] [stdout] 37 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/graphics/ssbo.rs:23:1 [INFO] [stdout] | [INFO] [stdout] 23 | extern { [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | _help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | | [INFO] [stdout] 24 | | fn CGL_ssbo_create(binding: u32) -> *mut CGL_ssbo; [INFO] [stdout] 25 | | fn CGL_ssbo_destroy(ssbo: *mut CGL_ssbo); [INFO] [stdout] 26 | | fn CGL_ssbo_bind(ssbo: *mut CGL_ssbo); [INFO] [stdout] ... | [INFO] [stdout] 35 | | fn CGL_ssbo_copy(dst: *mut CGL_ssbo, src: *mut CGL_ssbo, src_offset: size_t, dst_offset: size_t, size: size_t); [INFO] [stdout] 36 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/graphics/mesh.rs:46:1 [INFO] [stdout] | [INFO] [stdout] 46 | extern { [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | _help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | | [INFO] [stdout] 47 | | fn CGL_mesh_cpu_create(vertex_count: size_t, index_count: size_t) -> *mut MeshCPU_C; [INFO] [stdout] 48 | | fn CGL_mesh_cpu_recalculate_normals(mesh: *mut MeshCPU_C) -> *mut MeshCPU_C; [INFO] [stdout] 49 | | fn CGL_mesh_cpu_load_obj(path: *const c_char) -> *mut MeshCPU_C; [INFO] [stdout] ... | [INFO] [stdout] 74 | | fn CGL_mesh_gpu_upload(mesh: *mut CGL_mesh_gpu, mesh_cpu: *mut MeshCPU_C, static_draw: c_int); // upload mesh from (cpu) to (gpu) [INFO] [stdout] 75 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/graphics/bloom.rs:14:1 [INFO] [stdout] | [INFO] [stdout] 14 | extern { [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | _help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | | [INFO] [stdout] 15 | | fn CGL_bloom_create(width: c_int, height: c_int, iterations: c_int) -> *mut CGL_bloom; [INFO] [stdout] 16 | | fn CGL_bloom_destroy(bloom: *mut CGL_bloom) -> c_void; [INFO] [stdout] 17 | | fn CGL_bloom_set_threshold(bloom: *mut CGL_bloom, val: c_float) -> c_void; [INFO] [stdout] ... | [INFO] [stdout] 26 | | fn CGL_bloom_get_prefiltered_texture(bloom: *mut CGL_bloom) -> *mut CGL_texture; [INFO] [stdout] 27 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/graphics/tilemap.rs:15:1 [INFO] [stdout] | [INFO] [stdout] 15 | extern { [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | _help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | | [INFO] [stdout] 16 | | fn CGL_tilemap_create(tile_count_x: c_uint, tile_count_y: c_uint, tile_size_x: c_uint, tile_size_y: c_uint, ssbo_binding: c_uint) -> ... [INFO] [stdout] 17 | | fn CGL_tilemap_destroy(tilemap: *mut CGL_tilemap) -> c_void; [INFO] [stdout] 18 | | fn CGL_tilemap_set_auto_upload(tilemap: *mut CGL_tilemap, value: c_int) -> c_void; [INFO] [stdout] ... | [INFO] [stdout] 30 | | fn CGL_tilemap_reset(tilemap: *mut CGL_tilemap) -> c_void; [INFO] [stdout] 31 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/graphics/text.rs:29:1 [INFO] [stdout] | [INFO] [stdout] 29 | extern { [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | _help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | | [INFO] [stdout] 30 | | fn CGL_text_init() -> c_int; [INFO] [stdout] 31 | | fn CGL_text_shutdown() -> c_void; [INFO] [stdout] 32 | | fn CGL_font_load(path: *const c_char) -> *mut CGL_font; [INFO] [stdout] ... | [INFO] [stdout] 38 | | fn CGL_text_bake_to_texture(string: *const c_char, string_length: size_t, font: *mut CGL_font, width: *mut size_t, height: *mut size_... [INFO] [stdout] 39 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/graphics/widgets.rs:31:1 [INFO] [stdout] | [INFO] [stdout] 31 | extern { [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | _help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | | [INFO] [stdout] 32 | | /* [INFO] [stdout] 33 | | fn CGL_widgets_context_create(max_vertices: size_t, max_indices: size_t) -> *mut CGL_widgets_context; [INFO] [stdout] 34 | | fn CGL_widgets_context_destroy(context: *mut CGL_widgets_context) -> c_void; [INFO] [stdout] ... | [INFO] [stdout] 112 | | [INFO] [stdout] 113 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/graphics.rs:33:1 [INFO] [stdout] | [INFO] [stdout] 33 | extern { [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | _help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | | [INFO] [stdout] 34 | | fn CGL_gl_init() -> c_int; [INFO] [stdout] 35 | | fn CGL_gl_shutdown() -> c_void; [INFO] [stdout] 36 | | fn CGL_gl_clear(r: c_float, g: c_float, b: c_float, a: c_float) -> c_void; [INFO] [stdout] 37 | | fn CGL_gl_render_screen_quad() -> c_void; [INFO] [stdout] 38 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/logger.rs:13:1 [INFO] [stdout] | [INFO] [stdout] 13 | extern { [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | _help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | | [INFO] [stdout] 14 | | fn CGL_console_set_color(color: c_uchar) -> c_void; [INFO] [stdout] 15 | | [INFO] [stdout] 16 | | fn CGL_printf_red(log_format: *const c_char, ...) -> c_void; [INFO] [stdout] ... | [INFO] [stdout] 32 | | fn CGL_logger_log(level: c_int, log_format: *const c_char, ...) -> c_void; [INFO] [stdout] 33 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/noise.rs:40:1 [INFO] [stdout] | [INFO] [stdout] 40 | extern { [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | _help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | | [INFO] [stdout] 41 | | fn CGL_noise_init(); [INFO] [stdout] 42 | | fn CGL_noise_shutdown(); [INFO] [stdout] 43 | | fn CGL_noise_perlin(x: NoiseDataType, y: NoiseDataType, z: NoiseDataType) -> NoiseDataType; [INFO] [stdout] ... | [INFO] [stdout] 50 | | fn CGL_noise_get(params: *const NoiseParams, x: NoiseDataType, y: NoiseDataType, z: NoiseDataType) -> NoiseDataType; [INFO] [stdout] 51 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/window.rs:29:1 [INFO] [stdout] | [INFO] [stdout] 29 | extern { [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | _help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | | [INFO] [stdout] 30 | | fn CGL_window_create(width: c_int, height: c_int, title: *const c_char) -> *mut CGL_window; [INFO] [stdout] 31 | | fn CGL_window_create_undecorated(width: c_int, height: c_int, title: *const c_char) -> *mut CGL_window; [INFO] [stdout] 32 | | fn CGL_window_destroy(window: *mut CGL_window) -> c_void; [INFO] [stdout] ... | [INFO] [stdout] 63 | | fn CGL_utils_sleep(duration: usize) -> c_void; // temporary [INFO] [stdout] 64 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/lib.rs:29:1 [INFO] [stdout] | [INFO] [stdout] 29 | extern { [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | _help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | | [INFO] [stdout] 30 | | fn CGL_init() -> c_int; [INFO] [stdout] 31 | | fn CGL_shutdown() -> c_void; [INFO] [stdout] 32 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 18 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] warning: failed to automatically apply fixes suggested by rustc to crate `cgl_rs` [INFO] [stderr] [INFO] [stderr] after fixes were automatically applied the compiler reported errors within these files: [INFO] [stderr] [INFO] [stderr] * src/macros.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] --> src/macros.rs:6:21 [INFO] [stderr] | [INFO] [stderr] 6 | ($vector:ident, $n: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 1 previous error [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] --> src/macros.rs:6:24 [INFO] [stdout] | [INFO] [stdout] 6 | ($vector:ident, $n: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] 6 | ($vector:ident, $n:expr_2021) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/utils.rs:8:1 [INFO] [stdout] | [INFO] [stdout] 8 | extern { [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | _help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | | [INFO] [stdout] 9 | | fn CGL_utils_sleep(milis: size_t) -> c_void; [INFO] [stdout] 10 | | fn CGL_utils_read_file(path: *const c_char, size: *mut size_t) -> *mut c_char; [INFO] [stdout] 11 | | fn CGL_utils_get_file_size(path: *const c_char) -> size_t; [INFO] [stdout] ... | [INFO] [stdout] 36 | | fn CGL_utils_random_bool_MACRO() -> c_int; [INFO] [stdout] 37 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in 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/math/activations.rs:6:1 [INFO] [stdout] | [INFO] [stdout] 6 | extern { [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | _help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | | [INFO] [stdout] 7 | | [INFO] [stdout] 8 | | // the activation functions [INFO] [stdout] 9 | | fn CGL_utils_sigmoid(x: c_float) -> c_float; [INFO] [stdout] ... | [INFO] [stdout] 20 | | fn CGL_utils_relu_smooth_derivative(x: c_float) -> c_float; [INFO] [stdout] 21 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/math/matrix.rs:23:1 [INFO] [stdout] | [INFO] [stdout] 23 | extern { [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | _help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | | [INFO] [stdout] 24 | | fn CGL_mat3_det(m: &Matrix3x3) -> f32; [INFO] [stdout] 25 | | fn CGL_mat3_transpose(m: &Matrix3x3) -> Matrix3x3; [INFO] [stdout] 26 | | fn CGL_mat3_trace(m: &Matrix3x3) -> f32; [INFO] [stdout] ... | [INFO] [stdout] 54 | | fn CGL_mat4_decompose_lu(m: &Matrix4x4, l: *mut Matrix4x4, u: *mut Matrix4x4) -> std::ffi::c_void; [INFO] [stdout] 55 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/graphics/framebuffer.rs:12:1 [INFO] [stdout] | [INFO] [stdout] 12 | extern { [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | _help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | | [INFO] [stdout] 13 | | fn CGL_framebuffer_create_from_default(window: *mut crate::window::CGL_window) -> *mut CGL_framebuffer; [INFO] [stdout] 14 | | fn CGL_framebuffer_create(width: c_int, height: c_int) -> *mut CGL_framebuffer; [INFO] [stdout] 15 | | fn CGL_framebuffer_create_basic(width: c_int, height: c_int) -> *mut CGL_framebuffer; [INFO] [stdout] ... | [INFO] [stdout] 26 | | fn CGL_framebuffer_get_depth_texture(framebuffer: *mut CGL_framebuffer) -> *mut super::texture::CGL_texture; [INFO] [stdout] 27 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/graphics/texture.rs:108:1 [INFO] [stdout] | [INFO] [stdout] 108 | extern { [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | _help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | | [INFO] [stdout] 109 | | fn CGL_texture_create(image: *mut CGL_image) -> *mut CGL_texture; [INFO] [stdout] 110 | | fn CGL_texture_create_blank(width: c_int, height: c_int, format: c_uint, internal_format: c_uint, data_type: c_uint) -> *mut CGL_text... [INFO] [stdout] 111 | | fn CGL_texture_create_array(width: c_int, height: c_int, layers: c_int, format: c_uint, internal_format: c_uint, data_type: c_uint) -... [INFO] [stdout] ... | [INFO] [stdout] 126 | | fn CGL_texture_set_wrapping_method(texture: *mut CGL_texture, method: c_int); [INFO] [stdout] 127 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/graphics/shader.rs:12:1 [INFO] [stdout] | [INFO] [stdout] 12 | extern { [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | _help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | | [INFO] [stdout] 13 | | fn CGL_shader_create(vertex_shader_source: *const c_char, fragment_shader_source: *const c_char, error: *mut *mut c_char) -> *mut CGL_... [INFO] [stdout] 14 | | fn CGL_shader_compute_create(compute_shader_source: *const c_char, error: *mut *mut c_char) -> *mut CGL_shader; [INFO] [stdout] 15 | | fn CGL_shader_create_from_files(vertex_shader_file: *const c_char, fragment_shader_file: *const c_char, error: *mut *mut c_char) -> *m... [INFO] [stdout] ... | [INFO] [stdout] 36 | | fn CGL_shader_compute_dispatch(shader: *mut CGL_shader, x: c_int, y: c_int, z: c_int) -> (); [INFO] [stdout] 37 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/graphics/ssbo.rs:23:1 [INFO] [stdout] | [INFO] [stdout] 23 | extern { [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | _help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | | [INFO] [stdout] 24 | | fn CGL_ssbo_create(binding: u32) -> *mut CGL_ssbo; [INFO] [stdout] 25 | | fn CGL_ssbo_destroy(ssbo: *mut CGL_ssbo); [INFO] [stdout] 26 | | fn CGL_ssbo_bind(ssbo: *mut CGL_ssbo); [INFO] [stdout] ... | [INFO] [stdout] 35 | | fn CGL_ssbo_copy(dst: *mut CGL_ssbo, src: *mut CGL_ssbo, src_offset: size_t, dst_offset: size_t, size: size_t); [INFO] [stdout] 36 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/graphics/mesh.rs:46:1 [INFO] [stdout] | [INFO] [stdout] 46 | extern { [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | _help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | | [INFO] [stdout] 47 | | fn CGL_mesh_cpu_create(vertex_count: size_t, index_count: size_t) -> *mut MeshCPU_C; [INFO] [stdout] 48 | | fn CGL_mesh_cpu_recalculate_normals(mesh: *mut MeshCPU_C) -> *mut MeshCPU_C; [INFO] [stdout] 49 | | fn CGL_mesh_cpu_load_obj(path: *const c_char) -> *mut MeshCPU_C; [INFO] [stdout] ... | [INFO] [stdout] 74 | | fn CGL_mesh_gpu_upload(mesh: *mut CGL_mesh_gpu, mesh_cpu: *mut MeshCPU_C, static_draw: c_int); // upload mesh from (cpu) to (gpu) [INFO] [stdout] 75 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/graphics/bloom.rs:14:1 [INFO] [stdout] | [INFO] [stdout] 14 | extern { [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | _help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | | [INFO] [stdout] 15 | | fn CGL_bloom_create(width: c_int, height: c_int, iterations: c_int) -> *mut CGL_bloom; [INFO] [stdout] 16 | | fn CGL_bloom_destroy(bloom: *mut CGL_bloom) -> c_void; [INFO] [stdout] 17 | | fn CGL_bloom_set_threshold(bloom: *mut CGL_bloom, val: c_float) -> c_void; [INFO] [stdout] ... | [INFO] [stdout] 26 | | fn CGL_bloom_get_prefiltered_texture(bloom: *mut CGL_bloom) -> *mut CGL_texture; [INFO] [stdout] 27 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/graphics/tilemap.rs:15:1 [INFO] [stdout] | [INFO] [stdout] 15 | extern { [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | _help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | | [INFO] [stdout] 16 | | fn CGL_tilemap_create(tile_count_x: c_uint, tile_count_y: c_uint, tile_size_x: c_uint, tile_size_y: c_uint, ssbo_binding: c_uint) -> ... [INFO] [stdout] 17 | | fn CGL_tilemap_destroy(tilemap: *mut CGL_tilemap) -> c_void; [INFO] [stdout] 18 | | fn CGL_tilemap_set_auto_upload(tilemap: *mut CGL_tilemap, value: c_int) -> c_void; [INFO] [stdout] ... | [INFO] [stdout] 30 | | fn CGL_tilemap_reset(tilemap: *mut CGL_tilemap) -> c_void; [INFO] [stdout] 31 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/graphics/text.rs:29:1 [INFO] [stdout] | [INFO] [stdout] 29 | extern { [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | _help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | | [INFO] [stdout] 30 | | fn CGL_text_init() -> c_int; [INFO] [stdout] 31 | | fn CGL_text_shutdown() -> c_void; [INFO] [stdout] 32 | | fn CGL_font_load(path: *const c_char) -> *mut CGL_font; [INFO] [stdout] ... | [INFO] [stdout] 38 | | fn CGL_text_bake_to_texture(string: *const c_char, string_length: size_t, font: *mut CGL_font, width: *mut size_t, height: *mut size_... [INFO] [stdout] 39 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/graphics/widgets.rs:31:1 [INFO] [stdout] | [INFO] [stdout] 31 | extern { [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | _help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | | [INFO] [stdout] 32 | | /* [INFO] [stdout] 33 | | fn CGL_widgets_context_create(max_vertices: size_t, max_indices: size_t) -> *mut CGL_widgets_context; [INFO] [stdout] 34 | | fn CGL_widgets_context_destroy(context: *mut CGL_widgets_context) -> c_void; [INFO] [stdout] ... | [INFO] [stdout] 112 | | [INFO] [stdout] 113 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/graphics.rs:33:1 [INFO] [stdout] | [INFO] [stdout] 33 | extern { [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | _help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | | [INFO] [stdout] 34 | | fn CGL_gl_init() -> c_int; [INFO] [stdout] 35 | | fn CGL_gl_shutdown() -> c_void; [INFO] [stdout] 36 | | fn CGL_gl_clear(r: c_float, g: c_float, b: c_float, a: c_float) -> c_void; [INFO] [stdout] 37 | | fn CGL_gl_render_screen_quad() -> c_void; [INFO] [stdout] 38 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/logger.rs:13:1 [INFO] [stdout] | [INFO] [stdout] 13 | extern { [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | _help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | | [INFO] [stdout] 14 | | fn CGL_console_set_color(color: c_uchar) -> c_void; [INFO] [stdout] 15 | | [INFO] [stdout] 16 | | fn CGL_printf_red(log_format: *const c_char, ...) -> c_void; [INFO] [stdout] ... | [INFO] [stdout] 32 | | fn CGL_logger_log(level: c_int, log_format: *const c_char, ...) -> c_void; [INFO] [stdout] 33 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/noise.rs:40:1 [INFO] [stdout] | [INFO] [stdout] 40 | extern { [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | _help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | | [INFO] [stdout] 41 | | fn CGL_noise_init(); [INFO] [stdout] 42 | | fn CGL_noise_shutdown(); [INFO] [stdout] 43 | | fn CGL_noise_perlin(x: NoiseDataType, y: NoiseDataType, z: NoiseDataType) -> NoiseDataType; [INFO] [stdout] ... | [INFO] [stdout] 50 | | fn CGL_noise_get(params: *const NoiseParams, x: NoiseDataType, y: NoiseDataType, z: NoiseDataType) -> NoiseDataType; [INFO] [stdout] 51 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/window.rs:29:1 [INFO] [stdout] | [INFO] [stdout] 29 | extern { [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | _help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | | [INFO] [stdout] 30 | | fn CGL_window_create(width: c_int, height: c_int, title: *const c_char) -> *mut CGL_window; [INFO] [stdout] 31 | | fn CGL_window_create_undecorated(width: c_int, height: c_int, title: *const c_char) -> *mut CGL_window; [INFO] [stdout] 32 | | fn CGL_window_destroy(window: *mut CGL_window) -> c_void; [INFO] [stdout] ... | [INFO] [stdout] 63 | | fn CGL_utils_sleep(duration: usize) -> c_void; // temporary [INFO] [stdout] 64 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/lib.rs:29:1 [INFO] [stdout] | [INFO] [stdout] 29 | extern { [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | _help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | | [INFO] [stdout] 30 | | fn CGL_init() -> c_int; [INFO] [stdout] 31 | | fn CGL_shutdown() -> c_void; [INFO] [stdout] 32 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 18 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 1.54s [INFO] [stderr] Running `cargo check` to verify 2024 [INFO] [stderr] Compiling cgl-rs v0.1.7 (/tmp/fixit) [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> src/utils.rs:8:1 [INFO] [stdout] | [INFO] [stdout] 8 | / extern { [INFO] [stdout] 9 | | fn CGL_utils_sleep(milis: size_t) -> c_void; [INFO] [stdout] 10 | | fn CGL_utils_read_file(path: *const c_char, size: *mut size_t) -> *mut c_char; [INFO] [stdout] 11 | | fn CGL_utils_get_file_size(path: *const c_char) -> size_t; [INFO] [stdout] ... | [INFO] [stdout] 36 | | fn CGL_utils_random_bool_MACRO() -> c_int; [INFO] [stdout] 37 | | } [INFO] [stdout] | |_^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> src/math/activations.rs:6:1 [INFO] [stdout] | [INFO] [stdout] 6 | / extern { [INFO] [stdout] 7 | | [INFO] [stdout] 8 | | // the activation functions [INFO] [stdout] 9 | | fn CGL_utils_sigmoid(x: c_float) -> c_float; [INFO] [stdout] ... | [INFO] [stdout] 20 | | fn CGL_utils_relu_smooth_derivative(x: c_float) -> c_float; [INFO] [stdout] 21 | | } [INFO] [stdout] | |_^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> src/math/matrix.rs:23:1 [INFO] [stdout] | [INFO] [stdout] 23 | / extern { [INFO] [stdout] 24 | | fn CGL_mat3_det(m: &Matrix3x3) -> f32; [INFO] [stdout] 25 | | fn CGL_mat3_transpose(m: &Matrix3x3) -> Matrix3x3; [INFO] [stdout] 26 | | fn CGL_mat3_trace(m: &Matrix3x3) -> f32; [INFO] [stdout] ... | [INFO] [stdout] 54 | | fn CGL_mat4_decompose_lu(m: &Matrix4x4, l: *mut Matrix4x4, u: *mut Matrix4x4) -> std::ffi::c_void; [INFO] [stdout] 55 | | } [INFO] [stdout] | |_^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> src/graphics/framebuffer.rs:12:1 [INFO] [stdout] | [INFO] [stdout] 12 | / extern { [INFO] [stdout] 13 | | fn CGL_framebuffer_create_from_default(window: *mut crate::window::CGL_window) -> *mut CGL_framebuffer; [INFO] [stdout] 14 | | fn CGL_framebuffer_create(width: c_int, height: c_int) -> *mut CGL_framebuffer; [INFO] [stdout] 15 | | fn CGL_framebuffer_create_basic(width: c_int, height: c_int) -> *mut CGL_framebuffer; [INFO] [stdout] ... | [INFO] [stdout] 26 | | fn CGL_framebuffer_get_depth_texture(framebuffer: *mut CGL_framebuffer) -> *mut super::texture::CGL_texture; [INFO] [stdout] 27 | | } [INFO] [stdout] | |_^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> src/graphics/texture.rs:108:1 [INFO] [stdout] | [INFO] [stdout] 108 | / extern { [INFO] [stdout] 109 | | fn CGL_texture_create(image: *mut CGL_image) -> *mut CGL_texture; [INFO] [stdout] 110 | | fn CGL_texture_create_blank(width: c_int, height: c_int, format: c_uint, internal_format: c_uint, data_type: c_uint) -> *mut CGL_text... [INFO] [stdout] 111 | | fn CGL_texture_create_array(width: c_int, height: c_int, layers: c_int, format: c_uint, internal_format: c_uint, data_type: c_uint) -... [INFO] [stdout] ... | [INFO] [stdout] 126 | | fn CGL_texture_set_wrapping_method(texture: *mut CGL_texture, method: c_int); [INFO] [stdout] 127 | | } [INFO] [stdout] | |_^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> src/graphics/shader.rs:12:1 [INFO] [stdout] | [INFO] [stdout] 12 | / extern { [INFO] [stdout] 13 | | fn CGL_shader_create(vertex_shader_source: *const c_char, fragment_shader_source: *const c_char, error: *mut *mut c_char) -> *mut CGL_... [INFO] [stdout] 14 | | fn CGL_shader_compute_create(compute_shader_source: *const c_char, error: *mut *mut c_char) -> *mut CGL_shader; [INFO] [stdout] 15 | | fn CGL_shader_create_from_files(vertex_shader_file: *const c_char, fragment_shader_file: *const c_char, error: *mut *mut c_char) -> *m... [INFO] [stdout] ... | [INFO] [stdout] 36 | | fn CGL_shader_compute_dispatch(shader: *mut CGL_shader, x: c_int, y: c_int, z: c_int) -> (); [INFO] [stdout] 37 | | } [INFO] [stdout] | |_^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> src/graphics/ssbo.rs:23:1 [INFO] [stdout] | [INFO] [stdout] 23 | / extern { [INFO] [stdout] 24 | | fn CGL_ssbo_create(binding: u32) -> *mut CGL_ssbo; [INFO] [stdout] 25 | | fn CGL_ssbo_destroy(ssbo: *mut CGL_ssbo); [INFO] [stdout] 26 | | fn CGL_ssbo_bind(ssbo: *mut CGL_ssbo); [INFO] [stdout] ... | [INFO] [stdout] 35 | | fn CGL_ssbo_copy(dst: *mut CGL_ssbo, src: *mut CGL_ssbo, src_offset: size_t, dst_offset: size_t, size: size_t); [INFO] [stdout] 36 | | } [INFO] [stdout] | |_^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> src/graphics/mesh.rs:46:1 [INFO] [stdout] | [INFO] [stdout] 46 | / extern { [INFO] [stdout] 47 | | fn CGL_mesh_cpu_create(vertex_count: size_t, index_count: size_t) -> *mut MeshCPU_C; [INFO] [stdout] 48 | | fn CGL_mesh_cpu_recalculate_normals(mesh: *mut MeshCPU_C) -> *mut MeshCPU_C; [INFO] [stdout] 49 | | fn CGL_mesh_cpu_load_obj(path: *const c_char) -> *mut MeshCPU_C; [INFO] [stdout] ... | [INFO] [stdout] 74 | | fn CGL_mesh_gpu_upload(mesh: *mut CGL_mesh_gpu, mesh_cpu: *mut MeshCPU_C, static_draw: c_int); // upload mesh from (cpu) to (gpu) [INFO] [stdout] 75 | | } [INFO] [stdout] | |_^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> src/graphics/bloom.rs:14:1 [INFO] [stdout] | [INFO] [stdout] 14 | / extern { [INFO] [stdout] 15 | | fn CGL_bloom_create(width: c_int, height: c_int, iterations: c_int) -> *mut CGL_bloom; [INFO] [stdout] 16 | | fn CGL_bloom_destroy(bloom: *mut CGL_bloom) -> c_void; [INFO] [stdout] 17 | | fn CGL_bloom_set_threshold(bloom: *mut CGL_bloom, val: c_float) -> c_void; [INFO] [stdout] ... | [INFO] [stdout] 26 | | fn CGL_bloom_get_prefiltered_texture(bloom: *mut CGL_bloom) -> *mut CGL_texture; [INFO] [stdout] 27 | | } [INFO] [stdout] | |_^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> src/graphics/tilemap.rs:15:1 [INFO] [stdout] | [INFO] [stdout] 15 | / extern { [INFO] [stdout] 16 | | fn CGL_tilemap_create(tile_count_x: c_uint, tile_count_y: c_uint, tile_size_x: c_uint, tile_size_y: c_uint, ssbo_binding: c_uint) -> ... [INFO] [stdout] 17 | | fn CGL_tilemap_destroy(tilemap: *mut CGL_tilemap) -> c_void; [INFO] [stdout] 18 | | fn CGL_tilemap_set_auto_upload(tilemap: *mut CGL_tilemap, value: c_int) -> c_void; [INFO] [stdout] ... | [INFO] [stdout] 30 | | fn CGL_tilemap_reset(tilemap: *mut CGL_tilemap) -> c_void; [INFO] [stdout] 31 | | } [INFO] [stdout] | |_^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> src/graphics/text.rs:29:1 [INFO] [stdout] | [INFO] [stdout] 29 | / extern { [INFO] [stdout] 30 | | fn CGL_text_init() -> c_int; [INFO] [stdout] 31 | | fn CGL_text_shutdown() -> c_void; [INFO] [stdout] 32 | | fn CGL_font_load(path: *const c_char) -> *mut CGL_font; [INFO] [stdout] ... | [INFO] [stdout] 38 | | fn CGL_text_bake_to_texture(string: *const c_char, string_length: size_t, font: *mut CGL_font, width: *mut size_t, height: *mut size_... [INFO] [stdout] 39 | | } [INFO] [stdout] | |_^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> src/graphics/widgets.rs:31:1 [INFO] [stdout] | [INFO] [stdout] 31 | / extern { [INFO] [stdout] 32 | | /* [INFO] [stdout] 33 | | fn CGL_widgets_context_create(max_vertices: size_t, max_indices: size_t) -> *mut CGL_widgets_context; [INFO] [stdout] 34 | | fn CGL_widgets_context_destroy(context: *mut CGL_widgets_context) -> c_void; [INFO] [stdout] ... | [INFO] [stdout] 112 | | [INFO] [stdout] 113 | | } [INFO] [stdout] | |_^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> src/graphics.rs:33:1 [INFO] [stdout] | [INFO] [stdout] 33 | / extern { [INFO] [stdout] 34 | | fn CGL_gl_init() -> c_int; [INFO] [stdout] 35 | | fn CGL_gl_shutdown() -> c_void; [INFO] [stdout] 36 | | fn CGL_gl_clear(r: c_float, g: c_float, b: c_float, a: c_float) -> c_void; [INFO] [stdout] 37 | | fn CGL_gl_render_screen_quad() -> c_void; [INFO] [stdout] 38 | | } [INFO] [stdout] | |_^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> src/logger.rs:13:1 [INFO] [stdout] | [INFO] [stdout] 13 | / extern { [INFO] [stdout] 14 | | fn CGL_console_set_color(color: c_uchar) -> c_void; [INFO] [stdout] 15 | | [INFO] [stdout] 16 | | fn CGL_printf_red(log_format: *const c_char, ...) -> c_void; [INFO] [stdout] ... | [INFO] [stdout] 32 | | fn CGL_logger_log(level: c_int, log_format: *const c_char, ...) -> c_void; [INFO] [stdout] 33 | | } [INFO] [stdout] | |_^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> src/noise.rs:40:1 [INFO] [stdout] | [INFO] [stdout] 40 | / extern { [INFO] [stdout] 41 | | fn CGL_noise_init(); [INFO] [stdout] 42 | | fn CGL_noise_shutdown(); [INFO] [stdout] 43 | | fn CGL_noise_perlin(x: NoiseDataType, y: NoiseDataType, z: NoiseDataType) -> NoiseDataType; [INFO] [stdout] ... | [INFO] [stdout] 50 | | fn CGL_noise_get(params: *const NoiseParams, x: NoiseDataType, y: NoiseDataType, z: NoiseDataType) -> NoiseDataType; [INFO] [stdout] 51 | | } [INFO] [stdout] | |_^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> src/window.rs:29:1 [INFO] [stdout] | [INFO] [stdout] 29 | / extern { [INFO] [stdout] 30 | | fn CGL_window_create(width: c_int, height: c_int, title: *const c_char) -> *mut CGL_window; [INFO] [stdout] 31 | | fn CGL_window_create_undecorated(width: c_int, height: c_int, title: *const c_char) -> *mut CGL_window; [INFO] [stdout] 32 | | fn CGL_window_destroy(window: *mut CGL_window) -> c_void; [INFO] [stdout] ... | [INFO] [stdout] 63 | | fn CGL_utils_sleep(duration: usize) -> c_void; // temporary [INFO] [stdout] 64 | | } [INFO] [stdout] | |_^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> src/lib.rs:29:1 [INFO] [stdout] | [INFO] [stdout] 29 | / extern { [INFO] [stdout] 30 | | fn CGL_init() -> c_int; [INFO] [stdout] 31 | | fn CGL_shutdown() -> c_void; [INFO] [stdout] 32 | | } [INFO] [stdout] | |_^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> src/utils.rs:8:1 [INFO] [stdout] | [INFO] [stdout] 8 | / extern { [INFO] [stdout] 9 | | fn CGL_utils_sleep(milis: size_t) -> c_void; [INFO] [stdout] 10 | | fn CGL_utils_read_file(path: *const c_char, size: *mut size_t) -> *mut c_char; [INFO] [stdout] 11 | | fn CGL_utils_get_file_size(path: *const c_char) -> size_t; [INFO] [stdout] ... | [INFO] [stdout] 36 | | fn CGL_utils_random_bool_MACRO() -> c_int; [INFO] [stdout] 37 | | } [INFO] [stdout] | |_^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> src/math/activations.rs:6:1 [INFO] [stdout] | [INFO] [stdout] 6 | / extern { [INFO] [stdout] 7 | | [INFO] [stdout] 8 | | // the activation functions [INFO] [stdout] 9 | | fn CGL_utils_sigmoid(x: c_float) -> c_float; [INFO] [stdout] ... | [INFO] [stdout] 20 | | fn CGL_utils_relu_smooth_derivative(x: c_float) -> c_float; [INFO] [stdout] 21 | | } [INFO] [stdout] | |_^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> src/math/matrix.rs:23:1 [INFO] [stdout] | [INFO] [stdout] 23 | / extern { [INFO] [stdout] 24 | | fn CGL_mat3_det(m: &Matrix3x3) -> f32; [INFO] [stdout] 25 | | fn CGL_mat3_transpose(m: &Matrix3x3) -> Matrix3x3; [INFO] [stdout] 26 | | fn CGL_mat3_trace(m: &Matrix3x3) -> f32; [INFO] [stdout] ... | [INFO] [stdout] 54 | | fn CGL_mat4_decompose_lu(m: &Matrix4x4, l: *mut Matrix4x4, u: *mut Matrix4x4) -> std::ffi::c_void; [INFO] [stdout] 55 | | } [INFO] [stdout] | |_^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> src/graphics/framebuffer.rs:12:1 [INFO] [stdout] | [INFO] [stdout] 12 | / extern { [INFO] [stdout] 13 | | fn CGL_framebuffer_create_from_default(window: *mut crate::window::CGL_window) -> *mut CGL_framebuffer; [INFO] [stdout] 14 | | fn CGL_framebuffer_create(width: c_int, height: c_int) -> *mut CGL_framebuffer; [INFO] [stdout] 15 | | fn CGL_framebuffer_create_basic(width: c_int, height: c_int) -> *mut CGL_framebuffer; [INFO] [stdout] ... | [INFO] [stdout] 26 | | fn CGL_framebuffer_get_depth_texture(framebuffer: *mut CGL_framebuffer) -> *mut super::texture::CGL_texture; [INFO] [stdout] 27 | | } [INFO] [stdout] | |_^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> src/graphics/texture.rs:108:1 [INFO] [stdout] | [INFO] [stdout] 108 | / extern { [INFO] [stdout] 109 | | fn CGL_texture_create(image: *mut CGL_image) -> *mut CGL_texture; [INFO] [stdout] 110 | | fn CGL_texture_create_blank(width: c_int, height: c_int, format: c_uint, internal_format: c_uint, data_type: c_uint) -> *mut CGL_text... [INFO] [stdout] 111 | | fn CGL_texture_create_array(width: c_int, height: c_int, layers: c_int, format: c_uint, internal_format: c_uint, data_type: c_uint) -... [INFO] [stdout] ... | [INFO] [stdout] 126 | | fn CGL_texture_set_wrapping_method(texture: *mut CGL_texture, method: c_int); [INFO] [stdout] 127 | | } [INFO] [stdout] | |_^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> src/graphics/shader.rs:12:1 [INFO] [stdout] | [INFO] [stdout] 12 | / extern { [INFO] [stdout] 13 | | fn CGL_shader_create(vertex_shader_source: *const c_char, fragment_shader_source: *const c_char, error: *mut *mut c_char) -> *mut CGL_... [INFO] [stdout] 14 | | fn CGL_shader_compute_create(compute_shader_source: *const c_char, error: *mut *mut c_char) -> *mut CGL_shader; [INFO] [stdout] 15 | | fn CGL_shader_create_from_files(vertex_shader_file: *const c_char, fragment_shader_file: *const c_char, error: *mut *mut c_char) -> *m... [INFO] [stdout] ... | [INFO] [stdout] 36 | | fn CGL_shader_compute_dispatch(shader: *mut CGL_shader, x: c_int, y: c_int, z: c_int) -> (); [INFO] [stdout] 37 | | } [INFO] [stdout] | |_^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> src/graphics/ssbo.rs:23:1 [INFO] [stdout] | [INFO] [stdout] 23 | / extern { [INFO] [stdout] 24 | | fn CGL_ssbo_create(binding: u32) -> *mut CGL_ssbo; [INFO] [stdout] 25 | | fn CGL_ssbo_destroy(ssbo: *mut CGL_ssbo); [INFO] [stdout] 26 | | fn CGL_ssbo_bind(ssbo: *mut CGL_ssbo); [INFO] [stdout] ... | [INFO] [stdout] 35 | | fn CGL_ssbo_copy(dst: *mut CGL_ssbo, src: *mut CGL_ssbo, src_offset: size_t, dst_offset: size_t, size: size_t); [INFO] [stdout] 36 | | } [INFO] [stdout] | |_^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> src/graphics/mesh.rs:46:1 [INFO] [stdout] | [INFO] [stdout] 46 | / extern { [INFO] [stdout] 47 | | fn CGL_mesh_cpu_create(vertex_count: size_t, index_count: size_t) -> *mut MeshCPU_C; [INFO] [stdout] 48 | | fn CGL_mesh_cpu_recalculate_normals(mesh: *mut MeshCPU_C) -> *mut MeshCPU_C; [INFO] [stdout] 49 | | fn CGL_mesh_cpu_load_obj(path: *const c_char) -> *mut MeshCPU_C; [INFO] [stdout] ... | [INFO] [stdout] 74 | | fn CGL_mesh_gpu_upload(mesh: *mut CGL_mesh_gpu, mesh_cpu: *mut MeshCPU_C, static_draw: c_int); // upload mesh from (cpu) to (gpu) [INFO] [stdout] 75 | | } [INFO] [stdout] | |_^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> src/graphics/bloom.rs:14:1 [INFO] [stdout] | [INFO] [stdout] 14 | / extern { [INFO] [stdout] 15 | | fn CGL_bloom_create(width: c_int, height: c_int, iterations: c_int) -> *mut CGL_bloom; [INFO] [stdout] 16 | | fn CGL_bloom_destroy(bloom: *mut CGL_bloom) -> c_void; [INFO] [stdout] 17 | | fn CGL_bloom_set_threshold(bloom: *mut CGL_bloom, val: c_float) -> c_void; [INFO] [stdout] ... | [INFO] [stdout] 26 | | fn CGL_bloom_get_prefiltered_texture(bloom: *mut CGL_bloom) -> *mut CGL_texture; [INFO] [stdout] 27 | | } [INFO] [stdout] | |_^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> src/graphics/tilemap.rs:15:1 [INFO] [stdout] | [INFO] [stdout] 15 | / extern { [INFO] [stdout] 16 | | fn CGL_tilemap_create(tile_count_x: c_uint, tile_count_y: c_uint, tile_size_x: c_uint, tile_size_y: c_uint, ssbo_binding: c_uint) -> ... [INFO] [stdout] 17 | | fn CGL_tilemap_destroy(tilemap: *mut CGL_tilemap) -> c_void; [INFO] [stdout] 18 | | fn CGL_tilemap_set_auto_upload(tilemap: *mut CGL_tilemap, value: c_int) -> c_void; [INFO] [stdout] ... | [INFO] [stdout] 30 | | fn CGL_tilemap_reset(tilemap: *mut CGL_tilemap) -> c_void; [INFO] [stdout] 31 | | } [INFO] [stdout] | |_^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> src/graphics/text.rs:29:1 [INFO] [stdout] | [INFO] [stdout] 29 | / extern { [INFO] [stdout] 30 | | fn CGL_text_init() -> c_int; [INFO] [stdout] 31 | | fn CGL_text_shutdown() -> c_void; [INFO] [stdout] 32 | | fn CGL_font_load(path: *const c_char) -> *mut CGL_font; [INFO] [stdout] ... | [INFO] [stdout] 38 | | fn CGL_text_bake_to_texture(string: *const c_char, string_length: size_t, font: *mut CGL_font, width: *mut size_t, height: *mut size_... [INFO] [stdout] 39 | | } [INFO] [stdout] | |_^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> src/graphics/widgets.rs:31:1 [INFO] [stdout] | [INFO] [stdout] 31 | / extern { [INFO] [stdout] 32 | | /* [INFO] [stdout] 33 | | fn CGL_widgets_context_create(max_vertices: size_t, max_indices: size_t) -> *mut CGL_widgets_context; [INFO] [stdout] 34 | | fn CGL_widgets_context_destroy(context: *mut CGL_widgets_context) -> c_void; [INFO] [stdout] ... | [INFO] [stdout] 112 | | [INFO] [stdout] 113 | | } [INFO] [stdout] | |_^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> src/graphics.rs:33:1 [INFO] [stdout] | [INFO] [stdout] 33 | / extern { [INFO] [stdout] 34 | | fn CGL_gl_init() -> c_int; [INFO] [stdout] 35 | | fn CGL_gl_shutdown() -> c_void; [INFO] [stdout] 36 | | fn CGL_gl_clear(r: c_float, g: c_float, b: c_float, a: c_float) -> c_void; [INFO] [stdout] 37 | | fn CGL_gl_render_screen_quad() -> c_void; [INFO] [stdout] 38 | | } [INFO] [stdout] | |_^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> src/logger.rs:13:1 [INFO] [stdout] | [INFO] [stdout] 13 | / extern { [INFO] [stdout] 14 | | fn CGL_console_set_color(color: c_uchar) -> c_void; [INFO] [stdout] 15 | | [INFO] [stdout] 16 | | fn CGL_printf_red(log_format: *const c_char, ...) -> c_void; [INFO] [stdout] ... | [INFO] [stdout] 32 | | fn CGL_logger_log(level: c_int, log_format: *const c_char, ...) -> c_void; [INFO] [stdout] 33 | | } [INFO] [stdout] | |_^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> src/noise.rs:40:1 [INFO] [stdout] | [INFO] [stdout] 40 | / extern { [INFO] [stdout] 41 | | fn CGL_noise_init(); [INFO] [stdout] 42 | | fn CGL_noise_shutdown(); [INFO] [stdout] 43 | | fn CGL_noise_perlin(x: NoiseDataType, y: NoiseDataType, z: NoiseDataType) -> NoiseDataType; [INFO] [stdout] ... | [INFO] [stdout] 50 | | fn CGL_noise_get(params: *const NoiseParams, x: NoiseDataType, y: NoiseDataType, z: NoiseDataType) -> NoiseDataType; [INFO] [stdout] 51 | | } [INFO] [stdout] | |_^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> src/window.rs:29:1 [INFO] [stdout] | [INFO] [stdout] 29 | / extern { [INFO] [stdout] 30 | | fn CGL_window_create(width: c_int, height: c_int, title: *const c_char) -> *mut CGL_window; [INFO] [stdout] 31 | | fn CGL_window_create_undecorated(width: c_int, height: c_int, title: *const c_char) -> *mut CGL_window; [INFO] [stdout] 32 | | fn CGL_window_destroy(window: *mut CGL_window) -> c_void; [INFO] [stdout] ... | [INFO] [stdout] 63 | | fn CGL_utils_sleep(duration: usize) -> c_void; // temporary [INFO] [stdout] 64 | | } [INFO] [stdout] | |_^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> src/lib.rs:29:1 [INFO] [stdout] | [INFO] [stdout] 29 | / extern { [INFO] [stdout] 30 | | fn CGL_init() -> c_int; [INFO] [stdout] 31 | | fn CGL_shutdown() -> c_void; [INFO] [stdout] 32 | | } [INFO] [stdout] | |_^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 17 previous errors [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 17 previous errors [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `cgl-rs` (lib) due to 18 previous errors [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stderr] error: could not compile `cgl-rs` (lib test) due to 18 previous errors [INFO] [stderr] error: failed to check after updating to 2024 [INFO] [stderr] [INFO] [stderr] Caused by: [INFO] [stderr] process didn't exit successfully: `cargo check --frozen --all --all-targets --message-format=json` (exit status: 101) [INFO] running `Command { std: "docker" "inspect" "c7b07795e54962ce4284e988ab2d4f4d9d547ae4f6e20681b73d73eaa6d376e8", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "c7b07795e54962ce4284e988ab2d4f4d9d547ae4f6e20681b73d73eaa6d376e8", kill_on_drop: false }` [INFO] [stdout] c7b07795e54962ce4284e988ab2d4f4d9d547ae4f6e20681b73d73eaa6d376e8