[INFO] fetching crate hxml 0.3.3... [INFO] testing hxml-0.3.3 against try#8de4c7234dd9b97c9d76b58671343fdbbc9a433e+target=x86_64-unknown-linux-musl for musl_upgrade_1_2_5_in_2025-retry-1 [INFO] extracting crate hxml 0.3.3 into /workspace/builds/worker-5-tc1/source [INFO] started tweaking crates.io crate hxml 0.3.3 [INFO] finished tweaking crates.io crate hxml 0.3.3 [INFO] tweaked toml for crates.io crate hxml 0.3.3 written to /workspace/builds/worker-5-tc1/source/Cargo.toml [INFO] validating manifest of crates.io crate hxml 0.3.3 on toolchain 8de4c7234dd9b97c9d76b58671343fdbbc9a433e [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+8de4c7234dd9b97c9d76b58671343fdbbc9a433e" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+8de4c7234dd9b97c9d76b58671343fdbbc9a433e" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+8de4c7234dd9b97c9d76b58671343fdbbc9a433e" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:90999bfc7ae267e83380e433d8e61a7c072ca6729e92edbae886d3423b3a6f4c" "/opt/rustwide/cargo-home/bin/cargo" "+8de4c7234dd9b97c9d76b58671343fdbbc9a433e" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 29955440c5ca0c0330097027712a52d37213731100ca5689f29a35c0ebcade10 [INFO] running `Command { std: "docker" "start" "-a" "29955440c5ca0c0330097027712a52d37213731100ca5689f29a35c0ebcade10", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "29955440c5ca0c0330097027712a52d37213731100ca5689f29a35c0ebcade10", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "29955440c5ca0c0330097027712a52d37213731100ca5689f29a35c0ebcade10", kill_on_drop: false }` [INFO] [stdout] 29955440c5ca0c0330097027712a52d37213731100ca5689f29a35c0ebcade10 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:90999bfc7ae267e83380e433d8e61a7c072ca6729e92edbae886d3423b3a6f4c" "/opt/rustwide/cargo-home/bin/cargo" "+8de4c7234dd9b97c9d76b58671343fdbbc9a433e" "build" "--frozen" "--message-format=json" "--target" "x86_64-unknown-linux-musl", kill_on_drop: false }` [INFO] [stdout] 16bc8b42f324d6bb4be9f8c1e79afe361a8ffbd15b9f628b015a58d43f65234a [INFO] running `Command { std: "docker" "start" "-a" "16bc8b42f324d6bb4be9f8c1e79afe361a8ffbd15b9f628b015a58d43f65234a", kill_on_drop: false }` [INFO] [stderr] Compiling hxml v0.3.3 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused variable: `internal_subset_end_index` [INFO] [stdout] --> src/parse/prolog.rs:322:17 [INFO] [stdout] | [INFO] [stdout] 322 | let internal_subset_end_index = match get_internal_subset_end_index(document, name_end_index + 2) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_internal_subset_end_index` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `document` [INFO] [stdout] --> src/parse/prolog.rs:340:38 [INFO] [stdout] | [INFO] [stdout] 340 | pub fn get_internal_subset_end_index(document: &[u16], mut index: usize) -> Option { [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_document` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `index` [INFO] [stdout] --> src/parse/prolog.rs:340:60 [INFO] [stdout] | [INFO] [stdout] 340 | pub fn get_internal_subset_end_index(document: &[u16], mut index: usize) -> Option { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_index` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/parse/prolog.rs:340:56 [INFO] [stdout] | [INFO] [stdout] 340 | pub fn get_internal_subset_end_index(document: &[u16], mut index: usize) -> Option { [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: unused variable: `document` [INFO] [stdout] --> src/parse/prolog.rs:388:23 [INFO] [stdout] | [INFO] [stdout] 388 | pub fn parse_xml_decl(document: &[u16], index: usize) -> XMLDecl { [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_document` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `index` [INFO] [stdout] --> src/parse/prolog.rs:388:41 [INFO] [stdout] | [INFO] [stdout] 388 | pub fn parse_xml_decl(document: &[u16], index: usize) -> XMLDecl { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_index` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `content` [INFO] [stdout] --> src/parse/mod.rs:71:30 [INFO] [stdout] | [INFO] [stdout] 71 | pub fn get_content_end_index(content: &[u16], index: usize) -> Option { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_content` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `index` [INFO] [stdout] --> src/parse/mod.rs:71:47 [INFO] [stdout] | [INFO] [stdout] 71 | pub fn get_content_end_index(content: &[u16], index: usize) -> Option { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_index` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `to_slice`, `len`, `g_len`, `index`, and `slice` are never used [INFO] [stdout] --> src/gstring.rs:41:12 [INFO] [stdout] | [INFO] [stdout] 19 | impl GString { [INFO] [stdout] | ------------ methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 41 | pub fn to_slice(&self) -> &[u16] { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 47 | pub fn len(&self) -> usize { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 51 | pub fn g_len(&self) -> usize { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 57 | pub fn index(&self, index: usize) -> u16 { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 63 | pub fn slice(&self, start: usize, end: usize) -> GString { [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_content_end_index` is never used [INFO] [stdout] --> src/parse/mod.rs:71:8 [INFO] [stdout] | [INFO] [stdout] 71 | pub fn get_content_end_index(content: &[u16], index: usize) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_element_end_index` is never used [INFO] [stdout] --> src/parse/tag.rs:16:8 [INFO] [stdout] | [INFO] [stdout] 16 | pub fn get_element_end_index(document: &[u16], index: usize) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: creating a shared reference to mutable static [INFO] [stdout] --> src/dom.rs:19:9 [INFO] [stdout] | [INFO] [stdout] 19 | ELEMENTS.iter().filter(|e| e.is_alive).map(|e| e.pointer).collect() [INFO] [stdout] | ^^^^^^^^^^^^^^^ shared reference to mutable static [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives [INFO] [stdout] = note: `#[warn(static_mut_refs)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: creating a shared reference to mutable static [INFO] [stdout] --> src/dom.rs:29:24 [INFO] [stdout] | [INFO] [stdout] 29 | return TAGS_BY_ID.as_ref().unwrap().get(&id).copied(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ shared reference to mutable static [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: creating a shared reference to mutable static [INFO] [stdout] --> src/dom.rs:54:13 [INFO] [stdout] | [INFO] [stdout] 54 | TAGS_BY_ID.as_ref().unwrap().keys().map(|id| id.to_string()).collect() [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ shared reference to mutable static [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: creating a mutable reference to mutable static [INFO] [stdout] --> src/dom.rs:68:17 [INFO] [stdout] | [INFO] [stdout] 68 | TAGS_BY_ID.as_mut().unwrap().remove(id); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: creating a mutable reference to mutable static [INFO] [stdout] --> src/dom.rs:74:24 [INFO] [stdout] | [INFO] [stdout] 74 | let tags = TAGS_BY_CLASS.as_mut().unwrap().get_mut(class).unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: creating a mutable reference to mutable static [INFO] [stdout] --> src/dom.rs:90:20 [INFO] [stdout] | [INFO] [stdout] 90 | let tags = TAGS_BY_NAME.as_mut().unwrap().get_mut(&el.tag_name).unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: creating a shared reference to mutable static [INFO] [stdout] --> src/dom.rs:121:19 [INFO] [stdout] | [INFO] [stdout] 121 | match TAGS_BY_NAME.as_ref().unwrap().get(&tag_name) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ shared reference to mutable static [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: creating a shared reference to mutable static [INFO] [stdout] --> src/dom.rs:138:26 [INFO] [stdout] | [INFO] [stdout] 138 | return match TAGS_BY_NAME.as_ref().unwrap().get(&tag_name) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ shared reference to mutable static [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: creating a shared reference to mutable static [INFO] [stdout] --> src/dom.rs:165:19 [INFO] [stdout] | [INFO] [stdout] 165 | match TAGS_BY_CLASS.as_ref().unwrap().get(&class_name) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ shared reference to mutable static [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: creating a shared reference to mutable static [INFO] [stdout] --> src/dom.rs:180:24 [INFO] [stdout] | [INFO] [stdout] 180 | for element in ELEMENTS.iter() { [INFO] [stdout] | ^^^^^^^^^^^^^^^ shared reference to mutable static [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: creating a shared reference to mutable static [INFO] [stdout] --> src/dom.rs:203:15 [INFO] [stdout] | [INFO] [stdout] 203 | match &PROLOG { [INFO] [stdout] | ^^^^^^^ shared reference to mutable static [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives [INFO] [stdout] help: use `&raw const` instead to create a raw pointer [INFO] [stdout] | [INFO] [stdout] 203 | match &raw const PROLOG { [INFO] [stdout] | +++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: creating a shared reference to mutable static [INFO] [stdout] --> src/err.rs:93:14 [INFO] [stdout] | [INFO] [stdout] 93 | unsafe { ERRORS.clone() } [INFO] [stdout] | ^^^^^^^^^^^^^^ shared reference to mutable static [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: creating a mutable reference to mutable static [INFO] [stdout] --> src/err.rs:97:14 [INFO] [stdout] | [INFO] [stdout] 97 | unsafe { ERRORS.push(e); } [INFO] [stdout] | ^^^^^^^^^^^^^^ mutable reference to mutable static [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: creating a shared reference to mutable static [INFO] [stdout] --> src/gstring.rs:26:43 [INFO] [stdout] | [INFO] [stdout] 26 | unsafe { GString { start: 0, end: GLOBAL_STRING.len() } } [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ shared reference to mutable static [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: creating a shared reference to mutable static [INFO] [stdout] --> src/gstring.rs:53:13 [INFO] [stdout] | [INFO] [stdout] 53 | GLOBAL_STRING.len() [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ shared reference to mutable static [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/gstring.rs:67:17 [INFO] [stdout] | [INFO] [stdout] 67 | pub fn iter(&self) -> std::slice::Iter { [INFO] [stdout] | ^^^^^ --------------------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [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] 67 | pub fn iter(&self) -> std::slice::Iter<'_, u16> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: creating a mutable reference to mutable static [INFO] [stdout] --> src/node/element.rs:161:32 [INFO] [stdout] | [INFO] [stdout] 161 | let tags_by_name = TAGS_BY_NAME.as_mut().unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: creating a mutable reference to mutable static [INFO] [stdout] --> src/node/element.rs:162:30 [INFO] [stdout] | [INFO] [stdout] 162 | let tags_by_id = TAGS_BY_ID.as_mut().unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: creating a mutable reference to mutable static [INFO] [stdout] --> src/node/element.rs:163:33 [INFO] [stdout] | [INFO] [stdout] 163 | let tags_by_class = TAGS_BY_CLASS.as_mut().unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: creating a mutable reference to mutable static [INFO] [stdout] --> src/node/memory.rs:18:9 [INFO] [stdout] | [INFO] [stdout] 18 | FREE_LIST.push(pointer.ptr); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: creating a shared reference to mutable static [INFO] [stdout] --> src/node/memory.rs:31:12 [INFO] [stdout] | [INFO] [stdout] 31 | if FREE_LIST.len() == 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^ shared reference to mutable static [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: creating a shared reference to mutable static [INFO] [stdout] --> src/node/memory.rs:35:47 [INFO] [stdout] | [INFO] [stdout] 35 | element.pointer = ElementPtr::new(ELEMENTS.len()); [INFO] [stdout] | ^^^^^^^^^^^^^^ shared reference to mutable static [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: creating a mutable reference to mutable static [INFO] [stdout] --> src/node/memory.rs:36:13 [INFO] [stdout] | [INFO] [stdout] 36 | ELEMENTS.push(element); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: creating a shared reference to mutable static [INFO] [stdout] --> src/node/memory.rs:38:29 [INFO] [stdout] | [INFO] [stdout] 38 | ElementPtr::new(ELEMENTS.len() - 1) [INFO] [stdout] | ^^^^^^^^^^^^^^ shared reference to mutable static [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: creating a mutable reference to mutable static [INFO] [stdout] --> src/node/memory.rs:42:27 [INFO] [stdout] | [INFO] [stdout] 42 | let pointer = FREE_LIST.pop().unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^ mutable reference to mutable static [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 1.36s [INFO] running `Command { std: "docker" "inspect" "16bc8b42f324d6bb4be9f8c1e79afe361a8ffbd15b9f628b015a58d43f65234a", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "16bc8b42f324d6bb4be9f8c1e79afe361a8ffbd15b9f628b015a58d43f65234a", kill_on_drop: false }` [INFO] [stdout] 16bc8b42f324d6bb4be9f8c1e79afe361a8ffbd15b9f628b015a58d43f65234a [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:90999bfc7ae267e83380e433d8e61a7c072ca6729e92edbae886d3423b3a6f4c" "/opt/rustwide/cargo-home/bin/cargo" "+8de4c7234dd9b97c9d76b58671343fdbbc9a433e" "test" "--frozen" "--no-run" "--message-format=json" "--target" "x86_64-unknown-linux-musl", kill_on_drop: false }` [INFO] [stdout] 038dcfd9ab41ac9d9d55988c18e0ccaa77c0271ca80e0703206e07aefdc7cb34 [INFO] running `Command { std: "docker" "start" "-a" "038dcfd9ab41ac9d9d55988c18e0ccaa77c0271ca80e0703206e07aefdc7cb34", kill_on_drop: false }` [INFO] [stdout] warning: unused variable: `internal_subset_end_index` [INFO] [stdout] --> src/parse/prolog.rs:322:17 [INFO] [stdout] | [INFO] [stdout] 322 | let internal_subset_end_index = match get_internal_subset_end_index(document, name_end_index + 2) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_internal_subset_end_index` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `document` [INFO] [stdout] --> src/parse/prolog.rs:340:38 [INFO] [stdout] | [INFO] [stdout] 340 | pub fn get_internal_subset_end_index(document: &[u16], mut index: usize) -> Option { [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_document` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `index` [INFO] [stdout] --> src/parse/prolog.rs:340:60 [INFO] [stdout] | [INFO] [stdout] 340 | pub fn get_internal_subset_end_index(document: &[u16], mut index: usize) -> Option { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_index` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/parse/prolog.rs:340:56 [INFO] [stdout] | [INFO] [stdout] 340 | pub fn get_internal_subset_end_index(document: &[u16], mut index: usize) -> Option { [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: unused variable: `document` [INFO] [stdout] --> src/parse/prolog.rs:388:23 [INFO] [stdout] | [INFO] [stdout] 388 | pub fn parse_xml_decl(document: &[u16], index: usize) -> XMLDecl { [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_document` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `index` [INFO] [stdout] --> src/parse/prolog.rs:388:41 [INFO] [stdout] | [INFO] [stdout] 388 | pub fn parse_xml_decl(document: &[u16], index: usize) -> XMLDecl { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_index` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `content` [INFO] [stdout] --> src/parse/mod.rs:71:30 [INFO] [stdout] | [INFO] [stdout] 71 | pub fn get_content_end_index(content: &[u16], index: usize) -> Option { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_content` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `index` [INFO] [stdout] --> src/parse/mod.rs:71:47 [INFO] [stdout] | [INFO] [stdout] 71 | pub fn get_content_end_index(content: &[u16], index: usize) -> Option { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_index` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `to_slice`, `len`, `g_len`, `index`, and `slice` are never used [INFO] [stdout] --> src/gstring.rs:41:12 [INFO] [stdout] | [INFO] [stdout] 19 | impl GString { [INFO] [stdout] | ------------ methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 41 | pub fn to_slice(&self) -> &[u16] { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 47 | pub fn len(&self) -> usize { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 51 | pub fn g_len(&self) -> usize { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 57 | pub fn index(&self, index: usize) -> u16 { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 63 | pub fn slice(&self, start: usize, end: usize) -> GString { [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_content_end_index` is never used [INFO] [stdout] --> src/parse/mod.rs:71:8 [INFO] [stdout] | [INFO] [stdout] 71 | pub fn get_content_end_index(content: &[u16], index: usize) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_element_end_index` is never used [INFO] [stdout] --> src/parse/tag.rs:16:8 [INFO] [stdout] | [INFO] [stdout] 16 | pub fn get_element_end_index(document: &[u16], index: usize) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: creating a shared reference to mutable static [INFO] [stdout] --> src/dom.rs:19:9 [INFO] [stdout] | [INFO] [stdout] 19 | ELEMENTS.iter().filter(|e| e.is_alive).map(|e| e.pointer).collect() [INFO] [stdout] | ^^^^^^^^^^^^^^^ shared reference to mutable static [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives [INFO] [stdout] = note: `#[warn(static_mut_refs)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: creating a shared reference to mutable static [INFO] [stdout] --> src/dom.rs:29:24 [INFO] [stdout] | [INFO] [stdout] 29 | return TAGS_BY_ID.as_ref().unwrap().get(&id).copied(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ shared reference to mutable static [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: creating a shared reference to mutable static [INFO] [stdout] --> src/dom.rs:54:13 [INFO] [stdout] | [INFO] [stdout] 54 | TAGS_BY_ID.as_ref().unwrap().keys().map(|id| id.to_string()).collect() [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ shared reference to mutable static [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: creating a mutable reference to mutable static [INFO] [stdout] --> src/dom.rs:68:17 [INFO] [stdout] | [INFO] [stdout] 68 | TAGS_BY_ID.as_mut().unwrap().remove(id); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: creating a mutable reference to mutable static [INFO] [stdout] --> src/dom.rs:74:24 [INFO] [stdout] | [INFO] [stdout] 74 | let tags = TAGS_BY_CLASS.as_mut().unwrap().get_mut(class).unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: creating a mutable reference to mutable static [INFO] [stdout] --> src/dom.rs:90:20 [INFO] [stdout] | [INFO] [stdout] 90 | let tags = TAGS_BY_NAME.as_mut().unwrap().get_mut(&el.tag_name).unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: creating a shared reference to mutable static [INFO] [stdout] --> src/dom.rs:121:19 [INFO] [stdout] | [INFO] [stdout] 121 | match TAGS_BY_NAME.as_ref().unwrap().get(&tag_name) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ shared reference to mutable static [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: creating a shared reference to mutable static [INFO] [stdout] --> src/dom.rs:138:26 [INFO] [stdout] | [INFO] [stdout] 138 | return match TAGS_BY_NAME.as_ref().unwrap().get(&tag_name) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ shared reference to mutable static [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: creating a shared reference to mutable static [INFO] [stdout] --> src/dom.rs:165:19 [INFO] [stdout] | [INFO] [stdout] 165 | match TAGS_BY_CLASS.as_ref().unwrap().get(&class_name) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ shared reference to mutable static [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: creating a shared reference to mutable static [INFO] [stdout] --> src/dom.rs:180:24 [INFO] [stdout] | [INFO] [stdout] 180 | for element in ELEMENTS.iter() { [INFO] [stdout] | ^^^^^^^^^^^^^^^ shared reference to mutable static [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: creating a shared reference to mutable static [INFO] [stdout] --> src/dom.rs:203:15 [INFO] [stdout] | [INFO] [stdout] 203 | match &PROLOG { [INFO] [stdout] | ^^^^^^^ shared reference to mutable static [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives [INFO] [stdout] help: use `&raw const` instead to create a raw pointer [INFO] [stdout] | [INFO] [stdout] 203 | match &raw const PROLOG { [INFO] [stdout] | +++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: creating a shared reference to mutable static [INFO] [stdout] --> src/err.rs:93:14 [INFO] [stdout] | [INFO] [stdout] 93 | unsafe { ERRORS.clone() } [INFO] [stdout] | ^^^^^^^^^^^^^^ shared reference to mutable static [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: creating a mutable reference to mutable static [INFO] [stdout] --> src/err.rs:97:14 [INFO] [stdout] | [INFO] [stdout] 97 | unsafe { ERRORS.push(e); } [INFO] [stdout] | ^^^^^^^^^^^^^^ mutable reference to mutable static [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: creating a shared reference to mutable static [INFO] [stdout] --> src/gstring.rs:26:43 [INFO] [stdout] | [INFO] [stdout] 26 | unsafe { GString { start: 0, end: GLOBAL_STRING.len() } } [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ shared reference to mutable static [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: creating a shared reference to mutable static [INFO] [stdout] --> src/gstring.rs:53:13 [INFO] [stdout] | [INFO] [stdout] 53 | GLOBAL_STRING.len() [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ shared reference to mutable static [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/gstring.rs:67:17 [INFO] [stdout] | [INFO] [stdout] 67 | pub fn iter(&self) -> std::slice::Iter { [INFO] [stdout] | ^^^^^ --------------------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [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] 67 | pub fn iter(&self) -> std::slice::Iter<'_, u16> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: creating a mutable reference to mutable static [INFO] [stdout] --> src/node/element.rs:161:32 [INFO] [stdout] | [INFO] [stdout] 161 | let tags_by_name = TAGS_BY_NAME.as_mut().unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: creating a mutable reference to mutable static [INFO] [stdout] --> src/node/element.rs:162:30 [INFO] [stdout] | [INFO] [stdout] 162 | let tags_by_id = TAGS_BY_ID.as_mut().unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: creating a mutable reference to mutable static [INFO] [stdout] --> src/node/element.rs:163:33 [INFO] [stdout] | [INFO] [stdout] 163 | let tags_by_class = TAGS_BY_CLASS.as_mut().unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: creating a mutable reference to mutable static [INFO] [stdout] --> src/node/memory.rs:18:9 [INFO] [stdout] | [INFO] [stdout] 18 | FREE_LIST.push(pointer.ptr); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: creating a shared reference to mutable static [INFO] [stdout] --> src/node/memory.rs:31:12 [INFO] [stdout] | [INFO] [stdout] 31 | if FREE_LIST.len() == 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^ shared reference to mutable static [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: creating a shared reference to mutable static [INFO] [stdout] --> src/node/memory.rs:35:47 [INFO] [stdout] | [INFO] [stdout] 35 | element.pointer = ElementPtr::new(ELEMENTS.len()); [INFO] [stdout] | ^^^^^^^^^^^^^^ shared reference to mutable static [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: creating a mutable reference to mutable static [INFO] [stdout] --> src/node/memory.rs:36:13 [INFO] [stdout] | [INFO] [stdout] 36 | ELEMENTS.push(element); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: creating a shared reference to mutable static [INFO] [stdout] --> src/node/memory.rs:38:29 [INFO] [stdout] | [INFO] [stdout] 38 | ElementPtr::new(ELEMENTS.len() - 1) [INFO] [stdout] | ^^^^^^^^^^^^^^ shared reference to mutable static [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: creating a mutable reference to mutable static [INFO] [stdout] --> src/node/memory.rs:42:27 [INFO] [stdout] | [INFO] [stdout] 42 | let pointer = FREE_LIST.pop().unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^ mutable reference to mutable static [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Compiling hxml v0.3.3 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused variable: `internal_subset_end_index` [INFO] [stdout] --> src/parse/prolog.rs:322:17 [INFO] [stdout] | [INFO] [stdout] 322 | let internal_subset_end_index = match get_internal_subset_end_index(document, name_end_index + 2) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_internal_subset_end_index` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `document` [INFO] [stdout] --> src/parse/prolog.rs:340:38 [INFO] [stdout] | [INFO] [stdout] 340 | pub fn get_internal_subset_end_index(document: &[u16], mut index: usize) -> Option { [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_document` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `index` [INFO] [stdout] --> src/parse/prolog.rs:340:60 [INFO] [stdout] | [INFO] [stdout] 340 | pub fn get_internal_subset_end_index(document: &[u16], mut index: usize) -> Option { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_index` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/parse/prolog.rs:340:56 [INFO] [stdout] | [INFO] [stdout] 340 | pub fn get_internal_subset_end_index(document: &[u16], mut index: usize) -> Option { [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: unused variable: `document` [INFO] [stdout] --> src/parse/prolog.rs:388:23 [INFO] [stdout] | [INFO] [stdout] 388 | pub fn parse_xml_decl(document: &[u16], index: usize) -> XMLDecl { [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_document` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `index` [INFO] [stdout] --> src/parse/prolog.rs:388:41 [INFO] [stdout] | [INFO] [stdout] 388 | pub fn parse_xml_decl(document: &[u16], index: usize) -> XMLDecl { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_index` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `content` [INFO] [stdout] --> src/parse/mod.rs:71:30 [INFO] [stdout] | [INFO] [stdout] 71 | pub fn get_content_end_index(content: &[u16], index: usize) -> Option { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_content` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `index` [INFO] [stdout] --> src/parse/mod.rs:71:47 [INFO] [stdout] | [INFO] [stdout] 71 | pub fn get_content_end_index(content: &[u16], index: usize) -> Option { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_index` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `to_slice`, `len`, `g_len`, `index`, and `slice` are never used [INFO] [stdout] --> src/gstring.rs:41:12 [INFO] [stdout] | [INFO] [stdout] 19 | impl GString { [INFO] [stdout] | ------------ methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 41 | pub fn to_slice(&self) -> &[u16] { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 47 | pub fn len(&self) -> usize { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 51 | pub fn g_len(&self) -> usize { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 57 | pub fn index(&self, index: usize) -> u16 { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 63 | pub fn slice(&self, start: usize, end: usize) -> GString { [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_content_end_index` is never used [INFO] [stdout] --> src/parse/mod.rs:71:8 [INFO] [stdout] | [INFO] [stdout] 71 | pub fn get_content_end_index(content: &[u16], index: usize) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_element_end_index` is never used [INFO] [stdout] --> src/parse/tag.rs:16:8 [INFO] [stdout] | [INFO] [stdout] 16 | pub fn get_element_end_index(document: &[u16], index: usize) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: creating a shared reference to mutable static [INFO] [stdout] --> src/dom.rs:19:9 [INFO] [stdout] | [INFO] [stdout] 19 | ELEMENTS.iter().filter(|e| e.is_alive).map(|e| e.pointer).collect() [INFO] [stdout] | ^^^^^^^^^^^^^^^ shared reference to mutable static [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives [INFO] [stdout] = note: `#[warn(static_mut_refs)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: creating a shared reference to mutable static [INFO] [stdout] --> src/dom.rs:29:24 [INFO] [stdout] | [INFO] [stdout] 29 | return TAGS_BY_ID.as_ref().unwrap().get(&id).copied(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ shared reference to mutable static [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: creating a shared reference to mutable static [INFO] [stdout] --> src/dom.rs:54:13 [INFO] [stdout] | [INFO] [stdout] 54 | TAGS_BY_ID.as_ref().unwrap().keys().map(|id| id.to_string()).collect() [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ shared reference to mutable static [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: creating a mutable reference to mutable static [INFO] [stdout] --> src/dom.rs:68:17 [INFO] [stdout] | [INFO] [stdout] 68 | TAGS_BY_ID.as_mut().unwrap().remove(id); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: creating a mutable reference to mutable static [INFO] [stdout] --> src/dom.rs:74:24 [INFO] [stdout] | [INFO] [stdout] 74 | let tags = TAGS_BY_CLASS.as_mut().unwrap().get_mut(class).unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: creating a mutable reference to mutable static [INFO] [stdout] --> src/dom.rs:90:20 [INFO] [stdout] | [INFO] [stdout] 90 | let tags = TAGS_BY_NAME.as_mut().unwrap().get_mut(&el.tag_name).unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: creating a shared reference to mutable static [INFO] [stdout] --> src/dom.rs:121:19 [INFO] [stdout] | [INFO] [stdout] 121 | match TAGS_BY_NAME.as_ref().unwrap().get(&tag_name) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ shared reference to mutable static [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: creating a shared reference to mutable static [INFO] [stdout] --> src/dom.rs:138:26 [INFO] [stdout] | [INFO] [stdout] 138 | return match TAGS_BY_NAME.as_ref().unwrap().get(&tag_name) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ shared reference to mutable static [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: creating a shared reference to mutable static [INFO] [stdout] --> src/dom.rs:165:19 [INFO] [stdout] | [INFO] [stdout] 165 | match TAGS_BY_CLASS.as_ref().unwrap().get(&class_name) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ shared reference to mutable static [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: creating a shared reference to mutable static [INFO] [stdout] --> src/dom.rs:180:24 [INFO] [stdout] | [INFO] [stdout] 180 | for element in ELEMENTS.iter() { [INFO] [stdout] | ^^^^^^^^^^^^^^^ shared reference to mutable static [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: creating a shared reference to mutable static [INFO] [stdout] --> src/dom.rs:203:15 [INFO] [stdout] | [INFO] [stdout] 203 | match &PROLOG { [INFO] [stdout] | ^^^^^^^ shared reference to mutable static [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives [INFO] [stdout] help: use `&raw const` instead to create a raw pointer [INFO] [stdout] | [INFO] [stdout] 203 | match &raw const PROLOG { [INFO] [stdout] | +++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: creating a shared reference to mutable static [INFO] [stdout] --> src/err.rs:93:14 [INFO] [stdout] | [INFO] [stdout] 93 | unsafe { ERRORS.clone() } [INFO] [stdout] | ^^^^^^^^^^^^^^ shared reference to mutable static [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: creating a mutable reference to mutable static [INFO] [stdout] --> src/err.rs:97:14 [INFO] [stdout] | [INFO] [stdout] 97 | unsafe { ERRORS.push(e); } [INFO] [stdout] | ^^^^^^^^^^^^^^ mutable reference to mutable static [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: creating a shared reference to mutable static [INFO] [stdout] --> src/gstring.rs:26:43 [INFO] [stdout] | [INFO] [stdout] 26 | unsafe { GString { start: 0, end: GLOBAL_STRING.len() } } [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ shared reference to mutable static [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: creating a shared reference to mutable static [INFO] [stdout] --> src/gstring.rs:32:59 [INFO] [stdout] | [INFO] [stdout] 32 | assert!(self.end >= self.start && self.end <= GLOBAL_STRING.len()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ shared reference to mutable static [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: creating a shared reference to mutable static [INFO] [stdout] --> src/gstring.rs:53:13 [INFO] [stdout] | [INFO] [stdout] 53 | GLOBAL_STRING.len() [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ shared reference to mutable static [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/gstring.rs:67:17 [INFO] [stdout] | [INFO] [stdout] 67 | pub fn iter(&self) -> std::slice::Iter { [INFO] [stdout] | ^^^^^ --------------------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [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] 67 | pub fn iter(&self) -> std::slice::Iter<'_, u16> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: creating a mutable reference to mutable static [INFO] [stdout] --> src/node/element.rs:161:32 [INFO] [stdout] | [INFO] [stdout] 161 | let tags_by_name = TAGS_BY_NAME.as_mut().unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: creating a mutable reference to mutable static [INFO] [stdout] --> src/node/element.rs:162:30 [INFO] [stdout] | [INFO] [stdout] 162 | let tags_by_id = TAGS_BY_ID.as_mut().unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: creating a mutable reference to mutable static [INFO] [stdout] --> src/node/element.rs:163:33 [INFO] [stdout] | [INFO] [stdout] 163 | let tags_by_class = TAGS_BY_CLASS.as_mut().unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: creating a mutable reference to mutable static [INFO] [stdout] --> src/node/memory.rs:18:9 [INFO] [stdout] | [INFO] [stdout] 18 | FREE_LIST.push(pointer.ptr); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: creating a shared reference to mutable static [INFO] [stdout] --> src/node/memory.rs:31:12 [INFO] [stdout] | [INFO] [stdout] 31 | if FREE_LIST.len() == 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^ shared reference to mutable static [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: creating a shared reference to mutable static [INFO] [stdout] --> src/node/memory.rs:35:47 [INFO] [stdout] | [INFO] [stdout] 35 | element.pointer = ElementPtr::new(ELEMENTS.len()); [INFO] [stdout] | ^^^^^^^^^^^^^^ shared reference to mutable static [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: creating a mutable reference to mutable static [INFO] [stdout] --> src/node/memory.rs:36:13 [INFO] [stdout] | [INFO] [stdout] 36 | ELEMENTS.push(element); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: creating a shared reference to mutable static [INFO] [stdout] --> src/node/memory.rs:38:29 [INFO] [stdout] | [INFO] [stdout] 38 | ElementPtr::new(ELEMENTS.len() - 1) [INFO] [stdout] | ^^^^^^^^^^^^^^ shared reference to mutable static [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: creating a mutable reference to mutable static [INFO] [stdout] --> src/node/memory.rs:42:27 [INFO] [stdout] | [INFO] [stdout] 42 | let pointer = FREE_LIST.pop().unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^ mutable reference to mutable static [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: creating a shared reference to mutable static [INFO] [stdout] --> src/testbench.rs:111:9 [INFO] [stdout] | [INFO] [stdout] 111 | dom::LOCK.lock().unwrap() [INFO] [stdout] | ^^^^^^^^^^^^^^^^ shared reference to mutable static [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: creating a shared reference to mutable static [INFO] [stdout] --> src/lib.rs:90:13 [INFO] [stdout] | [INFO] [stdout] 90 | dom::LOCK.lock().unwrap() [INFO] [stdout] | ^^^^^^^^^^^^^^^^ shared reference to mutable static [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 2.10s [INFO] running `Command { std: "docker" "inspect" "038dcfd9ab41ac9d9d55988c18e0ccaa77c0271ca80e0703206e07aefdc7cb34", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "038dcfd9ab41ac9d9d55988c18e0ccaa77c0271ca80e0703206e07aefdc7cb34", kill_on_drop: false }` [INFO] [stdout] 038dcfd9ab41ac9d9d55988c18e0ccaa77c0271ca80e0703206e07aefdc7cb34 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:90999bfc7ae267e83380e433d8e61a7c072ca6729e92edbae886d3423b3a6f4c" "/opt/rustwide/cargo-home/bin/cargo" "+8de4c7234dd9b97c9d76b58671343fdbbc9a433e" "test" "--frozen" "--target" "x86_64-unknown-linux-musl", kill_on_drop: false }` [INFO] [stdout] 4e2bbfae8b58f02851c6499ff48e9dda5a569fc33d3f8affb49e2ac3f0d248c9 [INFO] running `Command { std: "docker" "start" "-a" "4e2bbfae8b58f02851c6499ff48e9dda5a569fc33d3f8affb49e2ac3f0d248c9", kill_on_drop: false }` [INFO] [stderr] warning: unused variable: `internal_subset_end_index` [INFO] [stderr] --> src/parse/prolog.rs:322:17 [INFO] [stderr] | [INFO] [stderr] 322 | let internal_subset_end_index = match get_internal_subset_end_index(document, name_end_index + 2) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_internal_subset_end_index` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `document` [INFO] [stderr] --> src/parse/prolog.rs:340:38 [INFO] [stderr] | [INFO] [stderr] 340 | pub fn get_internal_subset_end_index(document: &[u16], mut index: usize) -> Option { [INFO] [stderr] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_document` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `index` [INFO] [stderr] --> src/parse/prolog.rs:340:60 [INFO] [stderr] | [INFO] [stderr] 340 | pub fn get_internal_subset_end_index(document: &[u16], mut index: usize) -> Option { [INFO] [stderr] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_index` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/parse/prolog.rs:340:56 [INFO] [stderr] | [INFO] [stderr] 340 | pub fn get_internal_subset_end_index(document: &[u16], mut index: usize) -> Option { [INFO] [stderr] | ----^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_mut)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `document` [INFO] [stderr] --> src/parse/prolog.rs:388:23 [INFO] [stderr] | [INFO] [stderr] 388 | pub fn parse_xml_decl(document: &[u16], index: usize) -> XMLDecl { [INFO] [stderr] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_document` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `index` [INFO] [stderr] --> src/parse/prolog.rs:388:41 [INFO] [stderr] | [INFO] [stderr] 388 | pub fn parse_xml_decl(document: &[u16], index: usize) -> XMLDecl { [INFO] [stderr] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_index` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `content` [INFO] [stderr] --> src/parse/mod.rs:71:30 [INFO] [stderr] | [INFO] [stderr] 71 | pub fn get_content_end_index(content: &[u16], index: usize) -> Option { [INFO] [stderr] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_content` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `index` [INFO] [stderr] --> src/parse/mod.rs:71:47 [INFO] [stderr] | [INFO] [stderr] 71 | pub fn get_content_end_index(content: &[u16], index: usize) -> Option { [INFO] [stderr] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_index` [INFO] [stderr] [INFO] [stderr] warning: methods `to_slice`, `len`, `g_len`, `index`, and `slice` are never used [INFO] [stderr] --> src/gstring.rs:41:12 [INFO] [stderr] | [INFO] [stderr] 19 | impl GString { [INFO] [stderr] | ------------ methods in this implementation [INFO] [stderr] ... [INFO] [stderr] 41 | pub fn to_slice(&self) -> &[u16] { [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 47 | pub fn len(&self) -> usize { [INFO] [stderr] | ^^^ [INFO] [stderr] ... [INFO] [stderr] 51 | pub fn g_len(&self) -> usize { [INFO] [stderr] | ^^^^^ [INFO] [stderr] ... [INFO] [stderr] 57 | pub fn index(&self, index: usize) -> u16 { [INFO] [stderr] | ^^^^^ [INFO] [stderr] ... [INFO] [stderr] 63 | pub fn slice(&self, start: usize, end: usize) -> GString { [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: function `get_content_end_index` is never used [INFO] [stderr] --> src/parse/mod.rs:71:8 [INFO] [stderr] | [INFO] [stderr] 71 | pub fn get_content_end_index(content: &[u16], index: usize) -> Option { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `get_element_end_index` is never used [INFO] [stderr] --> src/parse/tag.rs:16:8 [INFO] [stderr] | [INFO] [stderr] 16 | pub fn get_element_end_index(document: &[u16], index: usize) -> Option { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: creating a shared reference to mutable static [INFO] [stderr] --> src/dom.rs:19:9 [INFO] [stderr] | [INFO] [stderr] 19 | ELEMENTS.iter().filter(|e| e.is_alive).map(|e| e.pointer).collect() [INFO] [stderr] | ^^^^^^^^^^^^^^^ shared reference to mutable static [INFO] [stderr] | [INFO] [stderr] = note: for more information, see [INFO] [stderr] = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives [INFO] [stderr] = note: `#[warn(static_mut_refs)]` on by default [INFO] [stderr] [INFO] [stderr] warning: creating a shared reference to mutable static [INFO] [stderr] --> src/dom.rs:29:24 [INFO] [stderr] | [INFO] [stderr] 29 | return TAGS_BY_ID.as_ref().unwrap().get(&id).copied(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ shared reference to mutable static [INFO] [stderr] | [INFO] [stderr] = note: for more information, see [INFO] [stderr] = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives [INFO] [stderr] [INFO] [stderr] warning: creating a shared reference to mutable static [INFO] [stderr] --> src/dom.rs:54:13 [INFO] [stderr] | [INFO] [stderr] 54 | TAGS_BY_ID.as_ref().unwrap().keys().map(|id| id.to_string()).collect() [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ shared reference to mutable static [INFO] [stderr] | [INFO] [stderr] = note: for more information, see [INFO] [stderr] = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives [INFO] [stderr] [INFO] [stderr] warning: creating a mutable reference to mutable static [INFO] [stderr] --> src/dom.rs:68:17 [INFO] [stderr] | [INFO] [stderr] 68 | TAGS_BY_ID.as_mut().unwrap().remove(id); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static [INFO] [stderr] | [INFO] [stderr] = note: for more information, see [INFO] [stderr] = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives [INFO] [stderr] [INFO] [stderr] warning: creating a mutable reference to mutable static [INFO] [stderr] --> src/dom.rs:74:24 [INFO] [stderr] | [INFO] [stderr] 74 | let tags = TAGS_BY_CLASS.as_mut().unwrap().get_mut(class).unwrap(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static [INFO] [stderr] | [INFO] [stderr] = note: for more information, see [INFO] [stderr] = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives [INFO] [stderr] [INFO] [stderr] warning: creating a mutable reference to mutable static [INFO] [stderr] --> src/dom.rs:90:20 [INFO] [stderr] | [INFO] [stderr] 90 | let tags = TAGS_BY_NAME.as_mut().unwrap().get_mut(&el.tag_name).unwrap(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static [INFO] [stderr] | [INFO] [stderr] = note: for more information, see [INFO] [stderr] = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives [INFO] [stderr] [INFO] [stderr] warning: creating a shared reference to mutable static [INFO] [stderr] --> src/dom.rs:121:19 [INFO] [stderr] | [INFO] [stderr] 121 | match TAGS_BY_NAME.as_ref().unwrap().get(&tag_name) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ shared reference to mutable static [INFO] [stderr] | [INFO] [stderr] = note: for more information, see [INFO] [stderr] = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives [INFO] [stderr] [INFO] [stderr] warning: creating a shared reference to mutable static [INFO] [stderr] --> src/dom.rs:138:26 [INFO] [stderr] | [INFO] [stderr] 138 | return match TAGS_BY_NAME.as_ref().unwrap().get(&tag_name) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ shared reference to mutable static [INFO] [stderr] | [INFO] [stderr] = note: for more information, see [INFO] [stderr] = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives [INFO] [stderr] [INFO] [stderr] warning: creating a shared reference to mutable static [INFO] [stderr] --> src/dom.rs:165:19 [INFO] [stderr] | [INFO] [stderr] 165 | match TAGS_BY_CLASS.as_ref().unwrap().get(&class_name) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ shared reference to mutable static [INFO] [stderr] | [INFO] [stderr] = note: for more information, see [INFO] [stderr] = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives [INFO] [stderr] [INFO] [stderr] warning: creating a shared reference to mutable static [INFO] [stderr] --> src/dom.rs:180:24 [INFO] [stderr] | [INFO] [stderr] 180 | for element in ELEMENTS.iter() { [INFO] [stderr] | ^^^^^^^^^^^^^^^ shared reference to mutable static [INFO] [stderr] | [INFO] [stderr] = note: for more information, see [INFO] [stderr] = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives [INFO] [stderr] [INFO] [stderr] warning: creating a shared reference to mutable static [INFO] [stderr] --> src/dom.rs:203:15 [INFO] [stderr] | [INFO] [stderr] 203 | match &PROLOG { [INFO] [stderr] | ^^^^^^^ shared reference to mutable static [INFO] [stderr] | [INFO] [stderr] = note: for more information, see [INFO] [stderr] = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives [INFO] [stderr] help: use `&raw const` instead to create a raw pointer [INFO] [stderr] | [INFO] [stderr] 203 | match &raw const PROLOG { [INFO] [stderr] | +++++++++ [INFO] [stderr] [INFO] [stderr] warning: creating a shared reference to mutable static [INFO] [stderr] --> src/err.rs:93:14 [INFO] [stderr] | [INFO] [stderr] 93 | unsafe { ERRORS.clone() } [INFO] [stderr] | ^^^^^^^^^^^^^^ shared reference to mutable static [INFO] [stderr] | [INFO] [stderr] = note: for more information, see [INFO] [stderr] = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives [INFO] [stderr] [INFO] [stderr] warning: creating a mutable reference to mutable static [INFO] [stderr] --> src/err.rs:97:14 [INFO] [stderr] | [INFO] [stderr] 97 | unsafe { ERRORS.push(e); } [INFO] [stderr] | ^^^^^^^^^^^^^^ mutable reference to mutable static [INFO] [stderr] | [INFO] [stderr] = note: for more information, see [INFO] [stderr] = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives [INFO] [stderr] [INFO] [stderr] warning: creating a shared reference to mutable static [INFO] [stderr] --> src/gstring.rs:26:43 [INFO] [stderr] | [INFO] [stderr] 26 | unsafe { GString { start: 0, end: GLOBAL_STRING.len() } } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ shared reference to mutable static [INFO] [stderr] | [INFO] [stderr] = note: for more information, see [INFO] [stderr] = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives [INFO] [stderr] [INFO] [stderr] warning: creating a shared reference to mutable static [INFO] [stderr] --> src/gstring.rs:53:13 [INFO] [stderr] | [INFO] [stderr] 53 | GLOBAL_STRING.len() [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ shared reference to mutable static [INFO] [stderr] | [INFO] [stderr] = note: for more information, see [INFO] [stderr] = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives [INFO] [stderr] [INFO] [stderr] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stderr] --> src/gstring.rs:67:17 [INFO] [stderr] | [INFO] [stderr] 67 | pub fn iter(&self) -> std::slice::Iter { [INFO] [stderr] | ^^^^^ --------------------- the lifetime gets resolved as `'_` [INFO] [stderr] | | [INFO] [stderr] | this lifetime flows to the output [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stderr] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stderr] | [INFO] [stderr] 67 | pub fn iter(&self) -> std::slice::Iter<'_, u16> { [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: creating a mutable reference to mutable static [INFO] [stderr] --> src/node/element.rs:161:32 [INFO] [stderr] | [INFO] [stderr] 161 | let tags_by_name = TAGS_BY_NAME.as_mut().unwrap(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static [INFO] [stderr] | [INFO] [stderr] = note: for more information, see [INFO] [stderr] = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives [INFO] [stderr] [INFO] [stderr] warning: creating a mutable reference to mutable static [INFO] [stderr] --> src/node/element.rs:162:30 [INFO] [stderr] | [INFO] [stderr] 162 | let tags_by_id = TAGS_BY_ID.as_mut().unwrap(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static [INFO] [stderr] | [INFO] [stderr] = note: for more information, see [INFO] [stderr] = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives [INFO] [stderr] [INFO] [stderr] warning: creating a mutable reference to mutable static [INFO] [stderr] --> src/node/element.rs:163:33 [INFO] [stderr] | [INFO] [stderr] 163 | let tags_by_class = TAGS_BY_CLASS.as_mut().unwrap(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static [INFO] [stderr] | [INFO] [stderr] = note: for more information, see [INFO] [stderr] = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives [INFO] [stderr] [INFO] [stderr] warning: creating a mutable reference to mutable static [INFO] [stderr] --> src/node/memory.rs:18:9 [INFO] [stderr] | [INFO] [stderr] 18 | FREE_LIST.push(pointer.ptr); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static [INFO] [stderr] | [INFO] [stderr] = note: for more information, see [INFO] [stderr] = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives [INFO] [stderr] [INFO] [stderr] warning: creating a shared reference to mutable static [INFO] [stderr] --> src/node/memory.rs:31:12 [INFO] [stderr] | [INFO] [stderr] 31 | if FREE_LIST.len() == 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^ shared reference to mutable static [INFO] [stderr] | [INFO] [stderr] = note: for more information, see [INFO] [stderr] = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives [INFO] [stderr] [INFO] [stderr] warning: creating a shared reference to mutable static [INFO] [stderr] --> src/node/memory.rs:35:47 [INFO] [stderr] | [INFO] [stderr] 35 | element.pointer = ElementPtr::new(ELEMENTS.len()); [INFO] [stderr] | ^^^^^^^^^^^^^^ shared reference to mutable static [INFO] [stderr] | [INFO] [stderr] = note: for more information, see [INFO] [stderr] = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives [INFO] [stderr] [INFO] [stderr] warning: creating a mutable reference to mutable static [INFO] [stderr] --> src/node/memory.rs:36:13 [INFO] [stderr] | [INFO] [stderr] 36 | ELEMENTS.push(element); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static [INFO] [stderr] | [INFO] [stderr] = note: for more information, see [INFO] [stderr] = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives [INFO] [stderr] [INFO] [stderr] warning: creating a shared reference to mutable static [INFO] [stderr] --> src/node/memory.rs:38:29 [INFO] [stderr] | [INFO] [stderr] 38 | ElementPtr::new(ELEMENTS.len() - 1) [INFO] [stderr] | ^^^^^^^^^^^^^^ shared reference to mutable static [INFO] [stderr] | [INFO] [stderr] = note: for more information, see [INFO] [stderr] = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives [INFO] [stderr] [INFO] [stderr] warning: creating a mutable reference to mutable static [INFO] [stderr] --> src/node/memory.rs:42:27 [INFO] [stderr] | [INFO] [stderr] 42 | let pointer = FREE_LIST.pop().unwrap(); [INFO] [stderr] | ^^^^^^^^^^^^^^^ mutable reference to mutable static [INFO] [stderr] | [INFO] [stderr] = note: for more information, see [INFO] [stderr] = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives [INFO] [stderr] [INFO] [stderr] warning: `hxml` (lib) generated 36 warnings (run `cargo fix --lib -p hxml` to apply 2 suggestions) [INFO] [stderr] warning: creating a shared reference to mutable static [INFO] [stderr] --> src/gstring.rs:32:59 [INFO] [stderr] | [INFO] [stderr] 32 | assert!(self.end >= self.start && self.end <= GLOBAL_STRING.len()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ shared reference to mutable static [INFO] [stderr] | [INFO] [stderr] = note: for more information, see [INFO] [stderr] = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives [INFO] [stderr] [INFO] [stderr] warning: creating a shared reference to mutable static [INFO] [stderr] --> src/testbench.rs:111:9 [INFO] [stderr] | [INFO] [stderr] 111 | dom::LOCK.lock().unwrap() [INFO] [stderr] | ^^^^^^^^^^^^^^^^ shared reference to mutable static [INFO] [stderr] | [INFO] [stderr] = note: for more information, see [INFO] [stderr] = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives [INFO] [stderr] [INFO] [stderr] warning: creating a shared reference to mutable static [INFO] [stderr] --> src/lib.rs:90:13 [INFO] [stderr] | [INFO] [stderr] 90 | dom::LOCK.lock().unwrap() [INFO] [stderr] | ^^^^^^^^^^^^^^^^ shared reference to mutable static [INFO] [stderr] | [INFO] [stderr] = note: for more information, see [INFO] [stderr] = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives [INFO] [stderr] [INFO] [stderr] warning: `hxml` (lib test) generated 39 warnings (36 duplicates) [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.04s [INFO] [stdout] [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/x86_64-unknown-linux-musl/debug/deps/hxml-61dab6788aa30606) [INFO] [stdout] running 15 tests [INFO] [stdout] test parse::prolog::tests::doctype_test ... ok [INFO] [stdout] test parse::tests::cd_sect_test ... ok [INFO] [stdout] test parse::tests::char_data_test ... ok [INFO] [stdout] test parse::tests::comment_test ... ok [INFO] [stdout] test parse::tag::tests::empty_element_tag_test ... ok [INFO] [stdout] test parse::tag::tests::end_tag_test ... ok [INFO] [stdout] test parse::reference::tests::entity_reference_test ... ok [INFO] [stdout] test parse::prolog::tests::prolog_test ... ok [INFO] [stdout] test testbench::xml_dom_test ... ok [INFO] [stdout] test parse::tag::tests::start_tag_test ... ok [INFO] [stdout] test parse::reference::tests::char_reference_test ... ok [INFO] [stdout] test utils::tests::decimal_test ... ok [INFO] [stdout] test utils::tests::hexadecimal_test ... ok [INFO] [stdout] test tests::file_test ... ok [INFO] [stdout] test gstring::tests::split_test ... FAILED [INFO] [stdout] [INFO] [stdout] failures: [INFO] [stdout] [INFO] [stdout] ---- gstring::tests::split_test stdout ---- [INFO] [stdout] [INFO] [stdout] thread 'gstring::tests::split_test' panicked at src/gstring.rs:109:9: [INFO] [stdout] assertion `left == right` failed [INFO] [stdout] left: ["b", "dy", "::fmt::hb62c8ed31943daa5 [INFO] [stdout] at /rustc/8de4c7234dd9b97c9d76b58671343fdbbc9a433e/library/std/src/sys/backtrace.rs:39:26 [INFO] [stdout] 4: 0x71f4b59f4de3 - core::fmt::rt::Argument::fmt::he5eaa7dd607ed4c9 [INFO] [stdout] at /rustc/8de4c7234dd9b97c9d76b58671343fdbbc9a433e/library/core/src/fmt/rt.rs:173:76 [INFO] [stdout] 5: 0x71f4b59f4de3 - core::fmt::write::h375399f8cb90b45a [INFO] [stdout] at /rustc/8de4c7234dd9b97c9d76b58671343fdbbc9a433e/library/core/src/fmt/mod.rs:1460:25 [INFO] [stdout] 6: 0x71f4b59b7c63 - std::io::default_write_fmt::hdc1b4dd565dd0099 [INFO] [stdout] at /rustc/8de4c7234dd9b97c9d76b58671343fdbbc9a433e/library/std/src/io/mod.rs:639:11 [INFO] [stdout] 7: 0x71f4b59b7c63 - std::io::Write::write_fmt::h29f6044e9bc43c23 [INFO] [stdout] at /rustc/8de4c7234dd9b97c9d76b58671343fdbbc9a433e/library/std/src/io/mod.rs:1954:13 [INFO] [stdout] 8: 0x71f4b59ba782 - std::sys::backtrace::BacktraceLock::print::ha189c586374f916a [INFO] [stdout] at /rustc/8de4c7234dd9b97c9d76b58671343fdbbc9a433e/library/std/src/sys/backtrace.rs:42:9 [INFO] [stdout] 9: 0x71f4b59bbefc - std::panicking::default_hook::{{closure}}::ha3a26c98ff210e12 [INFO] [stdout] at /rustc/8de4c7234dd9b97c9d76b58671343fdbbc9a433e/library/std/src/panicking.rs:300:27 [INFO] [stdout] 10: 0x71f4b59bbd52 - std::panicking::default_hook::h8c8a86b4390ab794 [INFO] [stdout] at /rustc/8de4c7234dd9b97c9d76b58671343fdbbc9a433e/library/std/src/panicking.rs:324:9 [INFO] [stdout] 11: 0x71f4b5988db4 - as core::ops::function::Fn>::call::ha39ae63ed1e9a130 [INFO] [stdout] at /rustc/8de4c7234dd9b97c9d76b58671343fdbbc9a433e/library/alloc/src/boxed.rs:1980:9 [INFO] [stdout] 12: 0x71f4b5988db4 - test::test_main_with_exit_callback::{{closure}}::h9df7c328ebe18c28 [INFO] [stdout] at /rustc/8de4c7234dd9b97c9d76b58671343fdbbc9a433e/library/test/src/lib.rs:145:21 [INFO] [stdout] 13: 0x71f4b59bc883 - as core::ops::function::Fn>::call::h96b7201b552e9069 [INFO] [stdout] at /rustc/8de4c7234dd9b97c9d76b58671343fdbbc9a433e/library/alloc/src/boxed.rs:1980:9 [INFO] [stdout] 14: 0x71f4b59bc883 - std::panicking::rust_panic_with_hook::hb3b66c2e80efa371 [INFO] [stdout] at /rustc/8de4c7234dd9b97c9d76b58671343fdbbc9a433e/library/std/src/panicking.rs:841:13 [INFO] [stdout] 15: 0x71f4b59bc64a - std::panicking::begin_panic_handler::{{closure}}::h9c68d0f839e62070 [INFO] [stdout] at /rustc/8de4c7234dd9b97c9d76b58671343fdbbc9a433e/library/std/src/panicking.rs:706:13 [INFO] [stdout] 16: 0x71f4b59bae29 - std::sys::backtrace::__rust_end_short_backtrace::h68d22ddde4a73ad6 [INFO] [stdout] at /rustc/8de4c7234dd9b97c9d76b58671343fdbbc9a433e/library/std/src/sys/backtrace.rs:168:18 [INFO] [stdout] 17: 0x71f4b59bc2dd - __rustc[f4ffc7196a45a630]::rust_begin_unwind [INFO] [stdout] at /rustc/8de4c7234dd9b97c9d76b58671343fdbbc9a433e/library/std/src/panicking.rs:697:5 [INFO] [stdout] 18: 0x71f4b5904e70 - core::panicking::panic_fmt::h8cdd4c81eb9069aa [INFO] [stdout] at /rustc/8de4c7234dd9b97c9d76b58671343fdbbc9a433e/library/core/src/panicking.rs:75:14 [INFO] [stdout] 19: 0x71f4b5905193 - core::panicking::assert_failed_inner::h483faaa3ae844fd5 [INFO] [stdout] at /rustc/8de4c7234dd9b97c9d76b58671343fdbbc9a433e/library/core/src/panicking.rs:432:17 [INFO] [stdout] 20: 0x71f4b593875e - core::panicking::assert_failed::h24391d033b9e06bf [INFO] [stdout] at /rustc/8de4c7234dd9b97c9d76b58671343fdbbc9a433e/library/core/src/panicking.rs:387:5 [INFO] [stdout] 21: 0x71f4b5937f2e - hxml::gstring::tests::split_test::hbbf0a7d58f97fe0f [INFO] [stdout] at /opt/rustwide/workdir/src/gstring.rs:109:9 [INFO] [stdout] 22: 0x71f4b5937a47 - hxml::gstring::tests::split_test::{{closure}}::hc0012fc8bc04388a [INFO] [stdout] at /opt/rustwide/workdir/src/gstring.rs:101:20 [INFO] [stdout] 23: 0x71f4b5940446 - core::ops::function::FnOnce::call_once::h025531e51038b1af [INFO] [stdout] at /rustc/8de4c7234dd9b97c9d76b58671343fdbbc9a433e/library/core/src/ops/function.rs:250:5 [INFO] [stdout] 24: 0x71f4b598e4ab - core::ops::function::FnOnce::call_once::h9633dcf760ae81b2 [INFO] [stdout] at /rustc/8de4c7234dd9b97c9d76b58671343fdbbc9a433e/library/core/src/ops/function.rs:250:5 [INFO] [stdout] 25: 0x71f4b598e4ab - test::__rust_begin_short_backtrace::h12ad5e04c8d7b4a5 [INFO] [stdout] at /rustc/8de4c7234dd9b97c9d76b58671343fdbbc9a433e/library/test/src/lib.rs:648:18 [INFO] [stdout] 26: 0x71f4b598d71e - test::run_test_in_process::{{closure}}::he596b4fd3fa4893c [INFO] [stdout] at /rustc/8de4c7234dd9b97c9d76b58671343fdbbc9a433e/library/test/src/lib.rs:671:74 [INFO] [stdout] 27: 0x71f4b598d71e - as core::ops::function::FnOnce<()>>::call_once::hc746bc3fa75190e0 [INFO] [stdout] at /rustc/8de4c7234dd9b97c9d76b58671343fdbbc9a433e/library/core/src/panic/unwind_safe.rs:272:9 [INFO] [stdout] 28: 0x71f4b598d71e - std::panicking::catch_unwind::do_call::hf4843906108d6299 [INFO] [stdout] at /rustc/8de4c7234dd9b97c9d76b58671343fdbbc9a433e/library/std/src/panicking.rs:589:40 [INFO] [stdout] 29: 0x71f4b598d71e - std::panicking::catch_unwind::h849d4e8b03577bb9 [INFO] [stdout] at /rustc/8de4c7234dd9b97c9d76b58671343fdbbc9a433e/library/std/src/panicking.rs:552:19 [INFO] [stdout] 30: 0x71f4b598d71e - std::panic::catch_unwind::ha1f814c1dec025d2 [INFO] [stdout] at /rustc/8de4c7234dd9b97c9d76b58671343fdbbc9a433e/library/std/src/panic.rs:359:14 [INFO] [stdout] 31: 0x71f4b598d71e - test::run_test_in_process::h542aad3fe61255e7 [INFO] [stdout] at /rustc/8de4c7234dd9b97c9d76b58671343fdbbc9a433e/library/test/src/lib.rs:671:27 [INFO] [stdout] 32: 0x71f4b598d71e - test::run_test::{{closure}}::h612788d75908cb63 [INFO] [stdout] at /rustc/8de4c7234dd9b97c9d76b58671343fdbbc9a433e/library/test/src/lib.rs:592:43 [INFO] [stdout] 33: 0x71f4b59525a4 - test::run_test::{{closure}}::hbfeea3bcb7245123 [INFO] [stdout] at /rustc/8de4c7234dd9b97c9d76b58671343fdbbc9a433e/library/test/src/lib.rs:622:41 [INFO] [stdout] 34: 0x71f4b59525a4 - std::sys::backtrace::__rust_begin_short_backtrace::h72542b83b4f87d5b [INFO] [stdout] at /rustc/8de4c7234dd9b97c9d76b58671343fdbbc9a433e/library/std/src/sys/backtrace.rs:152:18 [INFO] [stderr] error: test failed, to rerun pass `--lib` [INFO] [stdout] 35: 0x71f4b5955d9a - std::thread::Builder::spawn_unchecked_::{{closure}}::{{closure}}::hff26a7547ea762c9 [INFO] [stdout] at /rustc/8de4c7234dd9b97c9d76b58671343fdbbc9a433e/library/std/src/thread/mod.rs:559:17 [INFO] [stdout] 36: 0x71f4b5955d9a - as core::ops::function::FnOnce<()>>::call_once::hbee49bc759312884 [INFO] [stdout] at /rustc/8de4c7234dd9b97c9d76b58671343fdbbc9a433e/library/core/src/panic/unwind_safe.rs:272:9 [INFO] [stdout] 37: 0x71f4b5955d9a - std::panicking::catch_unwind::do_call::h61de12ce5e04e28f [INFO] [stdout] at /rustc/8de4c7234dd9b97c9d76b58671343fdbbc9a433e/library/std/src/panicking.rs:589:40 [INFO] [stdout] 38: 0x71f4b5955d9a - std::panicking::catch_unwind::h454dd49873d22e18 [INFO] [stdout] at /rustc/8de4c7234dd9b97c9d76b58671343fdbbc9a433e/library/std/src/panicking.rs:552:19 [INFO] [stdout] 39: 0x71f4b5955d9a - std::panic::catch_unwind::h5c15187324f8cebb [INFO] [stdout] at /rustc/8de4c7234dd9b97c9d76b58671343fdbbc9a433e/library/std/src/panic.rs:359:14 [INFO] [stdout] 40: 0x71f4b5955d9a - std::thread::Builder::spawn_unchecked_::{{closure}}::hbc9d9c7427673d42 [INFO] [stdout] at /rustc/8de4c7234dd9b97c9d76b58671343fdbbc9a433e/library/std/src/thread/mod.rs:557:30 [INFO] [stdout] 41: 0x71f4b5955d9a - core::ops::function::FnOnce::call_once{{vtable.shim}}::hefd458a129ddca13 [INFO] [stdout] at /rustc/8de4c7234dd9b97c9d76b58671343fdbbc9a433e/library/core/src/ops/function.rs:250:5 [INFO] [stdout] 42: 0x71f4b59bf2d7 - as core::ops::function::FnOnce>::call_once::h2d6e2e526b02c3da [INFO] [stdout] at /rustc/8de4c7234dd9b97c9d76b58671343fdbbc9a433e/library/alloc/src/boxed.rs:1966:9 [INFO] [stdout] 43: 0x71f4b59bf2d7 - as core::ops::function::FnOnce>::call_once::h1aefced482b33c72 [INFO] [stdout] at /rustc/8de4c7234dd9b97c9d76b58671343fdbbc9a433e/library/alloc/src/boxed.rs:1966:9 [INFO] [stdout] 44: 0x71f4b59bf2d7 - std::sys::pal::unix::thread::Thread::new::thread_start::h7c9c6951b48f721d [INFO] [stdout] at /rustc/8de4c7234dd9b97c9d76b58671343fdbbc9a433e/library/std/src/sys/pal/unix/thread.rs:97:17 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] failures: [INFO] [stdout] gstring::tests::split_test [INFO] [stdout] [INFO] [stdout] test result: FAILED. 14 passed; 1 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.06s [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "4e2bbfae8b58f02851c6499ff48e9dda5a569fc33d3f8affb49e2ac3f0d248c9", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "4e2bbfae8b58f02851c6499ff48e9dda5a569fc33d3f8affb49e2ac3f0d248c9", kill_on_drop: false }` [INFO] [stdout] 4e2bbfae8b58f02851c6499ff48e9dda5a569fc33d3f8affb49e2ac3f0d248c9