[INFO] cloning repository https://github.com/mickvangelderen/opengl-rust [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/mickvangelderen/opengl-rust" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmickvangelderen%2Fopengl-rust", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmickvangelderen%2Fopengl-rust'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 76b447d97a3c568ba99cda54e8e63864165a63da [INFO] checking mickvangelderen/opengl-rust against master#f21fbac535ab2c3bc50db20547f4d48477357103 for pr-143193 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmickvangelderen%2Fopengl-rust" "/workspace/builds/worker-3-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc1/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/mickvangelderen/opengl-rust [INFO] finished tweaking git repo https://github.com/mickvangelderen/opengl-rust [INFO] tweaked toml for git repo https://github.com/mickvangelderen/opengl-rust written to /workspace/builds/worker-3-tc1/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/mickvangelderen/opengl-rust on toolchain f21fbac535ab2c3bc50db20547f4d48477357103 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+f21fbac535ab2c3bc50db20547f4d48477357103" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/mickvangelderen/opengl-rust already has a lockfile, it will not be regenerated [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+f21fbac535ab2c3bc50db20547f4d48477357103" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] warning: /workspace/builds/worker-3-tc1/source/simple-field-offset/Cargo.toml: no edition set: defaulting to the 2015 edition while the latest is 2024 [INFO] [stderr] warning: /workspace/builds/worker-3-tc1/source/Cargo.toml: no edition set: defaulting to the 2015 edition while the latest is 2024 [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded num-integer v0.1.38 [INFO] [stderr] Downloaded x11-dl v2.17.5 [INFO] [stderr] Downloaded cgl v0.2.2 [INFO] [stderr] Downloaded shared_library v0.1.8 [INFO] [stderr] Downloaded gleam v0.5.0 [INFO] [stderr] Downloaded glutin v0.15.0 [INFO] [stderr] Downloaded rayon v1.0.1 [INFO] [stderr] Downloaded num-traits v0.2.4 [INFO] [stderr] Downloaded tempfile v3.0.2 [INFO] [stderr] Downloaded winit v0.13.1 [INFO] [stderr] Downloaded jpeg-decoder v0.1.14 [INFO] [stderr] Downloaded num-derive v0.2.1 [INFO] [stderr] Downloaded inflate v0.4.2 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:cf8efcab8866f2cf4285301c7418e2f4f2a9b088c91ba69c40d5b659f81557f7" "/opt/rustwide/cargo-home/bin/cargo" "+f21fbac535ab2c3bc50db20547f4d48477357103" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] b79e43aadf4bb46b90c3260a75a1078c1c943dd3d90c07993ffa8f58e45ccd5f [INFO] running `Command { std: "docker" "start" "-a" "b79e43aadf4bb46b90c3260a75a1078c1c943dd3d90c07993ffa8f58e45ccd5f", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "b79e43aadf4bb46b90c3260a75a1078c1c943dd3d90c07993ffa8f58e45ccd5f", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "b79e43aadf4bb46b90c3260a75a1078c1c943dd3d90c07993ffa8f58e45ccd5f", kill_on_drop: false }` [INFO] [stdout] b79e43aadf4bb46b90c3260a75a1078c1c943dd3d90c07993ffa8f58e45ccd5f [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:cf8efcab8866f2cf4285301c7418e2f4f2a9b088c91ba69c40d5b659f81557f7" "/opt/rustwide/cargo-home/bin/cargo" "+f21fbac535ab2c3bc50db20547f4d48477357103" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 2b4ff35dcb5fc6a26140989eb6f31c26cfaca61bda62071026f38f97f8f2f7c8 [INFO] running `Command { std: "docker" "start" "-a" "2b4ff35dcb5fc6a26140989eb6f31c26cfaca61bda62071026f38f97f8f2f7c8", kill_on_drop: false }` [INFO] [stderr] warning: /opt/rustwide/workdir/Cargo.toml: no edition set: defaulting to the 2015 edition while the latest is 2024 [INFO] [stderr] warning: /opt/rustwide/workdir/simple-field-offset/Cargo.toml: no edition set: defaulting to the 2015 edition while the latest is 2024 [INFO] [stderr] Checking libc v0.2.40 [INFO] [stderr] Compiling bitflags v1.0.3 [INFO] [stderr] Checking lazy_static v1.0.0 [INFO] [stderr] Compiling cc v1.0.15 [INFO] [stderr] Compiling num-traits v0.2.4 [INFO] [stderr] Compiling khronos_api v2.2.0 [INFO] [stderr] Compiling cfg-if v0.1.3 [INFO] [stderr] Compiling xml-rs v0.7.0 [INFO] [stderr] Compiling log v0.4.1 [INFO] [stderr] Checking nodrop v0.1.12 [INFO] [stderr] Checking arrayvec v0.4.7 [INFO] [stderr] Checking crossbeam-utils v0.2.2 [INFO] [stderr] Compiling num-integer v0.1.38 [INFO] [stderr] Checking scopeguard v0.3.3 [INFO] [stderr] Checking token_store v0.1.2 [INFO] [stderr] Checking memoffset v0.2.1 [INFO] [stderr] Compiling rayon-core v1.4.0 [INFO] [stderr] Compiling unicode-xid v0.1.0 [INFO] [stderr] Checking rand v0.4.2 [INFO] [stderr] Checking crossbeam-epoch v0.3.1 [INFO] [stderr] Compiling pkg-config v0.3.11 [INFO] [stderr] Compiling proc-macro2 v0.3.8 [INFO] [stderr] Checking num_cpus v1.8.0 [INFO] [stderr] Checking memmap v0.6.2 [INFO] [stderr] Checking crossbeam-deque v0.2.0 [INFO] [stderr] Compiling libloading v0.5.0 [INFO] [stderr] Compiling num-iter v0.1.37 [INFO] [stderr] Compiling wayland-scanner v0.12.5 [INFO] [stderr] Compiling gl_generator v0.9.0 [INFO] [stderr] Checking byteorder v1.2.3 [INFO] [stderr] Compiling x11-dl v2.17.5 [INFO] [stderr] Checking adler32 v1.0.2 [INFO] [stderr] Checking remove_dir_all v0.5.1 [INFO] [stderr] Compiling quote v0.5.2 [INFO] [stderr] Checking tempfile v3.0.2 [INFO] [stderr] Checking dlib v0.4.1 [INFO] [stderr] Checking wayland-sys v0.12.5 [INFO] [stderr] Checking either v1.5.0 [INFO] [stderr] Compiling syn v0.13.10 [INFO] [stderr] Checking deflate v0.7.18 [INFO] [stderr] Checking inflate v0.4.2 [INFO] [stderr] Checking shared_library v0.1.8 [INFO] [stderr] Compiling wayland-client v0.12.5 [INFO] [stderr] Compiling wayland-protocols v0.12.5 [INFO] [stderr] Checking rayon v1.0.1 [INFO] [stderr] Compiling gl v0.10.0 [INFO] [stderr] Compiling glutin v0.15.0 [INFO] [stderr] Checking percent-encoding v1.0.1 [INFO] [stderr] Checking color_quant v1.0.0 [INFO] [stderr] Compiling cgmath v0.16.1 [INFO] [stderr] Checking lzw v0.10.0 [INFO] [stderr] Checking gif v0.10.0 [INFO] [stderr] Checking png v0.12.0 [INFO] [stderr] Checking jpeg-decoder v0.1.14 [INFO] [stderr] Checking wayland-kbd v0.13.1 [INFO] [stderr] Checking osmesa-sys v0.1.2 [INFO] [stderr] Checking num-rational v0.1.42 [INFO] [stderr] Checking num-traits v0.1.43 [INFO] [stderr] Checking approx v0.1.1 [INFO] [stderr] Checking scoped_threadpool v0.1.9 [INFO] [stderr] Checking simple-field-offset v0.1.0 (/opt/rustwide/workdir/simple-field-offset) [INFO] [stdout] warning: dereferencing a null pointer [INFO] [stdout] --> simple-field-offset/src/lib.rs:50:14 [INFO] [stdout] | [INFO] [stdout] 50 | &(*(0 as *const $Struct)).$field as *const _ as $Offset [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ this code causes undefined behavior when executed [INFO] [stdout] ... [INFO] [stdout] 75 | let favorite_color_offset = field_offset!(Employee, favorite_color); [INFO] [stdout] | --------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deref_nullptr)]` on by default [INFO] [stdout] = note: this warning originates in the macro `field_offset` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: dereferencing a null pointer [INFO] [stdout] --> simple-field-offset/src/lib.rs:50:14 [INFO] [stdout] | [INFO] [stdout] 50 | &(*(0 as *const $Struct)).$field as *const _ as $Offset [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ this code causes undefined behavior when executed [INFO] [stdout] ... [INFO] [stdout] 96 | field_offset!(Employee, (active, name, favorite_color)); [INFO] [stdout] | ------------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `field_offset` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: dereferencing a null pointer [INFO] [stdout] --> simple-field-offset/src/lib.rs:50:14 [INFO] [stdout] | [INFO] [stdout] 50 | &(*(0 as *const $Struct)).$field as *const _ as $Offset [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ this code causes undefined behavior when executed [INFO] [stdout] ... [INFO] [stdout] 96 | field_offset!(Employee, (active, name, favorite_color)); [INFO] [stdout] | ------------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `field_offset` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: dereferencing a null pointer [INFO] [stdout] --> simple-field-offset/src/lib.rs:50:14 [INFO] [stdout] | [INFO] [stdout] 50 | &(*(0 as *const $Struct)).$field as *const _ as $Offset [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ this code causes undefined behavior when executed [INFO] [stdout] ... [INFO] [stdout] 96 | field_offset!(Employee, (active, name, favorite_color)); [INFO] [stdout] | ------------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `field_offset` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: dereferencing a null pointer [INFO] [stdout] --> simple-field-offset/src/lib.rs:50:14 [INFO] [stdout] | [INFO] [stdout] 50 | &(*(0 as *const $Struct)).$field as *const _ as $Offset [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ this code causes undefined behavior when executed [INFO] [stdout] ... [INFO] [stdout] 121 | let _: isize = field_offset!(Employee, active, isize); [INFO] [stdout] | -------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `field_offset` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: dereferencing a null pointer [INFO] [stdout] --> simple-field-offset/src/lib.rs:50:14 [INFO] [stdout] | [INFO] [stdout] 50 | &(*(0 as *const $Struct)).$field as *const _ as $Offset [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ this code causes undefined behavior when executed [INFO] [stdout] ... [INFO] [stdout] 126 | let _: (isize, isize) = field_offset!(Employee, (active, name), isize); [INFO] [stdout] | ---------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `field_offset` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: dereferencing a null pointer [INFO] [stdout] --> simple-field-offset/src/lib.rs:50:14 [INFO] [stdout] | [INFO] [stdout] 50 | &(*(0 as *const $Struct)).$field as *const _ as $Offset [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ this code causes undefined behavior when executed [INFO] [stdout] ... [INFO] [stdout] 126 | let _: (isize, isize) = field_offset!(Employee, (active, name), isize); [INFO] [stdout] | ---------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `field_offset` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Compiling num-derive v0.2.1 [INFO] [stderr] Checking image v0.19.0 [INFO] [stderr] Checking wayland-window v0.13.3 [INFO] [stderr] Checking winit v0.13.1 [INFO] [stderr] Checking opengl-experiment v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead [INFO] [stdout] --> src/import.rs:88:74 [INFO] [stdout] | [INFO] [stdout] 88 | let mut tri: [TriangleElement; 3] = unsafe { ::std::mem::uninitialized() }; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the feature `non_exhaustive` has been stable since 1.40.0 and no longer requires an attribute to enable [INFO] [stdout] --> src/main.rs:3:12 [INFO] [stdout] | [INFO] [stdout] 3 | #![feature(non_exhaustive)] [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(stable_features)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the feature `nonzero` has been stable since 1.28.0 and no longer requires an attribute to enable [INFO] [stdout] --> src/main.rs:1:12 [INFO] [stdout] | [INFO] [stdout] 1 | #![feature(nonzero)] [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead [INFO] [stdout] --> src/import.rs:88:74 [INFO] [stdout] | [INFO] [stdout] 88 | let mut tri: [TriangleElement; 3] = unsafe { ::std::mem::uninitialized() }; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the feature `non_exhaustive` has been stable since 1.40.0 and no longer requires an attribute to enable [INFO] [stdout] --> src/main.rs:3:12 [INFO] [stdout] | [INFO] [stdout] 3 | #![feature(non_exhaustive)] [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(stable_features)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the feature `nonzero` has been stable since 1.28.0 and no longer requires an attribute to enable [INFO] [stdout] --> src/main.rs:1:12 [INFO] [stdout] | [INFO] [stdout] 1 | #![feature(nonzero)] [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/main.rs:287:13 [INFO] [stdout] | [INFO] [stdout] 287 | let mut diffuse_texture_id = TextureId::new().unwrap(); [INFO] [stdout] | ----^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/main.rs:324:13 [INFO] [stdout] | [INFO] [stdout] 324 | let mut specular_texture_id = TextureId::new().unwrap(); [INFO] [stdout] | ----^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/framebuffer.rs:216:25 [INFO] [stdout] | [INFO] [stdout] 216 | framebuffer_id: &TMaybeDefaultFramebufferId, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ this lifetime flows to the output [INFO] [stdout] 217 | ) -> BoundFramebufferId { [INFO] [stdout] | ---------------------------------------------------- the lifetime gets resolved as `'_` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 217 | ) -> BoundFramebufferId<'_, TMaybeDefaultFramebufferId, Self> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/renderbuffer.rs:42:19 [INFO] [stdout] | [INFO] [stdout] 42 | pub fn target(&mut self) -> RenderbufferTarget { [INFO] [stdout] | ^^^^^^^^^ ------------------ the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 42 | pub fn target(&mut self) -> RenderbufferTarget<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/program.rs:85:29 [INFO] [stdout] | [INFO] [stdout] 85 | pub fn uniform_location(&self, name: &CStr) -> UniformLocation { [INFO] [stdout] | ^^^^^ --------------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 85 | pub fn uniform_location(&self, name: &CStr) -> UniformLocation<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/program.rs:107:26 [INFO] [stdout] | [INFO] [stdout] 107 | pub fn bind<'s, 'p>(&'s mut self, program: &'p LinkedProgramId) -> BoundProgramId { [INFO] [stdout] | ^^ -------------- [INFO] [stdout] | | | [INFO] [stdout] | | the lifetimes get resolved as `'s` [INFO] [stdout] | this lifetime flows to the output the lifetimes get resolved as `'s` [INFO] [stdout] | [INFO] [stdout] help: one option is to consistently use `'s` [INFO] [stdout] | [INFO] [stdout] 107 | pub fn bind<'s, 'p>(&'s mut self, program: &'p LinkedProgramId) -> BoundProgramId<'s> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the type `[TriangleElement; 3]` does not permit being left uninitialized [INFO] [stdout] --> src/import.rs:88:62 [INFO] [stdout] | [INFO] [stdout] 88 | let mut tri: [TriangleElement; 3] = unsafe { ::std::mem::uninitialized() }; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this code causes undefined behavior when executed [INFO] [stdout] | help: use `MaybeUninit` instead, and only call `assume_init` after initialization is done [INFO] [stdout] | [INFO] [stdout] note: integers must be initialized (in this struct field) [INFO] [stdout] --> src/import.rs:20:5 [INFO] [stdout] | [INFO] [stdout] 20 | vertex_position_index: GLuint, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: `#[warn(invalid_value)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/texture.rs:60:19 [INFO] [stdout] | [INFO] [stdout] 60 | pub fn target(&mut self) -> TextureTarget1D { [INFO] [stdout] | ^^^^^^^^^ --------------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 60 | pub fn target(&mut self) -> TextureTarget1D<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/texture.rs:67:19 [INFO] [stdout] | [INFO] [stdout] 67 | pub fn target(&mut self) -> TextureTarget2D { [INFO] [stdout] | ^^^^^^^^^ --------------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 67 | pub fn target(&mut self) -> TextureTarget2D<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/texture.rs:74:19 [INFO] [stdout] | [INFO] [stdout] 74 | pub fn target(&mut self) -> TextureTarget3D { [INFO] [stdout] | ^^^^^^^^^ --------------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 74 | pub fn target(&mut self) -> TextureTarget3D<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/texture.rs:271:21 [INFO] [stdout] | [INFO] [stdout] 271 | pub fn activate(&mut self, unit: TextureUnit) -> ActiveTextureUnit { [INFO] [stdout] | ^^^^^^^^^ ----------------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 271 | pub fn activate(&mut self, unit: TextureUnit) -> ActiveTextureUnit<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/viewport.rs:25:19 [INFO] [stdout] | [INFO] [stdout] 25 | pub fn update(&mut self) -> ViewportUpdate { [INFO] [stdout] | ^^^^^^^^^ -------------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 25 | pub fn update(&mut self) -> ViewportUpdate<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/main.rs:287:13 [INFO] [stdout] | [INFO] [stdout] 287 | let mut diffuse_texture_id = TextureId::new().unwrap(); [INFO] [stdout] | ----^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/main.rs:324:13 [INFO] [stdout] | [INFO] [stdout] 324 | let mut specular_texture_id = TextureId::new().unwrap(); [INFO] [stdout] | ----^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/framebuffer.rs:216:25 [INFO] [stdout] | [INFO] [stdout] 216 | framebuffer_id: &TMaybeDefaultFramebufferId, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ this lifetime flows to the output [INFO] [stdout] 217 | ) -> BoundFramebufferId { [INFO] [stdout] | ---------------------------------------------------- the lifetime gets resolved as `'_` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 217 | ) -> BoundFramebufferId<'_, TMaybeDefaultFramebufferId, Self> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/renderbuffer.rs:42:19 [INFO] [stdout] | [INFO] [stdout] 42 | pub fn target(&mut self) -> RenderbufferTarget { [INFO] [stdout] | ^^^^^^^^^ ------------------ the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 42 | pub fn target(&mut self) -> RenderbufferTarget<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/program.rs:85:29 [INFO] [stdout] | [INFO] [stdout] 85 | pub fn uniform_location(&self, name: &CStr) -> UniformLocation { [INFO] [stdout] | ^^^^^ --------------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 85 | pub fn uniform_location(&self, name: &CStr) -> UniformLocation<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/program.rs:107:26 [INFO] [stdout] | [INFO] [stdout] 107 | pub fn bind<'s, 'p>(&'s mut self, program: &'p LinkedProgramId) -> BoundProgramId { [INFO] [stdout] | ^^ -------------- [INFO] [stdout] | | | [INFO] [stdout] | | the lifetimes get resolved as `'s` [INFO] [stdout] | this lifetime flows to the output the lifetimes get resolved as `'s` [INFO] [stdout] | [INFO] [stdout] help: one option is to consistently use `'s` [INFO] [stdout] | [INFO] [stdout] 107 | pub fn bind<'s, 'p>(&'s mut self, program: &'p LinkedProgramId) -> BoundProgramId<'s> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the type `[TriangleElement; 3]` does not permit being left uninitialized [INFO] [stdout] --> src/import.rs:88:62 [INFO] [stdout] | [INFO] [stdout] 88 | let mut tri: [TriangleElement; 3] = unsafe { ::std::mem::uninitialized() }; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this code causes undefined behavior when executed [INFO] [stdout] | help: use `MaybeUninit` instead, and only call `assume_init` after initialization is done [INFO] [stdout] | [INFO] [stdout] note: integers must be initialized (in this struct field) [INFO] [stdout] --> src/import.rs:20:5 [INFO] [stdout] | [INFO] [stdout] 20 | vertex_position_index: GLuint, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: `#[warn(invalid_value)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/texture.rs:60:19 [INFO] [stdout] | [INFO] [stdout] 60 | pub fn target(&mut self) -> TextureTarget1D { [INFO] [stdout] | ^^^^^^^^^ --------------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 60 | pub fn target(&mut self) -> TextureTarget1D<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/texture.rs:67:19 [INFO] [stdout] | [INFO] [stdout] 67 | pub fn target(&mut self) -> TextureTarget2D { [INFO] [stdout] | ^^^^^^^^^ --------------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 67 | pub fn target(&mut self) -> TextureTarget2D<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/texture.rs:74:19 [INFO] [stdout] | [INFO] [stdout] 74 | pub fn target(&mut self) -> TextureTarget3D { [INFO] [stdout] | ^^^^^^^^^ --------------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 74 | pub fn target(&mut self) -> TextureTarget3D<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/texture.rs:271:21 [INFO] [stdout] | [INFO] [stdout] 271 | pub fn activate(&mut self, unit: TextureUnit) -> ActiveTextureUnit { [INFO] [stdout] | ^^^^^^^^^ ----------------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 271 | pub fn activate(&mut self, unit: TextureUnit) -> ActiveTextureUnit<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/viewport.rs:25:19 [INFO] [stdout] | [INFO] [stdout] 25 | pub fn update(&mut self) -> ViewportUpdate { [INFO] [stdout] | ^^^^^^^^^ -------------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 25 | pub fn update(&mut self) -> ViewportUpdate<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 30.37s [INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: syn v0.13.10 [INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 1` [INFO] running `Command { std: "docker" "inspect" "2b4ff35dcb5fc6a26140989eb6f31c26cfaca61bda62071026f38f97f8f2f7c8", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "2b4ff35dcb5fc6a26140989eb6f31c26cfaca61bda62071026f38f97f8f2f7c8", kill_on_drop: false }` [INFO] [stdout] 2b4ff35dcb5fc6a26140989eb6f31c26cfaca61bda62071026f38f97f8f2f7c8