[INFO] updating cached repository https://github.com/matt-williams/ziggurat
[INFO] running `"git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "-c" "remote.origin.fetch=refs/heads/*:refs/heads/*" "fetch" "origin" "--force" "--prune"`
[INFO] running `"git" "rev-parse" "HEAD"`
[INFO] [stdout] 692ab2a70039a8fde3a10db6fc3687d3fad524dc
[INFO] checking matt-williams/ziggurat against master#bf1f2eedda4fa02b7c9347dd849ed73ddd43dedc for pr-70917
[INFO] running `"git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmatt-williams%2Fziggurat" "/workspace/builds/worker-6/source"`
[INFO] [stderr] Cloning into '/workspace/builds/worker-6/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/matt-williams/ziggurat on toolchain bf1f2eedda4fa02b7c9347dd849ed73ddd43dedc
[INFO] running `"/workspace/cargo-home/bin/cargo" "+bf1f2eedda4fa02b7c9347dd849ed73ddd43dedc" "read-manifest" "--manifest-path" "Cargo.toml"`
[INFO] started tweaking git repo https://github.com/matt-williams/ziggurat
[INFO] removed path dependency webgl from git repo https://github.com/matt-williams/ziggurat
[INFO] finished tweaking git repo https://github.com/matt-williams/ziggurat
[INFO] tweaked toml for git repo https://github.com/matt-williams/ziggurat written to /workspace/builds/worker-6/source/Cargo.toml
[INFO] crate git repo https://github.com/matt-williams/ziggurat already has a lockfile, it will not be regenerated
[INFO] running `"/workspace/cargo-home/bin/cargo" "+bf1f2eedda4fa02b7c9347dd849ed73ddd43dedc" "fetch" "--locked" "--manifest-path" "Cargo.toml"`
[INFO] [stderr] warning: dependency (webgl) specified without providing a local path, Git repository, or version to use. This will be considered an error in future versions
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr] error: the lock file /workspace/builds/worker-6/source/Cargo.lock needs to be updated but --locked was passed to prevent this
[INFO] [stderr] If you want to try to generate the lock file without accessing the network, use the --offline flag.
[INFO] the lockfile is outdated, regenerating it
[INFO] running `"/workspace/cargo-home/bin/cargo" "+bf1f2eedda4fa02b7c9347dd849ed73ddd43dedc" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update"`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Updating git repository `https://github.com/koute/stdweb.git`
[INFO] running `"/workspace/cargo-home/bin/cargo" "+bf1f2eedda4fa02b7c9347dd849ed73ddd43dedc" "fetch" "--locked" "--manifest-path" "Cargo.toml"`
[INFO] [stderr] warning: dependency (webgl) specified without providing a local path, Git repository, or version to use. This will be considered an error in future versions
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] running `"docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "MAP_USER_ID=0" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--network" "none" "rustops/crates-build-env" "/opt/rustwide/cargo-home/bin/cargo" "+bf1f2eedda4fa02b7c9347dd849ed73ddd43dedc" "check" "--frozen" "--all" "--all-targets"`
[INFO] [stdout] df85fcf1a9ed8d4a5baf8e598359e555a317e40cccb6fd75730874a9526335c7
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] running `"docker" "start" "-a" "df85fcf1a9ed8d4a5baf8e598359e555a317e40cccb6fd75730874a9526335c7"`
[INFO] [stderr] warning: dependency (webgl) specified without providing a local path, Git repository, or version to use. This will be considered an error in future versions
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]    Compiling itoa v0.4.5
[INFO] [stderr]    Compiling same-file v1.0.6
[INFO] [stderr]    Compiling syn v0.15.44
[INFO] [stderr]    Compiling stdweb-internal-runtime v0.1.2 (https://github.com/koute/stdweb.git?rev=f1fc5e3#f1fc5e32)
[INFO] [stderr]    Compiling error-chain v0.12.2
[INFO] [stderr]    Compiling peg v0.5.7
[INFO] [stderr]    Compiling serde v1.0.106
[INFO] [stderr]    Compiling backtrace-sys v0.1.35
[INFO] [stderr]    Compiling tempdir v0.3.7
[INFO] [stderr]     Checking glenum v0.1.1
[INFO] [stderr]    Compiling gl_generator v0.8.0
[INFO] [stderr]     Checking cgmath v0.16.1
[INFO] [stderr]    Compiling backtrace v0.3.46
[INFO] [stderr]    Compiling walkdir v2.3.1
[INFO] [stderr]    Compiling gl v0.9.0
[INFO] [stderr]    Compiling semver v0.9.0
[INFO] [stderr]    Compiling serde_json v1.0.51
[INFO] [stderr]    Compiling stdweb-derive v0.5.1 (https://github.com/koute/stdweb.git?rev=f1fc5e3#f1fc5e32)
[INFO] [stderr]     Checking webgl v0.1.0
[INFO] [stderr]    Compiling rustc_version v0.2.3
[INFO] [stderr]    Compiling stdweb-internal-macros v0.2.2 (https://github.com/koute/stdweb.git?rev=f1fc5e3#f1fc5e32)
[INFO] [stderr]    Compiling stdweb v0.4.10 (https://github.com/koute/stdweb.git?rev=f1fc5e3#f1fc5e32)
[INFO] [stderr]    Compiling cargo_metadata v0.6.4
[INFO] [stderr]    Compiling skeptic v0.13.4
[INFO] [stderr]    Compiling ply-rs v0.1.2
[INFO] [stderr]     Checking ziggurat v0.1.0 (/opt/rustwide/workdir)
[INFO] [stderr] warning: unused import: `ImageElement`
[INFO] [stderr]   --> src/main.rs:18:48
[INFO] [stderr]    |
[INFO] [stderr] 18 | use stdweb::web::html_element::{CanvasElement, ImageElement};
[INFO] [stderr]    |                                                ^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_imports)]` on by default
[INFO] [stderr] 
[INFO] [stderr] error[E0599]: no method named `unwrap` found for struct `webgl::WebGLBuffer` in the current scope
[INFO] [stderr]   --> src/main.rs:32:53
[INFO] [stderr]    |
[INFO] [stderr] 32 |         let vertex_buffer = context.create_buffer().unwrap();
[INFO] [stderr]    |                                                     ^^^^^^ method not found in `webgl::WebGLBuffer`
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `ImageElement`
[INFO] [stderr]   --> src/main.rs:18:48
[INFO] [stderr]    |
[INFO] [stderr] 18 | use stdweb::web::html_element::{CanvasElement, ImageElement};
[INFO] [stderr]    |                                                ^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_imports)]` on by default
[INFO] [stderr] 
[INFO] [stderr] error[E0599]: no associated item named `ARRAY_BUFFER` found for struct `webgl::WebGLRenderingContext` in the current scope
[INFO] [stderr]   --> src/main.rs:33:33
[INFO] [stderr]    |
[INFO] [stderr] 33 |         context.bind_buffer(gl::ARRAY_BUFFER, Some(&vertex_buffer));
[INFO] [stderr]    |                                 ^^^^^^^^^^^^ associated item not found in `webgl::WebGLRenderingContext`
[INFO] [stderr] 
[INFO] [stderr] error[E0308]: mismatched types
[INFO] [stderr]   --> src/main.rs:33:47
[INFO] [stderr]    |
[INFO] [stderr] 33 |         context.bind_buffer(gl::ARRAY_BUFFER, Some(&vertex_buffer));
[INFO] [stderr]    |                                               ^^^^^^^^^^^^^^^^^^^^ expected `&webgl::WebGLBuffer`, found enum `std::option::Option`
[INFO] [stderr]    |
[INFO] [stderr]    = note: expected reference `&webgl::WebGLBuffer`
[INFO] [stderr]                    found enum `std::option::Option<&_>`
[INFO] [stderr] 
[INFO] [stderr] error[E0599]: no method named `buffer_data_1` found for reference `&webgl::WebGLRenderingContext` in the current scope
[INFO] [stderr]   --> src/main.rs:34:17
[INFO] [stderr]    |
[INFO] [stderr] 34 |         context.buffer_data_1(gl::ARRAY_BUFFER, Some(&vertices), gl::STATIC_DRAW);
[INFO] [stderr]    |                 ^^^^^^^^^^^^^ help: there is an associated function with a similar name: `buffer_data`
[INFO] [stderr] 
[INFO] [stderr] error[E0599]: no associated item named `ARRAY_BUFFER` found for struct `webgl::WebGLRenderingContext` in the current scope
[INFO] [stderr]   --> src/main.rs:34:35
[INFO] [stderr]    |
[INFO] [stderr] 34 |         context.buffer_data_1(gl::ARRAY_BUFFER, Some(&vertices), gl::STATIC_DRAW);
[INFO] [stderr]    |                                   ^^^^^^^^^^^^ associated item not found in `webgl::WebGLRenderingContext`
[INFO] [stderr] 
[INFO] [stderr] error[E0599]: no associated item named `STATIC_DRAW` found for struct `webgl::WebGLRenderingContext` in the current scope
[INFO] [stderr]   --> src/main.rs:34:70
[INFO] [stderr]    |
[INFO] [stderr] 34 |         context.buffer_data_1(gl::ARRAY_BUFFER, Some(&vertices), gl::STATIC_DRAW);
[INFO] [stderr]    |                                                                      ^^^^^^^^^^^ associated item not found in `webgl::WebGLRenderingContext`
[INFO] [stderr] 
[INFO] [stderr] error[E0599]: no method named `unwrap` found for struct `webgl::WebGLBuffer` in the current scope
[INFO] [stderr]   --> src/main.rs:37:53
[INFO] [stderr]    |
[INFO] [stderr] 37 |         let normal_buffer = context.create_buffer().unwrap();
[INFO] [stderr]    |                                                     ^^^^^^ method not found in `webgl::WebGLBuffer`
[INFO] [stderr] 
[INFO] [stderr] error[E0599]: no associated item named `ARRAY_BUFFER` found for struct `webgl::WebGLRenderingContext` in the current scope
[INFO] [stderr]   --> src/main.rs:38:33
[INFO] [stderr]    |
[INFO] [stderr] 38 |         context.bind_buffer(gl::ARRAY_BUFFER, Some(&normal_buffer));
[INFO] [stderr]    |                                 ^^^^^^^^^^^^ associated item not found in `webgl::WebGLRenderingContext`
[INFO] [stderr] 
[INFO] [stderr] error[E0599]: no method named `unwrap` found for struct `webgl::WebGLBuffer` in the current scope
[INFO] [stderr]   --> src/main.rs:32:53
[INFO] [stderr]    |
[INFO] [stderr] 32 |         let vertex_buffer = context.create_buffer().unwrap();
[INFO] [stderr]    |                                                     ^^^^^^ method not found in `webgl::WebGLBuffer`
[INFO] [stderr] 
[INFO] [stderr] error[E0599]: no associated item named `ARRAY_BUFFER` found for struct `webgl::WebGLRenderingContext` in the current scope
[INFO] [stderr]   --> src/main.rs:33:33
[INFO] [stderr]    |
[INFO] [stderr] 33 |         context.bind_buffer(gl::ARRAY_BUFFER, Some(&vertex_buffer));
[INFO] [stderr]    |                                 ^^^^^^^^^^^^ associated item not found in `webgl::WebGLRenderingContext`
[INFO] [stderr] 
[INFO] [stderr] error[E0308]: mismatched types
[INFO] [stderr]   --> src/main.rs:38:47
[INFO] [stderr]    |
[INFO] [stderr] 38 |         context.bind_buffer(gl::ARRAY_BUFFER, Some(&normal_buffer));
[INFO] [stderr]    |                                               ^^^^^^^^^^^^^^^^^^^^ expected `&webgl::WebGLBuffer`, found enum `std::option::Option`
[INFO] [stderr]    |
[INFO] [stderr]    = note: expected reference `&webgl::WebGLBuffer`
[INFO] [stderr]                    found enum `std::option::Option<&_>`
[INFO] [stderr] 
[INFO] [stderr] error[E0599]: no method named `buffer_data_1` found for reference `&webgl::WebGLRenderingContext` in the current scope
[INFO] [stderr]   --> src/main.rs:39:17
[INFO] [stderr]    |
[INFO] [stderr] 39 |         context.buffer_data_1(gl::ARRAY_BUFFER, Some(&normals), gl::STATIC_DRAW);
[INFO] [stderr]    |                 ^^^^^^^^^^^^^ help: there is an associated function with a similar name: `buffer_data`
[INFO] [stderr] 
[INFO] [stderr] error[E0599]: no associated item named `ARRAY_BUFFER` found for struct `webgl::WebGLRenderingContext` in the current scope
[INFO] [stderr]   --> src/main.rs:39:35
[INFO] [stderr]    |
[INFO] [stderr] 39 |         context.buffer_data_1(gl::ARRAY_BUFFER, Some(&normals), gl::STATIC_DRAW);
[INFO] [stderr]    |                                   ^^^^^^^^^^^^ associated item not found in `webgl::WebGLRenderingContext`
[INFO] [stderr] 
[INFO] [stderr] error[E0599]: no associated item named `STATIC_DRAW` found for struct `webgl::WebGLRenderingContext` in the current scope
[INFO] [stderr]   --> src/main.rs:39:69
[INFO] [stderr]    |
[INFO] [stderr] 39 |         context.buffer_data_1(gl::ARRAY_BUFFER, Some(&normals), gl::STATIC_DRAW);
[INFO] [stderr]    |                                                                     ^^^^^^^^^^^ associated item not found in `webgl::WebGLRenderingContext`
[INFO] [stderr] 
[INFO] [stderr] error[E0599]: no method named `unwrap` found for struct `webgl::WebGLBuffer` in the current scope
[INFO] [stderr]   --> src/main.rs:42:52
[INFO] [stderr]    |
[INFO] [stderr] 42 |         let color_buffer = context.create_buffer().unwrap();
[INFO] [stderr]    |                                                    ^^^^^^ method not found in `webgl::WebGLBuffer`
[INFO] [stderr] 
[INFO] [stderr] error[E0599]: no associated item named `ARRAY_BUFFER` found for struct `webgl::WebGLRenderingContext` in the current scope
[INFO] [stderr]   --> src/main.rs:43:33
[INFO] [stderr]    |
[INFO] [stderr] 43 |         context.bind_buffer(gl::ARRAY_BUFFER, Some(&color_buffer));
[INFO] [stderr]    |                                 ^^^^^^^^^^^^ associated item not found in `webgl::WebGLRenderingContext`
[INFO] [stderr] 
[INFO] [stderr] error[E0308]: mismatched types
[INFO] [stderr]   --> src/main.rs:33:47
[INFO] [stderr]    |
[INFO] [stderr] 33 |         context.bind_buffer(gl::ARRAY_BUFFER, Some(&vertex_buffer));
[INFO] [stderr]    |                                               ^^^^^^^^^^^^^^^^^^^^ expected `&webgl::WebGLBuffer`, found enum `std::option::Option`
[INFO] [stderr]    |
[INFO] [stderr]    = note: expected reference `&webgl::WebGLBuffer`
[INFO] [stderr]                    found enum `std::option::Option<&_>`
[INFO] [stderr] 
[INFO] [stderr] error[E0599]: no method named `buffer_data_1` found for reference `&webgl::WebGLRenderingContext` in the current scope
[INFO] [stderr]   --> src/main.rs:34:17
[INFO] [stderr]    |
[INFO] [stderr] 34 |         context.buffer_data_1(gl::ARRAY_BUFFER, Some(&vertices), gl::STATIC_DRAW);
[INFO] [stderr]    |                 ^^^^^^^^^^^^^ help: there is an associated function with a similar name: `buffer_data`
[INFO] [stderr] 
[INFO] [stderr] error[E0599]: no associated item named `ARRAY_BUFFER` found for struct `webgl::WebGLRenderingContext` in the current scope
[INFO] [stderr]   --> src/main.rs:34:35
[INFO] [stderr]    |
[INFO] [stderr] 34 |         context.buffer_data_1(gl::ARRAY_BUFFER, Some(&vertices), gl::STATIC_DRAW);
[INFO] [stderr]    |                                   ^^^^^^^^^^^^ associated item not found in `webgl::WebGLRenderingContext`
[INFO] [stderr] 
[INFO] [stderr] error[E0599]: no associated item named `STATIC_DRAW` found for struct `webgl::WebGLRenderingContext` in the current scope
[INFO] [stderr]   --> src/main.rs:34:70
[INFO] [stderr]    |
[INFO] [stderr] 34 |         context.buffer_data_1(gl::ARRAY_BUFFER, Some(&vertices), gl::STATIC_DRAW);
[INFO] [stderr]    |                                                                      ^^^^^^^^^^^ associated item not found in `webgl::WebGLRenderingContext`
[INFO] [stderr] 
[INFO] [stderr] error[E0599]: no method named `unwrap` found for struct `webgl::WebGLBuffer` in the current scope
[INFO] [stderr]   --> src/main.rs:37:53
[INFO] [stderr]    |
[INFO] [stderr] 37 |         let normal_buffer = context.create_buffer().unwrap();
[INFO] [stderr]    |                                                     ^^^^^^ method not found in `webgl::WebGLBuffer`
[INFO] [stderr] 
[INFO] [stderr] error[E0599]: no associated item named `ARRAY_BUFFER` found for struct `webgl::WebGLRenderingContext` in the current scope
[INFO] [stderr]   --> src/main.rs:38:33
[INFO] [stderr]    |
[INFO] [stderr] 38 |         context.bind_buffer(gl::ARRAY_BUFFER, Some(&normal_buffer));
[INFO] [stderr]    |                                 ^^^^^^^^^^^^ associated item not found in `webgl::WebGLRenderingContext`
[INFO] [stderr] 
[INFO] [stderr] error[E0308]: mismatched types
[INFO] [stderr]   --> src/main.rs:43:47
[INFO] [stderr]    |
[INFO] [stderr] 43 |         context.bind_buffer(gl::ARRAY_BUFFER, Some(&color_buffer));
[INFO] [stderr]    |                                               ^^^^^^^^^^^^^^^^^^^ expected `&webgl::WebGLBuffer`, found enum `std::option::Option`
[INFO] [stderr]    |
[INFO] [stderr]    = note: expected reference `&webgl::WebGLBuffer`
[INFO] [stderr]                    found enum `std::option::Option<&_>`
[INFO] [stderr] 
[INFO] [stderr] error[E0599]: no method named `buffer_data_1` found for reference `&webgl::WebGLRenderingContext` in the current scope
[INFO] [stderr]   --> src/main.rs:44:17
[INFO] [stderr]    |
[INFO] [stderr] 44 |         context.buffer_data_1(gl::ARRAY_BUFFER, Some(&colors), gl::STATIC_DRAW);
[INFO] [stderr]    |                 ^^^^^^^^^^^^^ help: there is an associated function with a similar name: `buffer_data`
[INFO] [stderr] 
[INFO] [stderr] error[E0599]: no associated item named `ARRAY_BUFFER` found for struct `webgl::WebGLRenderingContext` in the current scope
[INFO] [stderr]   --> src/main.rs:44:35
[INFO] [stderr]    |
[INFO] [stderr] 44 |         context.buffer_data_1(gl::ARRAY_BUFFER, Some(&colors), gl::STATIC_DRAW);
[INFO] [stderr]    |                                   ^^^^^^^^^^^^ associated item not found in `webgl::WebGLRenderingContext`
[INFO] [stderr] 
[INFO] [stderr] error[E0599]: no associated item named `STATIC_DRAW` found for struct `webgl::WebGLRenderingContext` in the current scope
[INFO] [stderr]   --> src/main.rs:44:68
[INFO] [stderr]    |
[INFO] [stderr] 44 |         context.buffer_data_1(gl::ARRAY_BUFFER, Some(&colors), gl::STATIC_DRAW);
[INFO] [stderr]    |                                                                    ^^^^^^^^^^^ associated item not found in `webgl::WebGLRenderingContext`
[INFO] [stderr] 
[INFO] [stderr] error[E0599]: no method named `unwrap` found for struct `webgl::WebGLBuffer` in the current scope
[INFO] [stderr]   --> src/main.rs:47:52
[INFO] [stderr]    |
[INFO] [stderr] 47 |         let index_buffer = context.create_buffer().unwrap();
[INFO] [stderr]    |                                                    ^^^^^^ method not found in `webgl::WebGLBuffer`
[INFO] [stderr] 
[INFO] [stderr] error[E0599]: no associated item named `ELEMENT_ARRAY_BUFFER` found for struct `webgl::WebGLRenderingContext` in the current scope
[INFO] [stderr]   --> src/main.rs:48:33
[INFO] [stderr]    |
[INFO] [stderr] 48 |         context.bind_buffer(gl::ELEMENT_ARRAY_BUFFER, Some(&index_buffer));
[INFO] [stderr]    |                                 ^^^^^^^^^^^^^^^^^^^^ associated item not found in `webgl::WebGLRenderingContext`
[INFO] [stderr] 
[INFO] [stderr] error[E0308]: mismatched types
[INFO] [stderr]   --> src/main.rs:38:47
[INFO] [stderr]    |
[INFO] [stderr] 38 |         context.bind_buffer(gl::ARRAY_BUFFER, Some(&normal_buffer));
[INFO] [stderr]    |                                               ^^^^^^^^^^^^^^^^^^^^ expected `&webgl::WebGLBuffer`, found enum `std::option::Option`
[INFO] [stderr]    |
[INFO] [stderr]    = note: expected reference `&webgl::WebGLBuffer`
[INFO] [stderr]                    found enum `std::option::Option<&_>`
[INFO] [stderr] 
[INFO] [stderr] error[E0599]: no method named `buffer_data_1` found for reference `&webgl::WebGLRenderingContext` in the current scope
[INFO] [stderr]   --> src/main.rs:39:17
[INFO] [stderr]    |
[INFO] [stderr] 39 |         context.buffer_data_1(gl::ARRAY_BUFFER, Some(&normals), gl::STATIC_DRAW);
[INFO] [stderr]    |                 ^^^^^^^^^^^^^ help: there is an associated function with a similar name: `buffer_data`
[INFO] [stderr] 
[INFO] [stderr] error[E0599]: no associated item named `ARRAY_BUFFER` found for struct `webgl::WebGLRenderingContext` in the current scope
[INFO] [stderr]   --> src/main.rs:39:35
[INFO] [stderr]    |
[INFO] [stderr] 39 |         context.buffer_data_1(gl::ARRAY_BUFFER, Some(&normals), gl::STATIC_DRAW);
[INFO] [stderr]    |                                   ^^^^^^^^^^^^ associated item not found in `webgl::WebGLRenderingContext`
[INFO] [stderr] 
[INFO] [stderr] error[E0599]: no associated item named `STATIC_DRAW` found for struct `webgl::WebGLRenderingContext` in the current scope
[INFO] [stderr]   --> src/main.rs:39:69
[INFO] [stderr]    |
[INFO] [stderr] 39 |         context.buffer_data_1(gl::ARRAY_BUFFER, Some(&normals), gl::STATIC_DRAW);
[INFO] [stderr]    |                                                                     ^^^^^^^^^^^ associated item not found in `webgl::WebGLRenderingContext`
[INFO] [stderr] 
[INFO] [stderr] error[E0599]: no method named `unwrap` found for struct `webgl::WebGLBuffer` in the current scope
[INFO] [stderr]   --> src/main.rs:42:52
[INFO] [stderr]    |
[INFO] [stderr] 42 |         let color_buffer = context.create_buffer().unwrap();
[INFO] [stderr]    |                                                    ^^^^^^ method not found in `webgl::WebGLBuffer`
[INFO] [stderr] 
[INFO] [stderr] error[E0599]: no associated item named `ARRAY_BUFFER` found for struct `webgl::WebGLRenderingContext` in the current scope
[INFO] [stderr]   --> src/main.rs:43:33
[INFO] [stderr]    |
[INFO] [stderr] 43 |         context.bind_buffer(gl::ARRAY_BUFFER, Some(&color_buffer));
[INFO] [stderr]    |                                 ^^^^^^^^^^^^ associated item not found in `webgl::WebGLRenderingContext`
[INFO] [stderr] 
[INFO] [stderr] error[E0308]: mismatched types
[INFO] [stderr]   --> src/main.rs:48:55
[INFO] [stderr]    |
[INFO] [stderr] 48 |         context.bind_buffer(gl::ELEMENT_ARRAY_BUFFER, Some(&index_buffer));
[INFO] [stderr]    |                                                       ^^^^^^^^^^^^^^^^^^^ expected `&webgl::WebGLBuffer`, found enum `std::option::Option`
[INFO] [stderr]    |
[INFO] [stderr]    = note: expected reference `&webgl::WebGLBuffer`
[INFO] [stderr]                    found enum `std::option::Option<&_>`
[INFO] [stderr] 
[INFO] [stderr] error[E0599]: no method named `buffer_data_1` found for reference `&webgl::WebGLRenderingContext` in the current scope
[INFO] [stderr]   --> src/main.rs:49:17
[INFO] [stderr]    |
[INFO] [stderr] 49 |         context.buffer_data_1(gl::ELEMENT_ARRAY_BUFFER, Some(&indices), gl::STATIC_DRAW);
[INFO] [stderr]    |                 ^^^^^^^^^^^^^ help: there is an associated function with a similar name: `buffer_data`
[INFO] [stderr] 
[INFO] [stderr] error[E0599]: no associated item named `ELEMENT_ARRAY_BUFFER` found for struct `webgl::WebGLRenderingContext` in the current scope
[INFO] [stderr]   --> src/main.rs:49:35
[INFO] [stderr]    |
[INFO] [stderr] 49 |         context.buffer_data_1(gl::ELEMENT_ARRAY_BUFFER, Some(&indices), gl::STATIC_DRAW);
[INFO] [stderr]    |                                   ^^^^^^^^^^^^^^^^^^^^ associated item not found in `webgl::WebGLRenderingContext`
[INFO] [stderr] 
[INFO] [stderr] error[E0599]: no associated item named `STATIC_DRAW` found for struct `webgl::WebGLRenderingContext` in the current scope
[INFO] [stderr]   --> src/main.rs:49:77
[INFO] [stderr]    |
[INFO] [stderr] 49 |         context.buffer_data_1(gl::ELEMENT_ARRAY_BUFFER, Some(&indices), gl::STATIC_DRAW);
[INFO] [stderr]    |                                                                             ^^^^^^^^^^^ associated item not found in `webgl::WebGLRenderingContext`
[INFO] [stderr] 
[INFO] [stderr] error[E0599]: no associated item named `VERTEX_SHADER` found for struct `webgl::WebGLRenderingContext` in the current scope
[INFO] [stderr]    --> src/main.rs:198:55
[INFO] [stderr]     |
[INFO] [stderr] 198 |         let vertex_shader = context.create_shader(gl::VERTEX_SHADER).unwrap();
[INFO] [stderr]     |                                                       ^^^^^^^^^^^^^ associated item not found in `webgl::WebGLRenderingContext`
[INFO] [stderr] 
[INFO] [stderr] error[E0308]: mismatched types
[INFO] [stderr]   --> src/main.rs:43:47
[INFO] [stderr]    |
[INFO] [stderr] 43 |         context.bind_buffer(gl::ARRAY_BUFFER, Some(&color_buffer));
[INFO] [stderr]    |                                               ^^^^^^^^^^^^^^^^^^^ expected `&webgl::WebGLBuffer`, found enum `std::option::Option`
[INFO] [stderr]    |
[INFO] [stderr]    = note: expected reference `&webgl::WebGLBuffer`
[INFO] [stderr]                    found enum `std::option::Option<&_>`
[INFO] [stderr] 
[INFO] [stderr] error[E0599]: no method named `buffer_data_1` found for reference `&webgl::WebGLRenderingContext` in the current scope
[INFO] [stderr]   --> src/main.rs:44:17
[INFO] [stderr]    |
[INFO] [stderr] 44 |         context.buffer_data_1(gl::ARRAY_BUFFER, Some(&colors), gl::STATIC_DRAW);
[INFO] [stderr]    |                 ^^^^^^^^^^^^^ help: there is an associated function with a similar name: `buffer_data`
[INFO] [stderr] 
[INFO] [stderr] error[E0599]: no associated item named `ARRAY_BUFFER` found for struct `webgl::WebGLRenderingContext` in the current scope
[INFO] [stderr]   --> src/main.rs:44:35
[INFO] [stderr]    |
[INFO] [stderr] 44 |         context.buffer_data_1(gl::ARRAY_BUFFER, Some(&colors), gl::STATIC_DRAW);
[INFO] [stderr]    |                                   ^^^^^^^^^^^^ associated item not found in `webgl::WebGLRenderingContext`
[INFO] [stderr] 
[INFO] [stderr] error[E0599]: no associated item named `STATIC_DRAW` found for struct `webgl::WebGLRenderingContext` in the current scope
[INFO] [stderr]   --> src/main.rs:44:68
[INFO] [stderr]    |
[INFO] [stderr] 44 |         context.buffer_data_1(gl::ARRAY_BUFFER, Some(&colors), gl::STATIC_DRAW);
[INFO] [stderr]    |                                                                    ^^^^^^^^^^^ associated item not found in `webgl::WebGLRenderingContext`
[INFO] [stderr] 
[INFO] [stderr] error[E0599]: no method named `unwrap` found for struct `webgl::WebGLShader` in the current scope
[INFO] [stderr]    --> src/main.rs:198:70
[INFO] [stderr]     |
[INFO] [stderr] 198 |         let vertex_shader = context.create_shader(gl::VERTEX_SHADER).unwrap();
[INFO] [stderr]     |                                                                      ^^^^^^ method not found in `webgl::WebGLShader`
[INFO] [stderr] 
[INFO] [stderr] error[E0599]: no method named `get_shader_info_log` found for reference `&webgl::WebGLRenderingContext` in the current scope
[INFO] [stderr]    --> src/main.rs:201:31
[INFO] [stderr]     |
[INFO] [stderr] 201 |         console!(log, context.get_shader_info_log(&vertex_shader));
[INFO] [stderr]     |                               ^^^^^^^^^^^^^^^^^^^ method not found in `&webgl::WebGLRenderingContext`
[INFO] [stderr] 
[INFO] [stderr] error[E0599]: no method named `unwrap` found for struct `webgl::WebGLBuffer` in the current scope
[INFO] [stderr]   --> src/main.rs:47:52
[INFO] [stderr]    |
[INFO] [stderr] 47 |         let index_buffer = context.create_buffer().unwrap();
[INFO] [stderr]    |                                                    ^^^^^^ method not found in `webgl::WebGLBuffer`
[INFO] [stderr] 
[INFO] [stderr] error[E0599]: no associated item named `ELEMENT_ARRAY_BUFFER` found for struct `webgl::WebGLRenderingContext` in the current scope
[INFO] [stderr]   --> src/main.rs:48:33
[INFO] [stderr]    |
[INFO] [stderr] 48 |         context.bind_buffer(gl::ELEMENT_ARRAY_BUFFER, Some(&index_buffer));
[INFO] [stderr]    |                                 ^^^^^^^^^^^^^^^^^^^^ associated item not found in `webgl::WebGLRenderingContext`
[INFO] [stderr] 
[INFO] [stderr] error[E0599]: no associated item named `FRAGMENT_SHADER` found for struct `webgl::WebGLRenderingContext` in the current scope
[INFO] [stderr]    --> src/main.rs:203:57
[INFO] [stderr]     |
[INFO] [stderr] 203 |         let fragment_shader = context.create_shader(gl::FRAGMENT_SHADER).unwrap();
[INFO] [stderr]     |                                                         ^^^^^^^^^^^^^^^ associated item not found in `webgl::WebGLRenderingContext`
[INFO] [stderr] 
[INFO] [stderr] error[E0599]: no method named `unwrap` found for struct `webgl::WebGLShader` in the current scope
[INFO] [stderr]    --> src/main.rs:203:74
[INFO] [stderr]     |
[INFO] [stderr] 203 |         let fragment_shader = context.create_shader(gl::FRAGMENT_SHADER).unwrap();
[INFO] [stderr]     |                                                                          ^^^^^^ method not found in `webgl::WebGLShader`
[INFO] [stderr] 
[INFO] [stderr] error[E0599]: no method named `get_shader_info_log` found for reference `&webgl::WebGLRenderingContext` in the current scope
[INFO] [stderr]    --> src/main.rs:206:31
[INFO] [stderr]     |
[INFO] [stderr] 206 |         console!(log, context.get_shader_info_log(&fragment_shader));
[INFO] [stderr]     |                               ^^^^^^^^^^^^^^^^^^^ method not found in `&webgl::WebGLRenderingContext`
[INFO] [stderr] 
[INFO] [stderr] error[E0599]: no method named `unwrap` found for struct `webgl::WebGLProgram` in the current scope
[INFO] [stderr]    --> src/main.rs:208:48
[INFO] [stderr]     |
[INFO] [stderr] 208 |         let program = context.create_program().unwrap();
[INFO] [stderr]     |                                                ^^^^^^ method not found in `webgl::WebGLProgram`
[INFO] [stderr] 
[INFO] [stderr] error[E0599]: no method named `get_program_info_log` found for reference `&webgl::WebGLRenderingContext` in the current scope
[INFO] [stderr]    --> src/main.rs:212:31
[INFO] [stderr]     |
[INFO] [stderr] 212 |         console!(log, context.get_program_info_log(&program));
[INFO] [stderr]     |                               ^^^^^^^^^^^^^^^^^^^^ method not found in `&webgl::WebGLRenderingContext`
[INFO] [stderr] 
[INFO] [stderr] error[E0599]: no associated item named `DEPTH_TEST` found for struct `webgl::WebGLRenderingContext` in the current scope
[INFO] [stderr]    --> src/main.rs:262:33
[INFO] [stderr]     |
[INFO] [stderr] 262 |         self.context.enable(gl::DEPTH_TEST);
[INFO] [stderr]     |                                 ^^^^^^^^^^ associated item not found in `webgl::WebGLRenderingContext`
[INFO] [stderr] 
[INFO] [stderr] error[E0599]: no method named `depth_func` found for struct `webgl::WebGLRenderingContext` in the current scope
[INFO] [stderr]    --> src/main.rs:263:22
[INFO] [stderr]     |
[INFO] [stderr] 263 |         self.context.depth_func(gl::LEQUAL);
[INFO] [stderr]     |                      ^^^^^^^^^^ method not found in `webgl::WebGLRenderingContext`
[INFO] [stderr] 
[INFO] [stderr] error[E0599]: no associated item named `LEQUAL` found for struct `webgl::WebGLRenderingContext` in the current scope
[INFO] [stderr]    --> src/main.rs:263:37
[INFO] [stderr]     |
[INFO] [stderr] 263 |         self.context.depth_func(gl::LEQUAL);
[INFO] [stderr]     |                                     ^^^^^^ associated item not found in `webgl::WebGLRenderingContext`
[INFO] [stderr] 
[INFO] [stderr] error[E0599]: no method named `clear_depth` found for struct `webgl::WebGLRenderingContext` in the current scope
[INFO] [stderr]    --> src/main.rs:265:22
[INFO] [stderr]     |
[INFO] [stderr] 265 |         self.context.clear_depth(1.0);
[INFO] [stderr]     |                      ^^^^^^^^^^^ method not found in `webgl::WebGLRenderingContext`
[INFO] [stderr] 
[INFO] [stderr] error[E0599]: no method named `cull_face` found for struct `webgl::WebGLRenderingContext` in the current scope
[INFO] [stderr]    --> src/main.rs:266:22
[INFO] [stderr]     |
[INFO] [stderr] 266 |         self.context.cull_face(gl::FRONT_AND_BACK);
[INFO] [stderr]     |                      ^^^^^^^^^ method not found in `webgl::WebGLRenderingContext`
[INFO] [stderr] 
[INFO] [stderr] error[E0599]: no associated item named `FRONT_AND_BACK` found for struct `webgl::WebGLRenderingContext` in the current scope
[INFO] [stderr]    --> src/main.rs:266:36
[INFO] [stderr]     |
[INFO] [stderr] 266 |         self.context.cull_face(gl::FRONT_AND_BACK);
[INFO] [stderr]     |                                    ^^^^^^^^^^^^^^ associated item not found in `webgl::WebGLRenderingContext`
[INFO] [stderr] 
[INFO] [stderr] error[E0308]: mismatched types
[INFO] [stderr]    --> src/main.rs:277:37
[INFO] [stderr]     |
[INFO] [stderr] 277 |         self.context.viewport(0, 0, w as i32, h as i32);
[INFO] [stderr]     |                                     ^^^^^^^^ expected `u32`, found `i32`
[INFO] [stderr]     |
[INFO] [stderr] help: you can convert an `i32` to `u32` and panic if the converted value wouldn't fit
[INFO] [stderr]     |
[INFO] [stderr] 277 |         self.context.viewport(0, 0, (w as i32).try_into().unwrap(), h as i32);
[INFO] [stderr]     |                                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] error[E0308]: mismatched types
[INFO] [stderr]    --> src/main.rs:277:47
[INFO] [stderr]     |
[INFO] [stderr] 277 |         self.context.viewport(0, 0, w as i32, h as i32);
[INFO] [stderr]     |                                               ^^^^^^^^ expected `u32`, found `i32`
[INFO] [stderr]     |
[INFO] [stderr] help: you can convert an `i32` to `u32` and panic if the converted value wouldn't fit
[INFO] [stderr]     |
[INFO] [stderr] 277 |         self.context.viewport(0, 0, w as i32, (h as i32).try_into().unwrap());
[INFO] [stderr]     |                                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] error[E0599]: no associated item named `COLOR_BUFFER_BIT` found for struct `webgl::WebGLRenderingContext` in the current scope
[INFO] [stderr]    --> src/main.rs:279:24
[INFO] [stderr]     |
[INFO] [stderr] 279 |             .clear(gl::COLOR_BUFFER_BIT | gl::DEPTH_BUFFER_BIT);
[INFO] [stderr]     |                        ^^^^^^^^^^^^^^^^ associated item not found in `webgl::WebGLRenderingContext`
[INFO] [stderr] 
[INFO] [stderr] error[E0599]: no associated item named `DEPTH_BUFFER_BIT` found for struct `webgl::WebGLRenderingContext` in the current scope
[INFO] [stderr]    --> src/main.rs:279:47
[INFO] [stderr]     |
[INFO] [stderr] 279 |             .clear(gl::COLOR_BUFFER_BIT | gl::DEPTH_BUFFER_BIT);
[INFO] [stderr]     |                                               ^^^^^^^^^^^^^^^^ associated item not found in `webgl::WebGLRenderingContext`
[INFO] [stderr] 
[INFO] [stderr] error[E0308]: mismatched types
[INFO] [stderr]   --> src/main.rs:48:55
[INFO] [stderr]    |
[INFO] [stderr] 48 |         context.bind_buffer(gl::ELEMENT_ARRAY_BUFFER, Some(&index_buffer));
[INFO] [stderr]    |                                                       ^^^^^^^^^^^^^^^^^^^ expected `&webgl::WebGLBuffer`, found enum `std::option::Option`
[INFO] [stderr]    |
[INFO] [stderr]    = note: expected reference `&webgl::WebGLBuffer`
[INFO] [stderr]                    found enum `std::option::Option<&_>`
[INFO] [stderr] 
[INFO] [stderr] error[E0599]: no method named `buffer_data_1` found for reference `&webgl::WebGLRenderingContext` in the current scope
[INFO] [stderr]   --> src/main.rs:49:17
[INFO] [stderr]    |
[INFO] [stderr] 49 |         context.buffer_data_1(gl::ELEMENT_ARRAY_BUFFER, Some(&indices), gl::STATIC_DRAW);
[INFO] [stderr]    |                 ^^^^^^^^^^^^^ help: there is an associated function with a similar name: `buffer_data`
[INFO] [stderr] 
[INFO] [stderr] error[E0599]: no associated item named `ELEMENT_ARRAY_BUFFER` found for struct `webgl::WebGLRenderingContext` in the current scope
[INFO] [stderr]   --> src/main.rs:49:35
[INFO] [stderr]    |
[INFO] [stderr] 49 |         context.buffer_data_1(gl::ELEMENT_ARRAY_BUFFER, Some(&indices), gl::STATIC_DRAW);
[INFO] [stderr]    |                                   ^^^^^^^^^^^^^^^^^^^^ associated item not found in `webgl::WebGLRenderingContext`
[INFO] [stderr] 
[INFO] [stderr] error[E0599]: no associated item named `STATIC_DRAW` found for struct `webgl::WebGLRenderingContext` in the current scope
[INFO] [stderr]   --> src/main.rs:49:77
[INFO] [stderr]    |
[INFO] [stderr] 49 |         context.buffer_data_1(gl::ELEMENT_ARRAY_BUFFER, Some(&indices), gl::STATIC_DRAW);
[INFO] [stderr]    |                                                                             ^^^^^^^^^^^ associated item not found in `webgl::WebGLRenderingContext`
[INFO] [stderr] 
[INFO] [stderr] error[E0599]: no associated item named `VERTEX_SHADER` found for struct `webgl::WebGLRenderingContext` in the current scope
[INFO] [stderr]    --> src/main.rs:198:55
[INFO] [stderr]     |
[INFO] [stderr] 198 |         let vertex_shader = context.create_shader(gl::VERTEX_SHADER).unwrap();
[INFO] [stderr]     |                                                       ^^^^^^^^^^^^^ associated item not found in `webgl::WebGLRenderingContext`
[INFO] [stderr] 
[INFO] [stderr] error[E0599]: no method named `unwrap` found for struct `webgl::WebGLShader` in the current scope
[INFO] [stderr]    --> src/main.rs:198:70
[INFO] [stderr]     |
[INFO] [stderr] 198 |         let vertex_shader = context.create_shader(gl::VERTEX_SHADER).unwrap();
[INFO] [stderr]     |                                                                      ^^^^^^ method not found in `webgl::WebGLShader`
[INFO] [stderr] 
[INFO] [stderr] error[E0599]: no method named `get_shader_info_log` found for reference `&webgl::WebGLRenderingContext` in the current scope
[INFO] [stderr]    --> src/main.rs:201:31
[INFO] [stderr]     |
[INFO] [stderr] 201 |         console!(log, context.get_shader_info_log(&vertex_shader));
[INFO] [stderr]     |                               ^^^^^^^^^^^^^^^^^^^ method not found in `&webgl::WebGLRenderingContext`
[INFO] [stderr] 
[INFO] [stderr] error[E0599]: no associated item named `FRAGMENT_SHADER` found for struct `webgl::WebGLRenderingContext` in the current scope
[INFO] [stderr]    --> src/main.rs:203:57
[INFO] [stderr]     |
[INFO] [stderr] 203 |         let fragment_shader = context.create_shader(gl::FRAGMENT_SHADER).unwrap();
[INFO] [stderr]     |                                                         ^^^^^^^^^^^^^^^ associated item not found in `webgl::WebGLRenderingContext`
[INFO] [stderr] 
[INFO] [stderr] error[E0599]: no method named `unwrap` found for struct `webgl::WebGLShader` in the current scope
[INFO] [stderr]    --> src/main.rs:203:74
[INFO] [stderr]     |
[INFO] [stderr] 203 |         let fragment_shader = context.create_shader(gl::FRAGMENT_SHADER).unwrap();
[INFO] [stderr]     |                                                                          ^^^^^^ method not found in `webgl::WebGLShader`
[INFO] [stderr] 
[INFO] [stderr] error[E0599]: no method named `get_shader_info_log` found for reference `&webgl::WebGLRenderingContext` in the current scope
[INFO] [stderr]    --> src/main.rs:206:31
[INFO] [stderr]     |
[INFO] [stderr] 206 |         console!(log, context.get_shader_info_log(&fragment_shader));
[INFO] [stderr]     |                               ^^^^^^^^^^^^^^^^^^^ method not found in `&webgl::WebGLRenderingContext`
[INFO] [stderr] 
[INFO] [stderr] error[E0599]: no method named `unwrap` found for struct `webgl::WebGLProgram` in the current scope
[INFO] [stderr]    --> src/main.rs:208:48
[INFO] [stderr]     |
[INFO] [stderr] 208 |         let program = context.create_program().unwrap();
[INFO] [stderr]     |                                                ^^^^^^ method not found in `webgl::WebGLProgram`
[INFO] [stderr] 
[INFO] [stderr] error[E0599]: no method named `get_program_info_log` found for reference `&webgl::WebGLRenderingContext` in the current scope
[INFO] [stderr]    --> src/main.rs:212:31
[INFO] [stderr]     |
[INFO] [stderr] 212 |         console!(log, context.get_program_info_log(&program));
[INFO] [stderr]     |                               ^^^^^^^^^^^^^^^^^^^^ method not found in `&webgl::WebGLRenderingContext`
[INFO] [stderr] 
[INFO] [stderr] error[E0308]: mismatched types
[INFO] [stderr]    --> src/main.rs:281:34
[INFO] [stderr]     |
[INFO] [stderr] 281 |         self.context.use_program(Some(&self.shader.program));
[INFO] [stderr]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `&webgl::WebGLProgram`, found enum `std::option::Option`
[INFO] [stderr]     |
[INFO] [stderr]     = note: expected reference `&webgl::WebGLProgram`
[INFO] [stderr]                     found enum `std::option::Option<&webgl::WebGLProgram>`
[INFO] [stderr] 
[INFO] [stderr] error[E0599]: no associated item named `ARRAY_BUFFER` found for struct `webgl::WebGLRenderingContext` in the current scope
[INFO] [stderr]    --> src/main.rs:286:38
[INFO] [stderr]     |
[INFO] [stderr] 286 |         self.context.bind_buffer(gl::ARRAY_BUFFER, Some(&self.peon.vertex_buffer));
[INFO] [stderr]     |                                      ^^^^^^^^^^^^ associated item not found in `webgl::WebGLRenderingContext`
[INFO] [stderr] 
[INFO] [stderr] error[E0599]: no associated item named `DEPTH_TEST` found for struct `webgl::WebGLRenderingContext` in the current scope
[INFO] [stderr]    --> src/main.rs:262:33
[INFO] [stderr]     |
[INFO] [stderr] 262 |         self.context.enable(gl::DEPTH_TEST);
[INFO] [stderr]     |                                 ^^^^^^^^^^ associated item not found in `webgl::WebGLRenderingContext`
[INFO] [stderr] 
[INFO] [stderr] error[E0599]: no method named `depth_func` found for struct `webgl::WebGLRenderingContext` in the current scope
[INFO] [stderr]    --> src/main.rs:263:22
[INFO] [stderr]     |
[INFO] [stderr] 263 |         self.context.depth_func(gl::LEQUAL);
[INFO] [stderr]     |                      ^^^^^^^^^^ method not found in `webgl::WebGLRenderingContext`
[INFO] [stderr] 
[INFO] [stderr] error[E0599]: no associated item named `LEQUAL` found for struct `webgl::WebGLRenderingContext` in the current scope
[INFO] [stderr]    --> src/main.rs:263:37
[INFO] [stderr]     |
[INFO] [stderr] 263 |         self.context.depth_func(gl::LEQUAL);
[INFO] [stderr]     |                                     ^^^^^^ associated item not found in `webgl::WebGLRenderingContext`
[INFO] [stderr] 
[INFO] [stderr] error[E0599]: no method named `clear_depth` found for struct `webgl::WebGLRenderingContext` in the current scope
[INFO] [stderr]    --> src/main.rs:265:22
[INFO] [stderr]     |
[INFO] [stderr] 265 |         self.context.clear_depth(1.0);
[INFO] [stderr]     |                      ^^^^^^^^^^^ method not found in `webgl::WebGLRenderingContext`
[INFO] [stderr] 
[INFO] [stderr] error[E0599]: no method named `cull_face` found for struct `webgl::WebGLRenderingContext` in the current scope
[INFO] [stderr]    --> src/main.rs:266:22
[INFO] [stderr]     |
[INFO] [stderr] 266 |         self.context.cull_face(gl::FRONT_AND_BACK);
[INFO] [stderr]     |                      ^^^^^^^^^ method not found in `webgl::WebGLRenderingContext`
[INFO] [stderr] 
[INFO] [stderr] error[E0599]: no associated item named `FRONT_AND_BACK` found for struct `webgl::WebGLRenderingContext` in the current scope
[INFO] [stderr]    --> src/main.rs:266:36
[INFO] [stderr]     |
[INFO] [stderr] 266 |         self.context.cull_face(gl::FRONT_AND_BACK);
[INFO] [stderr]     |                                    ^^^^^^^^^^^^^^ associated item not found in `webgl::WebGLRenderingContext`
[INFO] [stderr] 
[INFO] [stderr] error[E0308]: mismatched types
[INFO] [stderr]    --> src/main.rs:277:37
[INFO] [stderr]     |
[INFO] [stderr] 277 |         self.context.viewport(0, 0, w as i32, h as i32);
[INFO] [stderr]     |                                     ^^^^^^^^ expected `u32`, found `i32`
[INFO] [stderr]     |
[INFO] [stderr] help: you can convert an `i32` to `u32` and panic if the converted value wouldn't fit
[INFO] [stderr]     |
[INFO] [stderr] 277 |         self.context.viewport(0, 0, (w as i32).try_into().unwrap(), h as i32);
[INFO] [stderr]     |                                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] error[E0308]: mismatched types
[INFO] [stderr]    --> src/main.rs:277:47
[INFO] [stderr]     |
[INFO] [stderr] 277 |         self.context.viewport(0, 0, w as i32, h as i32);
[INFO] [stderr]     |                                               ^^^^^^^^ expected `u32`, found `i32`
[INFO] [stderr]     |
[INFO] [stderr] help: you can convert an `i32` to `u32` and panic if the converted value wouldn't fit
[INFO] [stderr]     |
[INFO] [stderr] 277 |         self.context.viewport(0, 0, w as i32, (h as i32).try_into().unwrap());
[INFO] [stderr]     |                                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] error[E0599]: no associated item named `COLOR_BUFFER_BIT` found for struct `webgl::WebGLRenderingContext` in the current scope
[INFO] [stderr]    --> src/main.rs:279:24
[INFO] [stderr]     |
[INFO] [stderr] 279 |             .clear(gl::COLOR_BUFFER_BIT | gl::DEPTH_BUFFER_BIT);
[INFO] [stderr]     |                        ^^^^^^^^^^^^^^^^ associated item not found in `webgl::WebGLRenderingContext`
[INFO] [stderr] 
[INFO] [stderr] error[E0599]: no associated item named `DEPTH_BUFFER_BIT` found for struct `webgl::WebGLRenderingContext` in the current scope
[INFO] [stderr]    --> src/main.rs:279:47
[INFO] [stderr]     |
[INFO] [stderr] 279 |             .clear(gl::COLOR_BUFFER_BIT | gl::DEPTH_BUFFER_BIT);
[INFO] [stderr]     |                                               ^^^^^^^^^^^^^^^^ associated item not found in `webgl::WebGLRenderingContext`
[INFO] [stderr] 
[INFO] [stderr] error[E0308]: mismatched types
[INFO] [stderr]    --> src/main.rs:286:52
[INFO] [stderr]     |
[INFO] [stderr] 286 |         self.context.bind_buffer(gl::ARRAY_BUFFER, Some(&self.peon.vertex_buffer));
[INFO] [stderr]     |                                                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `&webgl::WebGLBuffer`, found enum `std::option::Option`
[INFO] [stderr]     |
[INFO] [stderr]     = note: expected reference `&webgl::WebGLBuffer`
[INFO] [stderr]                     found enum `std::option::Option<&webgl::WebGLBuffer>`
[INFO] [stderr] 
[INFO] [stderr] error[E0308]: mismatched types
[INFO] [stderr]    --> src/main.rs:281:34
[INFO] [stderr]     |
[INFO] [stderr] 281 |         self.context.use_program(Some(&self.shader.program));
[INFO] [stderr]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `&webgl::WebGLProgram`, found enum `std::option::Option`
[INFO] [stderr]     |
[INFO] [stderr]     = note: expected reference `&webgl::WebGLProgram`
[INFO] [stderr]                     found enum `std::option::Option<&webgl::WebGLProgram>`
[INFO] [stderr] 
[INFO] [stderr] error[E0599]: no associated item named `ARRAY_BUFFER` found for struct `webgl::WebGLRenderingContext` in the current scope
[INFO] [stderr]    --> src/main.rs:286:38
[INFO] [stderr]     |
[INFO] [stderr] 286 |         self.context.bind_buffer(gl::ARRAY_BUFFER, Some(&self.peon.vertex_buffer));
[INFO] [stderr]     |                                      ^^^^^^^^^^^^ associated item not found in `webgl::WebGLRenderingContext`
[INFO] [stderr] 
[INFO] [stderr] error[E0308]: mismatched types
[INFO] [stderr]    --> src/main.rs:287:59
[INFO] [stderr]     |
[INFO] [stderr] 287 |         self.context.vertex_attrib_pointer(self.position, 3, gl::FLOAT, false, 0, 0);
[INFO] [stderr]     |                                                           ^ expected enum `webgl::AttributeSize`, found integer
[INFO] [stderr] 
[INFO] [stderr] error[E0599]: no associated item named `FLOAT` found for struct `webgl::WebGLRenderingContext` in the current scope
[INFO] [stderr]    --> src/main.rs:287:66
[INFO] [stderr]     |
[INFO] [stderr] 287 |         self.context.vertex_attrib_pointer(self.position, 3, gl::FLOAT, false, 0, 0);
[INFO] [stderr]     |                                                                  ^^^^^ associated item not found in `webgl::WebGLRenderingContext`
[INFO] [stderr] 
[INFO] [stderr] error[E0599]: no associated item named `ARRAY_BUFFER` found for struct `webgl::WebGLRenderingContext` in the current scope
[INFO] [stderr]    --> src/main.rs:289:38
[INFO] [stderr]     |
[INFO] [stderr] 289 |         self.context.bind_buffer(gl::ARRAY_BUFFER, Some(&self.peon.color_buffer));
[INFO] [stderr]     |                                      ^^^^^^^^^^^^ associated item not found in `webgl::WebGLRenderingContext`
[INFO] [stderr] 
[INFO] [stderr] error[E0308]: mismatched types
[INFO] [stderr]    --> src/main.rs:286:52
[INFO] [stderr]     |
[INFO] [stderr] 286 |         self.context.bind_buffer(gl::ARRAY_BUFFER, Some(&self.peon.vertex_buffer));
[INFO] [stderr]     |                                                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `&webgl::WebGLBuffer`, found enum `std::option::Option`
[INFO] [stderr]     |
[INFO] [stderr]     = note: expected reference `&webgl::WebGLBuffer`
[INFO] [stderr]                     found enum `std::option::Option<&webgl::WebGLBuffer>`
[INFO] [stderr] 
[INFO] [stderr] error[E0308]: mismatched types
[INFO] [stderr]    --> src/main.rs:289:52
[INFO] [stderr]     |
[INFO] [stderr] 289 |         self.context.bind_buffer(gl::ARRAY_BUFFER, Some(&self.peon.color_buffer));
[INFO] [stderr]     |                                                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `&webgl::WebGLBuffer`, found enum `std::option::Option`
[INFO] [stderr]     |
[INFO] [stderr]     = note: expected reference `&webgl::WebGLBuffer`
[INFO] [stderr]                     found enum `std::option::Option<&webgl::WebGLBuffer>`
[INFO] [stderr] 
[INFO] [stderr] error[E0308]: mismatched types
[INFO] [stderr]    --> src/main.rs:290:56
[INFO] [stderr]     |
[INFO] [stderr] 290 |         self.context.vertex_attrib_pointer(self.color, 3, gl::FLOAT, false, 0, 0);
[INFO] [stderr]     |                                                        ^ expected enum `webgl::AttributeSize`, found integer
[INFO] [stderr] 
[INFO] [stderr] error[E0599]: no associated item named `FLOAT` found for struct `webgl::WebGLRenderingContext` in the current scope
[INFO] [stderr]    --> src/main.rs:290:63
[INFO] [stderr]     |
[INFO] [stderr] 290 |         self.context.vertex_attrib_pointer(self.color, 3, gl::FLOAT, false, 0, 0);
[INFO] [stderr]     |                                                               ^^^^^ associated item not found in `webgl::WebGLRenderingContext`
[INFO] [stderr] 
[INFO] [stderr] error[E0599]: no associated item named `ARRAY_BUFFER` found for struct `webgl::WebGLRenderingContext` in the current scope
[INFO] [stderr]    --> src/main.rs:292:38
[INFO] [stderr]     |
[INFO] [stderr] 292 |         self.context.bind_buffer(gl::ARRAY_BUFFER, Some(&self.peon.normal_buffer));
[INFO] [stderr]     |                                      ^^^^^^^^^^^^ associated item not found in `webgl::WebGLRenderingContext`
[INFO] [stderr] 
[INFO] [stderr] error[E0308]: mismatched types
[INFO] [stderr]    --> src/main.rs:287:59
[INFO] [stderr]     |
[INFO] [stderr] 287 |         self.context.vertex_attrib_pointer(self.position, 3, gl::FLOAT, false, 0, 0);
[INFO] [stderr]     |                                                           ^ expected enum `webgl::AttributeSize`, found integer
[INFO] [stderr] 
[INFO] [stderr] error[E0599]: no associated item named `FLOAT` found for struct `webgl::WebGLRenderingContext` in the current scope
[INFO] [stderr]    --> src/main.rs:287:66
[INFO] [stderr]     |
[INFO] [stderr] 287 |         self.context.vertex_attrib_pointer(self.position, 3, gl::FLOAT, false, 0, 0);
[INFO] [stderr]     |                                                                  ^^^^^ associated item not found in `webgl::WebGLRenderingContext`
[INFO] [stderr] 
[INFO] [stderr] error[E0599]: no associated item named `ARRAY_BUFFER` found for struct `webgl::WebGLRenderingContext` in the current scope
[INFO] [stderr]    --> src/main.rs:289:38
[INFO] [stderr]     |
[INFO] [stderr] 289 |         self.context.bind_buffer(gl::ARRAY_BUFFER, Some(&self.peon.color_buffer));
[INFO] [stderr]     |                                      ^^^^^^^^^^^^ associated item not found in `webgl::WebGLRenderingContext`
[INFO] [stderr] 
[INFO] [stderr] error[E0308]: mismatched types
[INFO] [stderr]    --> src/main.rs:292:52
[INFO] [stderr]     |
[INFO] [stderr] 292 |         self.context.bind_buffer(gl::ARRAY_BUFFER, Some(&self.peon.normal_buffer));
[INFO] [stderr]     |                                                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `&webgl::WebGLBuffer`, found enum `std::option::Option`
[INFO] [stderr]     |
[INFO] [stderr]     = note: expected reference `&webgl::WebGLBuffer`
[INFO] [stderr]                     found enum `std::option::Option<&webgl::WebGLBuffer>`
[INFO] [stderr] 
[INFO] [stderr] error[E0308]: mismatched types
[INFO] [stderr]    --> src/main.rs:289:52
[INFO] [stderr]     |
[INFO] [stderr] 289 |         self.context.bind_buffer(gl::ARRAY_BUFFER, Some(&self.peon.color_buffer));
[INFO] [stderr]     |                                                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `&webgl::WebGLBuffer`, found enum `std::option::Option`
[INFO] [stderr]     |
[INFO] [stderr]     = note: expected reference `&webgl::WebGLBuffer`
[INFO] [stderr]                     found enum `std::option::Option<&webgl::WebGLBuffer>`
[INFO] [stderr] 
[INFO] [stderr] error[E0308]: mismatched types
[INFO] [stderr]    --> src/main.rs:293:57
[INFO] [stderr]     |
[INFO] [stderr] 293 |         self.context.vertex_attrib_pointer(self.normal, 3, gl::FLOAT, false, 0, 0);
[INFO] [stderr]     |                                                         ^ expected enum `webgl::AttributeSize`, found integer
[INFO] [stderr] 
[INFO] [stderr] error[E0599]: no associated item named `FLOAT` found for struct `webgl::WebGLRenderingContext` in the current scope
[INFO] [stderr]    --> src/main.rs:293:64
[INFO] [stderr]     |
[INFO] [stderr] 293 |         self.context.vertex_attrib_pointer(self.normal, 3, gl::FLOAT, false, 0, 0);
[INFO] [stderr]     |                                                                ^^^^^ associated item not found in `webgl::WebGLRenderingContext`
[INFO] [stderr] 
[INFO] [stderr] error[E0599]: no method named `uniform_matrix4fv` found for struct `webgl::WebGLRenderingContext` in the current scope
[INFO] [stderr]    --> src/main.rs:295:22
[INFO] [stderr]     |
[INFO] [stderr] 295 |         self.context.uniform_matrix4fv(
[INFO] [stderr]     |                      ^^^^^^^^^^^^^^^^^ help: there is an associated function with a similar name: `uniform_matrix_4fv`
[INFO] [stderr] 
[INFO] [stderr] error[E0599]: no method named `uniform_matrix4fv` found for struct `webgl::WebGLRenderingContext` in the current scope
[INFO] [stderr]    --> src/main.rs:300:22
[INFO] [stderr]     |
[INFO] [stderr] 300 |         self.context.uniform_matrix4fv(
[INFO] [stderr]     |                      ^^^^^^^^^^^^^^^^^ help: there is an associated function with a similar name: `uniform_matrix_4fv`
[INFO] [stderr] 
[INFO] [stderr] error[E0599]: no method named `uniform_matrix4fv` found for struct `webgl::WebGLRenderingContext` in the current scope
[INFO] [stderr]    --> src/main.rs:305:22
[INFO] [stderr]     |
[INFO] [stderr] 305 |         self.context.uniform_matrix4fv(
[INFO] [stderr]     |                      ^^^^^^^^^^^^^^^^^ help: there is an associated function with a similar name: `uniform_matrix_4fv`
[INFO] [stderr] 
[INFO] [stderr] error[E0599]: no associated item named `ELEMENT_ARRAY_BUFFER` found for struct `webgl::WebGLRenderingContext` in the current scope
[INFO] [stderr]    --> src/main.rs:312:30
[INFO] [stderr]     |
[INFO] [stderr] 312 |             .bind_buffer(gl::ELEMENT_ARRAY_BUFFER, Some(&self.peon.index_buffer));
[INFO] [stderr]     |                              ^^^^^^^^^^^^^^^^^^^^ associated item not found in `webgl::WebGLRenderingContext`
[INFO] [stderr] 
[INFO] [stderr] error[E0308]: mismatched types
[INFO] [stderr]    --> src/main.rs:290:56
[INFO] [stderr]     |
[INFO] [stderr] 290 |         self.context.vertex_attrib_pointer(self.color, 3, gl::FLOAT, false, 0, 0);
[INFO] [stderr]     |                                                        ^ expected enum `webgl::AttributeSize`, found integer
[INFO] [stderr] 
[INFO] [stderr] error[E0599]: no associated item named `FLOAT` found for struct `webgl::WebGLRenderingContext` in the current scope
[INFO] [stderr]    --> src/main.rs:290:63
[INFO] [stderr]     |
[INFO] [stderr] 290 |         self.context.vertex_attrib_pointer(self.color, 3, gl::FLOAT, false, 0, 0);
[INFO] [stderr]     |                                                               ^^^^^ associated item not found in `webgl::WebGLRenderingContext`
[INFO] [stderr] 
[INFO] [stderr] error[E0599]: no associated item named `ARRAY_BUFFER` found for struct `webgl::WebGLRenderingContext` in the current scope
[INFO] [stderr]    --> src/main.rs:292:38
[INFO] [stderr]     |
[INFO] [stderr] 292 |         self.context.bind_buffer(gl::ARRAY_BUFFER, Some(&self.peon.normal_buffer));
[INFO] [stderr]     |                                      ^^^^^^^^^^^^ associated item not found in `webgl::WebGLRenderingContext`
[INFO] [stderr] 
[INFO] [stderr] error[E0308]: mismatched types
[INFO] [stderr]    --> src/main.rs:312:52
[INFO] [stderr]     |
[INFO] [stderr] 312 |             .bind_buffer(gl::ELEMENT_ARRAY_BUFFER, Some(&self.peon.index_buffer));
[INFO] [stderr]     |                                                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `&webgl::WebGLBuffer`, found enum `std::option::Option`
[INFO] [stderr]     |
[INFO] [stderr]     = note: expected reference `&webgl::WebGLBuffer`
[INFO] [stderr]                     found enum `std::option::Option<&webgl::WebGLBuffer>`
[INFO] [stderr] 
[INFO] [stderr] error[E0599]: no associated item named `TRIANGLES` found for struct `webgl::WebGLRenderingContext` in the current scope
[INFO] [stderr]    --> src/main.rs:314:32
[INFO] [stderr]     |
[INFO] [stderr] 314 |             .draw_elements(gl::TRIANGLES, self.peon.num_indices as i32, gl::UNSIGNED_SHORT, 0);
[INFO] [stderr]     |                                ^^^^^^^^^ associated item not found in `webgl::WebGLRenderingContext`
[INFO] [stderr] 
[INFO] [stderr] error[E0308]: mismatched types
[INFO] [stderr]    --> src/main.rs:314:43
[INFO] [stderr]     |
[INFO] [stderr] 314 |             .draw_elements(gl::TRIANGLES, self.peon.num_indices as i32, gl::UNSIGNED_SHORT, 0);
[INFO] [stderr]     |                                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `usize`, found `i32`
[INFO] [stderr]     |
[INFO] [stderr] help: you can convert an `i32` to `usize` and panic if the converted value wouldn't fit
[INFO] [stderr]     |
[INFO] [stderr] 314 |             .draw_elements(gl::TRIANGLES, (self.peon.num_indices as i32).try_into().unwrap(), gl::UNSIGNED_SHORT, 0);
[INFO] [stderr]     |                                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] error[E0599]: no associated item named `UNSIGNED_SHORT` found for struct `webgl::WebGLRenderingContext` in the current scope
[INFO] [stderr]    --> src/main.rs:314:77
[INFO] [stderr]     |
[INFO] [stderr] 314 |             .draw_elements(gl::TRIANGLES, self.peon.num_indices as i32, gl::UNSIGNED_SHORT, 0);
[INFO] [stderr]     |                                                                             ^^^^^^^^^^^^^^ associated item not found in `webgl::WebGLRenderingContext`
[INFO] [stderr] 
[INFO] [stderr] error[E0308]: mismatched types
[INFO] [stderr]    --> src/main.rs:292:52
[INFO] [stderr]     |
[INFO] [stderr] 292 |         self.context.bind_buffer(gl::ARRAY_BUFFER, Some(&self.peon.normal_buffer));
[INFO] [stderr]     |                                                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `&webgl::WebGLBuffer`, found enum `std::option::Option`
[INFO] [stderr]     |
[INFO] [stderr]     = note: expected reference `&webgl::WebGLBuffer`
[INFO] [stderr]                     found enum `std::option::Option<&webgl::WebGLBuffer>`
[INFO] [stderr] 
[INFO] [stderr] error[E0277]: the trait bound `webgl::WebGLRenderingContext: stdweb::web::RenderingContext` is not satisfied
[INFO] [stderr]    --> src/main.rs:394:49
[INFO] [stderr]     |
[INFO] [stderr] 394 |     let context: WebGLRenderingContext = canvas.get_context().unwrap();
[INFO] [stderr]     |                                                 ^^^^^^^^^^^ the trait `stdweb::web::RenderingContext` is not implemented for `webgl::WebGLRenderingContext`
[INFO] [stderr] 
[INFO] [stderr] error[E0605]: non-primitive cast: `std::option::Option<u32>` as `u32`
[INFO] [stderr]    --> src/main.rs:457:20
[INFO] [stderr]     |
[INFO] [stderr] 457 |     let position = context.get_attrib_location(&shader.program, "position") as u32;
[INFO] [stderr]     |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: an `as` expression can only be used to convert between primitive types. Consider using the `From` trait
[INFO] [stderr] 
[INFO] [stderr] error[E0605]: non-primitive cast: `std::option::Option<u32>` as `u32`
[INFO] [stderr]    --> src/main.rs:458:17
[INFO] [stderr]     |
[INFO] [stderr] 458 |     let color = context.get_attrib_location(&shader.program, "color") as u32;
[INFO] [stderr]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: an `as` expression can only be used to convert between primitive types. Consider using the `From` trait
[INFO] [stderr] 
[INFO] [stderr] error[E0605]: non-primitive cast: `std::option::Option<u32>` as `u32`
[INFO] [stderr]    --> src/main.rs:459:18
[INFO] [stderr]     |
[INFO] [stderr] 459 |     let normal = context.get_attrib_location(&shader.program, "normal") as u32;
[INFO] [stderr]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: an `as` expression can only be used to convert between primitive types. Consider using the `From` trait
[INFO] [stderr] 
[INFO] [stderr] error: aborting due to 67 previous errors
[INFO] [stderr] 
[INFO] [stderr] Some errors have detailed explanations: E0277, E0308, E0599, E0605.
[INFO] [stderr] For more information about an error, try `rustc --explain E0277`.
[INFO] [stderr] error: could not compile `ziggurat`.
[INFO] [stderr] 
[INFO] [stderr] To learn more, run the command again with --verbose.
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stderr] error[E0308]: mismatched types
[INFO] [stderr]    --> src/main.rs:293:57
[INFO] [stderr]     |
[INFO] [stderr] 293 |         self.context.vertex_attrib_pointer(self.normal, 3, gl::FLOAT, false, 0, 0);
[INFO] [stderr]     |                                                         ^ expected enum `webgl::AttributeSize`, found integer
[INFO] [stderr] 
[INFO] [stderr] error[E0599]: no associated item named `FLOAT` found for struct `webgl::WebGLRenderingContext` in the current scope
[INFO] [stderr]    --> src/main.rs:293:64
[INFO] [stderr]     |
[INFO] [stderr] 293 |         self.context.vertex_attrib_pointer(self.normal, 3, gl::FLOAT, false, 0, 0);
[INFO] [stderr]     |                                                                ^^^^^ associated item not found in `webgl::WebGLRenderingContext`
[INFO] [stderr] 
[INFO] [stderr] error[E0599]: no method named `uniform_matrix4fv` found for struct `webgl::WebGLRenderingContext` in the current scope
[INFO] [stderr]    --> src/main.rs:295:22
[INFO] [stderr]     |
[INFO] [stderr] 295 |         self.context.uniform_matrix4fv(
[INFO] [stderr]     |                      ^^^^^^^^^^^^^^^^^ help: there is an associated function with a similar name: `uniform_matrix_4fv`
[INFO] [stderr] 
[INFO] [stderr] error[E0599]: no method named `uniform_matrix4fv` found for struct `webgl::WebGLRenderingContext` in the current scope
[INFO] [stderr]    --> src/main.rs:300:22
[INFO] [stderr]     |
[INFO] [stderr] 300 |         self.context.uniform_matrix4fv(
[INFO] [stderr]     |                      ^^^^^^^^^^^^^^^^^ help: there is an associated function with a similar name: `uniform_matrix_4fv`
[INFO] [stderr] 
[INFO] [stderr] error[E0599]: no method named `uniform_matrix4fv` found for struct `webgl::WebGLRenderingContext` in the current scope
[INFO] [stderr]    --> src/main.rs:305:22
[INFO] [stderr]     |
[INFO] [stderr] 305 |         self.context.uniform_matrix4fv(
[INFO] [stderr]     |                      ^^^^^^^^^^^^^^^^^ help: there is an associated function with a similar name: `uniform_matrix_4fv`
[INFO] [stderr] 
[INFO] [stderr] error[E0599]: no associated item named `ELEMENT_ARRAY_BUFFER` found for struct `webgl::WebGLRenderingContext` in the current scope
[INFO] [stderr]    --> src/main.rs:312:30
[INFO] [stderr]     |
[INFO] [stderr] 312 |             .bind_buffer(gl::ELEMENT_ARRAY_BUFFER, Some(&self.peon.index_buffer));
[INFO] [stderr]     |                              ^^^^^^^^^^^^^^^^^^^^ associated item not found in `webgl::WebGLRenderingContext`
[INFO] [stderr] 
[INFO] [stderr] error[E0308]: mismatched types
[INFO] [stderr]    --> src/main.rs:312:52
[INFO] [stderr]     |
[INFO] [stderr] 312 |             .bind_buffer(gl::ELEMENT_ARRAY_BUFFER, Some(&self.peon.index_buffer));
[INFO] [stderr]     |                                                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `&webgl::WebGLBuffer`, found enum `std::option::Option`
[INFO] [stderr]     |
[INFO] [stderr]     = note: expected reference `&webgl::WebGLBuffer`
[INFO] [stderr]                     found enum `std::option::Option<&webgl::WebGLBuffer>`
[INFO] [stderr] 
[INFO] [stderr] error[E0599]: no associated item named `TRIANGLES` found for struct `webgl::WebGLRenderingContext` in the current scope
[INFO] [stderr]    --> src/main.rs:314:32
[INFO] [stderr]     |
[INFO] [stderr] 314 |             .draw_elements(gl::TRIANGLES, self.peon.num_indices as i32, gl::UNSIGNED_SHORT, 0);
[INFO] [stderr]     |                                ^^^^^^^^^ associated item not found in `webgl::WebGLRenderingContext`
[INFO] [stderr] 
[INFO] [stderr] error[E0308]: mismatched types
[INFO] [stderr]    --> src/main.rs:314:43
[INFO] [stderr]     |
[INFO] [stderr] 314 |             .draw_elements(gl::TRIANGLES, self.peon.num_indices as i32, gl::UNSIGNED_SHORT, 0);
[INFO] [stderr]     |                                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `usize`, found `i32`
[INFO] [stderr]     |
[INFO] [stderr] help: you can convert an `i32` to `usize` and panic if the converted value wouldn't fit
[INFO] [stderr]     |
[INFO] [stderr] 314 |             .draw_elements(gl::TRIANGLES, (self.peon.num_indices as i32).try_into().unwrap(), gl::UNSIGNED_SHORT, 0);
[INFO] [stderr]     |                                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] error[E0599]: no associated item named `UNSIGNED_SHORT` found for struct `webgl::WebGLRenderingContext` in the current scope
[INFO] [stderr]    --> src/main.rs:314:77
[INFO] [stderr]     |
[INFO] [stderr] 314 |             .draw_elements(gl::TRIANGLES, self.peon.num_indices as i32, gl::UNSIGNED_SHORT, 0);
[INFO] [stderr]     |                                                                             ^^^^^^^^^^^^^^ associated item not found in `webgl::WebGLRenderingContext`
[INFO] [stderr] 
[INFO] [stderr] error[E0277]: the trait bound `webgl::WebGLRenderingContext: stdweb::web::RenderingContext` is not satisfied
[INFO] [stderr]    --> src/main.rs:394:49
[INFO] [stderr]     |
[INFO] [stderr] 394 |     let context: WebGLRenderingContext = canvas.get_context().unwrap();
[INFO] [stderr]     |                                                 ^^^^^^^^^^^ the trait `stdweb::web::RenderingContext` is not implemented for `webgl::WebGLRenderingContext`
[INFO] [stderr] 
[INFO] [stderr] error[E0605]: non-primitive cast: `std::option::Option<u32>` as `u32`
[INFO] [stderr]    --> src/main.rs:457:20
[INFO] [stderr]     |
[INFO] [stderr] 457 |     let position = context.get_attrib_location(&shader.program, "position") as u32;
[INFO] [stderr]     |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: an `as` expression can only be used to convert between primitive types. Consider using the `From` trait
[INFO] [stderr] 
[INFO] [stderr] error[E0605]: non-primitive cast: `std::option::Option<u32>` as `u32`
[INFO] [stderr]    --> src/main.rs:458:17
[INFO] [stderr]     |
[INFO] [stderr] 458 |     let color = context.get_attrib_location(&shader.program, "color") as u32;
[INFO] [stderr]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: an `as` expression can only be used to convert between primitive types. Consider using the `From` trait
[INFO] [stderr] 
[INFO] [stderr] error[E0605]: non-primitive cast: `std::option::Option<u32>` as `u32`
[INFO] [stderr]    --> src/main.rs:459:18
[INFO] [stderr]     |
[INFO] [stderr] 459 |     let normal = context.get_attrib_location(&shader.program, "normal") as u32;
[INFO] [stderr]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: an `as` expression can only be used to convert between primitive types. Consider using the `From` trait
[INFO] [stderr] 
[INFO] [stderr] error: aborting due to 67 previous errors
[INFO] [stderr] 
[INFO] [stderr] Some errors have detailed explanations: E0277, E0308, E0599, E0605.
[INFO] [stderr] For more information about an error, try `rustc --explain E0277`.
[INFO] [stderr] error: could not compile `ziggurat`.
[INFO] [stderr] 
[INFO] [stderr] To learn more, run the command again with --verbose.
[INFO] running `"docker" "inspect" "df85fcf1a9ed8d4a5baf8e598359e555a317e40cccb6fd75730874a9526335c7"`
[INFO] running `"docker" "rm" "-f" "df85fcf1a9ed8d4a5baf8e598359e555a317e40cccb6fd75730874a9526335c7"`
[INFO] [stdout] df85fcf1a9ed8d4a5baf8e598359e555a317e40cccb6fd75730874a9526335c7
