[INFO] cloning repository https://github.com/mundo-68/quill-core-rs [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/mundo-68/quill-core-rs" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmundo-68%2Fquill-core-rs", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmundo-68%2Fquill-core-rs'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 66069d9ea651f8dcfe8374bd382030c52516c5e8 [INFO] linting mundo-68/quill-core-rs against nightly for clippy-nonminimal_bool-denied [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmundo-68%2Fquill-core-rs" "/workspace/builds/worker-7-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-7-tc1/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/mundo-68/quill-core-rs [INFO] finished tweaking git repo https://github.com/mundo-68/quill-core-rs [INFO] tweaked toml for git repo https://github.com/mundo-68/quill-core-rs written to /workspace/builds/worker-7-tc1/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/mundo-68/quill-core-rs on toolchain nightly [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+nightly" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/mundo-68/quill-core-rs already has a lockfile, it will not be regenerated [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+nightly" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating git repository `https://github.com/mundo-68/quill-delta-rs.git` [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded wasm-bindgen-test v0.3.41 [INFO] [stderr] Downloaded anyhow v1.0.80 [INFO] [stderr] Downloaded wasm-bindgen-test-macro v0.3.41 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+nightly" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] a071f40c9d3c384a7f69a7596f4a80d4127bbb2c0ed68c4eedcc68c7a4c8246c [INFO] running `Command { std: "docker" "start" "-a" "a071f40c9d3c384a7f69a7596f4a80d4127bbb2c0ed68c4eedcc68c7a4c8246c", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "a071f40c9d3c384a7f69a7596f4a80d4127bbb2c0ed68c4eedcc68c7a4c8246c", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "a071f40c9d3c384a7f69a7596f4a80d4127bbb2c0ed68c4eedcc68c7a4c8246c", kill_on_drop: false }` [INFO] [stdout] a071f40c9d3c384a7f69a7596f4a80d4127bbb2c0ed68c4eedcc68c7a4c8246c [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+nightly" "clippy" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] c3a974b3ff288882fbbe43ea97ad690d6a832a2e54c31aee32964f3c41371ad7 [INFO] running `Command { std: "docker" "start" "-a" "c3a974b3ff288882fbbe43ea97ad690d6a832a2e54c31aee32964f3c41371ad7", kill_on_drop: false }` [INFO] [stderr] Compiling proc-macro2 v1.0.78 [INFO] [stderr] Compiling wasm-bindgen-shared v0.2.91 [INFO] [stderr] Compiling bumpalo v3.15.0 [INFO] [stderr] Compiling log v0.4.20 [INFO] [stderr] Compiling wasm-bindgen v0.2.91 [INFO] [stderr] Compiling anyhow v1.0.80 [INFO] [stderr] Compiling serde v1.0.196 [INFO] [stderr] Compiling thiserror v1.0.57 [INFO] [stderr] Compiling serde_json v1.0.113 [INFO] [stderr] Checking sharded-slab v0.1.7 [INFO] [stderr] Checking thread_local v1.1.7 [INFO] [stderr] Checking diffs v0.4.1 (https://github.com/mundo-68/quill-delta-rs.git#96475c5f) [INFO] [stderr] Checking tracing-subscriber v0.3.18 [INFO] [stderr] Compiling quote v1.0.35 [INFO] [stderr] Compiling syn v2.0.49 [INFO] [stderr] Compiling wasm-bindgen-backend v0.2.91 [INFO] [stderr] Compiling serde_derive v1.0.196 [INFO] [stderr] Compiling tracing-attributes v0.1.27 [INFO] [stderr] Compiling thiserror-impl v1.0.57 [INFO] [stderr] Compiling wasm-bindgen-test-macro v0.3.41 [INFO] [stderr] Compiling wasm-bindgen-macro-support v0.2.91 [INFO] [stderr] Compiling wasm-bindgen-macro v0.2.91 [INFO] [stderr] Checking tracing v0.1.40 [INFO] [stderr] Checking js-sys v0.3.68 [INFO] [stderr] Checking tracing-wasm v0.2.1 [INFO] [stderr] Checking console_error_panic_hook v0.1.7 [INFO] [stderr] Checking web-sys v0.3.68 [INFO] [stderr] Checking wasm-bindgen-futures v0.4.41 [INFO] [stderr] Checking wasm-bindgen-test v0.3.41 [INFO] [stderr] Checking delta v0.1.1 (https://github.com/mundo-68/quill-delta-rs.git#96475c5f) [INFO] [stderr] Checking dom v0.1.0 (/opt/rustwide/workdir/dom) [INFO] [stderr] Checking console_log v0.2.2 [INFO] [stderr] Checking node_tree v0.1.0 (/opt/rustwide/workdir/node_tree) [INFO] [stdout] warning: empty line after doc comment [INFO] [stdout] --> node_tree/src/tree_traverse.rs:30:1 [INFO] [stdout] | [INFO] [stdout] 30 | / /// [DftPost](https://docs.rs/traversal/0.1.2/traversal/struct.DftPost.html]) (Depth-First Traversal in Post-Order) [INFO] [stdout] 31 | | [INFO] [stdout] | |_^ [INFO] [stdout] ... [INFO] [stdout] 36 | pub fn is_doc_root(doc_node: &DocumentNode) -> bool { [INFO] [stdout] | ------------------ the comment documents this function [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#empty_line_after_doc_comments [INFO] [stdout] = note: `#[warn(clippy::empty_line_after_doc_comments)]` on by default [INFO] [stdout] = help: if the empty line is unintentional, remove it [INFO] [stdout] help: if the doc comment should not document function `is_doc_root` then comment it out [INFO] [stdout] | [INFO] [stdout] 12 ~ // /// # tree_traverse [INFO] [stdout] 13 ~ // /// [INFO] [stdout] 14 ~ // /// Iterator methods to traverse the tree in a LINEAR order of the document-transformations [INFO] [stdout] 15 ~ // /// The doc-node tree may look like below. Since we have the "block" operations AFTER the [INFO] [stdout] 16 ~ // /// declaration of the leaf node, we should return the block B after E, which comes after D. [INFO] [stdout] 17 ~ // /// ```bash [INFO] [stdout] 18 ~ // /// A [INFO] [stdout] 19 ~ // /// / \ [INFO] [stdout] 20 ~ // /// B C [INFO] [stdout] 21 ~ // /// / \ / \ [INFO] [stdout] 22 ~ // /// D E F G [INFO] [stdout] 23 ~ // ///``` [INFO] [stdout] 24 ~ // /// Repeated calls to `Next()` should return :D, E, B, F, G, C, A [INFO] [stdout] 25 ~ // /// [INFO] [stdout] 26 ~ // /// Debug hit: If there are `*.unwrap()` errors from this library, then it is probably a [INFO] [stdout] 27 ~ // /// `unlinked-node` that we use as input. [INFO] [stdout] 28 ~ // /// [INFO] [stdout] 29 ~ // /// Maybe have a look at the traversal package: [INFO] [stdout] 30 ~ // /// [DftPost](https://docs.rs/traversal/0.1.2/traversal/struct.DftPost.html]) (Depth-First Traversal in Post-Order) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: empty line after doc comment [INFO] [stdout] --> node_tree/src/format_trait.rs:88:5 [INFO] [stdout] | [INFO] [stdout] 88 | / ///-------------------------------------------------------------- [INFO] [stdout] 89 | | [INFO] [stdout] | |_^ [INFO] [stdout] ... [INFO] [stdout] 95 | fn clone_doc_node(&self, doc_node: &Arc) -> Result> { [INFO] [stdout] | ----------------- the comment documents this function [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#empty_line_after_doc_comments [INFO] [stdout] = help: if the empty line is unintentional, remove it [INFO] [stdout] help: if the documentation should include the empty line include it in the comment [INFO] [stdout] | [INFO] [stdout] 89 | /// [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc list item without indentation [INFO] [stdout] --> node_tree/src/cursor.rs:105:9 [INFO] [stdout] | [INFO] [stdout] 105 | /// Same goes for at the start of the document. [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: if this is supposed to be its own paragraph, add a blank line [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation [INFO] [stdout] = note: `#[warn(clippy::doc_lazy_continuation)]` on by default [INFO] [stdout] help: indent this line [INFO] [stdout] | [INFO] [stdout] 105 | /// Same goes for at the start of the document. [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: length comparison to zero [INFO] [stdout] --> node_tree/src/doc_node.rs:236:24 [INFO] [stdout] | [INFO] [stdout] 236 | let is_empty = self.children.borrow().len() == 0; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `self.children.borrow().is_empty()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stdout] = note: `#[warn(clippy::len_zero)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> node_tree/src/dom_cursor.rs:140:9 [INFO] [stdout] | [INFO] [stdout] 140 | / return match start_container.node_type() { [INFO] [stdout] 141 | | Node::TEXT_NODE => { [INFO] [stdout] 142 | | let doc_node_o = find_doc_node_from_text_node(&start_container, &self.root_node); [INFO] [stdout] 143 | | if let Some(doc_node) = doc_node_o { [INFO] [stdout] ... | [INFO] [stdout] 208 | | }; [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] = note: `#[warn(clippy::needless_return)]` on by default [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 140 ~ match start_container.node_type() { [INFO] [stdout] 141 + Node::TEXT_NODE => { [INFO] [stdout] 142 + let doc_node_o = find_doc_node_from_text_node(&start_container, &self.root_node); [INFO] [stdout] 143 + if let Some(doc_node) = doc_node_o { [INFO] [stdout] 144 + let node_len = doc_node.get_operation().op_len(); [INFO] [stdout] 145 + if start_offset == 0 { [INFO] [stdout] 146 + CursorLocation::Before(doc_node) [INFO] [stdout] 147 + } else if start_offset == node_len { [INFO] [stdout] 148 + CursorLocation::After(doc_node) [INFO] [stdout] 149 + } else if start_offset < node_len { [INFO] [stdout] 150 + CursorLocation::At(doc_node, start_offset) [INFO] [stdout] 151 + } else { [INFO] [stdout] 152 + CursorLocation::None [INFO] [stdout] 153 + } [INFO] [stdout] 154 + } else { [INFO] [stdout] 155 + let text = DomText::from(start_container); [INFO] [stdout] 156 + let parent = text.get_parent().unwrap(); [INFO] [stdout] 157 + let doc_node_o = find_doc_node_from_text_node(parent.as_ref(), &self.root_node); [INFO] [stdout] 158 + if let Some(doc_node) = doc_node_o { [INFO] [stdout] 159 + let node_len = doc_node.get_operation().op_len(); [INFO] [stdout] 160 + if start_offset == 0 { [INFO] [stdout] 161 + CursorLocation::Before(doc_node) [INFO] [stdout] 162 + } else if start_offset == node_len { [INFO] [stdout] 163 + CursorLocation::After(doc_node) [INFO] [stdout] 164 + } else if start_offset < node_len { [INFO] [stdout] 165 + CursorLocation::At(doc_node, start_offset) [INFO] [stdout] 166 + } else { [INFO] [stdout] 167 + debug!( [INFO] [stdout] 168 + "Doc Node operation: {:?}\n Doc Node text: {:?}", [INFO] [stdout] 169 + doc_node.get_operation(), [INFO] [stdout] 170 + text.get_text() [INFO] [stdout] 171 + ); [INFO] [stdout] 172 + panic!( "PANIC: DomCursor::get_selection(): Hey it seems the browser does not match the document operation node."); [INFO] [stdout] 173 + } [INFO] [stdout] 174 + } else { [INFO] [stdout] 175 + panic!("DomCursor::get_selection(): Node is a text node, but we have not found one ... programming error? ") [INFO] [stdout] 176 + } [INFO] [stdout] 177 + } [INFO] [stdout] 178 + } [INFO] [stdout] 179 + Node::ELEMENT_NODE => { [INFO] [stdout] 180 + if start_offset == 0 { [INFO] [stdout] 181 + let node = if start_container.node_name() == "BR" { [INFO] [stdout] 182 + start_container.parent_node().unwrap() [INFO] [stdout] 183 + } else { [INFO] [stdout] 184 + start_container [INFO] [stdout] 185 + }; [INFO] [stdout] 186 + let doc_node = find_doc_node_from_element_node(&node, &self.root_node).unwrap(); [INFO] [stdout] 187 + CursorLocation::At(doc_node, 0) [INFO] [stdout] 188 + } else if let Some(prev_sibling) = [INFO] [stdout] 189 + start_container.child_nodes().get(start_offset as u32 - 1) [INFO] [stdout] 190 + { [INFO] [stdout] 191 + if prev_sibling.node_type() == Node::TEXT_NODE { [INFO] [stdout] 192 + let doc_node = [INFO] [stdout] 193 + find_doc_node_from_text_node(&start_container, &self.root_node); [INFO] [stdout] 194 + CursorLocation::After(doc_node.unwrap_throw()) [INFO] [stdout] 195 + } else { [INFO] [stdout] 196 + panic!( [INFO] [stdout] 197 + "PANIC: DomCursor::get_selection(): Prev node is an ELEMENT.{} ", [INFO] [stdout] 198 + start_container.node_name() [INFO] [stdout] 199 + ); [INFO] [stdout] 200 + } [INFO] [stdout] 201 + } else { [INFO] [stdout] 202 + panic!("PANIC: DomCursor::get_selection(): Strange ... why am I here?."); [INFO] [stdout] 203 + } [INFO] [stdout] 204 + } [INFO] [stdout] 205 + _ => { [INFO] [stdout] 206 + panic!( "PANIC: DomCursor::get_selection(): Not text, and not an element!! (header anyone??)."); [INFO] [stdout] 207 + } [INFO] [stdout] 208 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Checking core_formats v0.1.0 (/opt/rustwide/workdir/core_formats) [INFO] [stderr] Checking soft_break v0.1.0 (/opt/rustwide/workdir/formats/soft_break) [INFO] [stdout] warning: empty line after doc comment [INFO] [stdout] --> core_formats/src/util/lookup.rs:24:1 [INFO] [stdout] | [INFO] [stdout] 24 | / /// Now we loop over `VEC` and get pairs `(html_key, a_val)` [INFO] [stdout] 25 | | [INFO] [stdout] | |_^ [INFO] [stdout] ... [INFO] [stdout] 28 | pub struct AttributesLookup<'a> { [INFO] [stdout] | --------------------------- the comment documents this struct [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#empty_line_after_doc_comments [INFO] [stdout] = note: `#[warn(clippy::empty_line_after_doc_comments)]` on by default [INFO] [stdout] = help: if the empty line is unintentional, remove it [INFO] [stdout] help: if the documentation should include the empty line include it in the comment [INFO] [stdout] | [INFO] [stdout] 25 | /// [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: empty line after doc comment [INFO] [stdout] --> core_formats/src/format_const.rs:13:1 [INFO] [stdout] | [INFO] [stdout] 13 | / /// to switch the format off. [INFO] [stdout] 14 | | [INFO] [stdout] | |_^ [INFO] [stdout] 15 | pub const FORMAT_BOLD: &str = "bold"; [INFO] [stdout] | --------------------- the comment documents this constant item [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#empty_line_after_doc_comments [INFO] [stdout] = help: if the empty line is unintentional, remove it [INFO] [stdout] help: if the comment should document the parent module use an inner doc comment [INFO] [stdout] | [INFO] [stdout] 8 ~ //! # format constants [INFO] [stdout] 9 ~ //! [INFO] [stdout] 10 ~ //! These names are used in the Delta documents to define formats for text. [INFO] [stdout] 11 ~ //! These can have either value `true`, or be absent from the attributes list. [INFO] [stdout] 12 ~ //! Inverted delta operations may have these values also as `false` in order [INFO] [stdout] 13 ~ //! to switch the format off. [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: usage of an `Arc` that is not `Send` and `Sync` [INFO] [stdout] --> formats/soft_break/src/mod.rs:67:18 [INFO] [stdout] | [INFO] [stdout] 67 | let dn = Arc::new(DocumentNode::new_element(br, formatter.clone())); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Arc` is not `Send` and `Sync` as `DocumentNode` is neither `Send` nor `Sync` [INFO] [stdout] = help: if the `Arc` will not be used across threads replace it with an `Rc` [INFO] [stdout] = help: otherwise make `DocumentNode` `Send` and `Sync` or consider a wrapper type such as `Mutex` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#arc_with_non_send_sync [INFO] [stdout] = note: `#[warn(clippy::arc_with_non_send_sync)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: usage of an `Arc` that is not `Send` and `Sync` [INFO] [stdout] --> core_formats/src/paragraph.rs:53:18 [INFO] [stdout] | [INFO] [stdout] 53 | let dn = Arc::new(DocumentNode::new_element(element, formatter.clone())); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Arc` is not `Send` and `Sync` as `DocumentNode` is neither `Send` nor `Sync` [INFO] [stdout] = help: if the `Arc` will not be used across threads replace it with an `Rc` [INFO] [stdout] = help: otherwise make `DocumentNode` `Send` and `Sync` or consider a wrapper type such as `Mutex` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#arc_with_non_send_sync [INFO] [stdout] = note: `#[warn(clippy::arc_with_non_send_sync)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc list item without indentation [INFO] [stdout] --> core_formats/src/t_formats.rs:22:5 [INFO] [stdout] | [INFO] [stdout] 22 | /// Where the supported formats are described below. Other formats are ignored ... [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: if this is supposed to be its own paragraph, add a blank line [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation [INFO] [stdout] = note: `#[warn(clippy::doc_lazy_continuation)]` on by default [INFO] [stdout] help: indent this line [INFO] [stdout] | [INFO] [stdout] 22 | /// Where the supported formats are described below. Other formats are ignored ... [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: usage of an `Arc` that is not `Send` and `Sync` [INFO] [stdout] --> core_formats/src/t_formats.rs:114:24 [INFO] [stdout] | [INFO] [stdout] 114 | let new_doc_node = Arc::new(dd); [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Arc` is not `Send` and `Sync` as `DocumentNode` is neither `Send` nor `Sync` [INFO] [stdout] = help: if the `Arc` will not be used across threads replace it with an `Rc` [INFO] [stdout] = help: otherwise make `DocumentNode` `Send` and `Sync` or consider a wrapper type such as `Mutex` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#arc_with_non_send_sync [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: usage of an `Arc` that is not `Send` and `Sync` [INFO] [stdout] --> core_formats/src/t_formats.rs:135:32 [INFO] [stdout] | [INFO] [stdout] 135 | let new_doc_node = Arc::new(dd); [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Arc` is not `Send` and `Sync` as `DocumentNode` is neither `Send` nor `Sync` [INFO] [stdout] = help: if the `Arc` will not be used across threads replace it with an `Rc` [INFO] [stdout] = help: otherwise make `DocumentNode` `Send` and `Sync` or consider a wrapper type such as `Mutex` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#arc_with_non_send_sync [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: usage of an `Arc` that is not `Send` and `Sync` [INFO] [stdout] --> core_formats/src/text_formatter.rs:204:20 [INFO] [stdout] | [INFO] [stdout] 204 | let doc_node = Arc::new(dd); [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Arc` is not `Send` and `Sync` as `DocumentNode` is neither `Send` nor `Sync` [INFO] [stdout] = help: if the `Arc` will not be used across threads replace it with an `Rc` [INFO] [stdout] = help: otherwise make `DocumentNode` `Send` and `Sync` or consider a wrapper type such as `Mutex` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#arc_with_non_send_sync [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: usage of an `Arc` that is not `Send` and `Sync` [INFO] [stdout] --> core_formats/src/text_formatter.rs:227:20 [INFO] [stdout] | [INFO] [stdout] 227 | let doc_node = Arc::new(dd); [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Arc` is not `Send` and `Sync` as `DocumentNode` is neither `Send` nor `Sync` [INFO] [stdout] = help: if the `Arc` will not be used across threads replace it with an `Rc` [INFO] [stdout] = help: otherwise make `DocumentNode` `Send` and `Sync` or consider a wrapper type such as `Mutex` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#arc_with_non_send_sync [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: usage of an `Arc` that is not `Send` and `Sync` [INFO] [stdout] --> core_formats/src/text_formatter.rs:255:24 [INFO] [stdout] | [INFO] [stdout] 255 | let mut doc_node = Arc::new(dd); [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Arc` is not `Send` and `Sync` as `DocumentNode` is neither `Send` nor `Sync` [INFO] [stdout] = help: if the `Arc` will not be used across threads replace it with an `Rc` [INFO] [stdout] = help: otherwise make `DocumentNode` `Send` and `Sync` or consider a wrapper type such as `Mutex` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#arc_with_non_send_sync [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Checking op_transform v0.1.0 (/opt/rustwide/workdir/op_transform) [INFO] [stderr] Checking image v0.1.0 (/opt/rustwide/workdir/formats/image) [INFO] [stderr] Checking link v0.1.0 (/opt/rustwide/workdir/formats/link) [INFO] [stderr] Checking header v0.1.0 (/opt/rustwide/workdir/formats/header) [INFO] [stderr] Checking list v0.1.0 (/opt/rustwide/workdir/formats/list) [INFO] [stderr] Checking code v0.1.0 (/opt/rustwide/workdir/formats/code) [INFO] [stdout] warning: constants have by default a `'static` lifetime [INFO] [stdout] --> formats/list/src/list_const.rs:8:27 [INFO] [stdout] | [INFO] [stdout] 8 | pub const LIST_ATTR_KEY: &'static str = "list"; [INFO] [stdout] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_static_lifetimes [INFO] [stdout] = note: `#[warn(clippy::redundant_static_lifetimes)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constants have by default a `'static` lifetime [INFO] [stdout] --> formats/list/src/list_const.rs:9:25 [INFO] [stdout] | [INFO] [stdout] 9 | pub const LIST_BULLET: &'static str = "bullet"; [INFO] [stdout] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_static_lifetimes [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constants have by default a `'static` lifetime [INFO] [stdout] --> formats/list/src/list_const.rs:10:26 [INFO] [stdout] | [INFO] [stdout] 10 | pub const LIST_ORDERED: &'static str = "ordered"; [INFO] [stdout] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_static_lifetimes [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constants have by default a `'static` lifetime [INFO] [stdout] --> formats/list/src/list_const.rs:13:28 [INFO] [stdout] | [INFO] [stdout] 13 | pub const LIST_CHECK_BOX: &'static str = "data-checked"; [INFO] [stdout] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_static_lifetimes [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using tabs in doc comments is not recommended [INFO] [stdout] --> formats/list/src/mod.rs:50:13 [INFO] [stdout] | [INFO] [stdout] 50 | /// Value | Description: [INFO] [stdout] | ^^^^ help: consider using four spaces per tab [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#tabs_in_doc_comments [INFO] [stdout] = note: `#[warn(clippy::tabs_in_doc_comments)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using tabs in doc comments is not recommended [INFO] [stdout] --> formats/list/src/mod.rs:51:11 [INFO] [stdout] | [INFO] [stdout] 51 | /// - disc | Sets the list item marker to a bullet (default) [INFO] [stdout] | ^^^^ help: consider using four spaces per tab [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#tabs_in_doc_comments [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using tabs in doc comments is not recommended [INFO] [stdout] --> formats/list/src/mod.rs:52:15 [INFO] [stdout] | [INFO] [stdout] 52 | /// - circle | Sets the list item marker to a circle [INFO] [stdout] | ^^^^ help: consider using four spaces per tab [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#tabs_in_doc_comments [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using tabs in doc comments is not recommended [INFO] [stdout] --> formats/list/src/mod.rs:53:15 [INFO] [stdout] | [INFO] [stdout] 53 | /// - square | Sets the list item marker to a square [INFO] [stdout] | ^^^^ help: consider using four spaces per tab [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#tabs_in_doc_comments [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using tabs in doc comments is not recommended [INFO] [stdout] --> formats/list/src/mod.rs:54:11 [INFO] [stdout] | [INFO] [stdout] 54 | /// - none | The list items will not be marked [INFO] [stdout] | ^^^^ help: consider using four spaces per tab [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#tabs_in_doc_comments [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using tabs in doc comments is not recommended [INFO] [stdout] --> formats/list/src/mod.rs:70:12 [INFO] [stdout] | [INFO] [stdout] 70 | /// Type | Description: [INFO] [stdout] | ^^^^ help: consider using four spaces per tab [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#tabs_in_doc_comments [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using tabs in doc comments is not recommended [INFO] [stdout] --> formats/list/src/mod.rs:71:15 [INFO] [stdout] | [INFO] [stdout] 71 | /// - type="1" The list items will be numbered with numbers (default) [INFO] [stdout] | ^^^^ help: consider using four spaces per tab [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#tabs_in_doc_comments [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using tabs in doc comments is not recommended [INFO] [stdout] --> formats/list/src/mod.rs:72:15 [INFO] [stdout] | [INFO] [stdout] 72 | /// - type="A" The list items will be numbered with uppercase letters [INFO] [stdout] | ^^^^ help: consider using four spaces per tab [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#tabs_in_doc_comments [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using tabs in doc comments is not recommended [INFO] [stdout] --> formats/list/src/mod.rs:73:15 [INFO] [stdout] | [INFO] [stdout] 73 | /// - type="a" The list items will be numbered with lowercase letters [INFO] [stdout] | ^^^^ help: consider using four spaces per tab [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#tabs_in_doc_comments [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using tabs in doc comments is not recommended [INFO] [stdout] --> formats/list/src/mod.rs:74:15 [INFO] [stdout] | [INFO] [stdout] 74 | /// - type="I" The list items will be numbered with uppercase roman numbers [INFO] [stdout] | ^^^^ help: consider using four spaces per tab [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#tabs_in_doc_comments [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using tabs in doc comments is not recommended [INFO] [stdout] --> formats/list/src/mod.rs:75:15 [INFO] [stdout] | [INFO] [stdout] 75 | /// - type="i" The list items will be numbered with lowercase roman numbers [INFO] [stdout] | ^^^^ help: consider using four spaces per tab [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#tabs_in_doc_comments [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: statics have by default a `'static` lifetime [INFO] [stdout] --> formats/image/src/mod.rs:20:25 [INFO] [stdout] | [INFO] [stdout] 20 | pub static NAME_IMAGE: &'static str = "image"; //registry label [INFO] [stdout] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_static_lifetimes [INFO] [stdout] = note: `#[warn(clippy::redundant_static_lifetimes)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: statics have by default a `'static` lifetime [INFO] [stdout] --> formats/image/src/mod.rs:22:20 [INFO] [stdout] | [INFO] [stdout] 22 | static IMAGE_TAG: &'static str = "img"; //html tag [INFO] [stdout] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_static_lifetimes [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: statics have by default a `'static` lifetime [INFO] [stdout] --> formats/code/src/mod.rs:24:24 [INFO] [stdout] | [INFO] [stdout] 24 | pub static NAME_CODE: &'static str = "CODE"; //registry label [INFO] [stdout] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_static_lifetimes [INFO] [stdout] = note: `#[warn(clippy::redundant_static_lifetimes)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: statics have by default a `'static` lifetime [INFO] [stdout] --> formats/code/src/mod.rs:26:19 [INFO] [stdout] | [INFO] [stdout] 26 | static CODE_TAG: &'static str = "SPAN"; [INFO] [stdout] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_static_lifetimes [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: statics have by default a `'static` lifetime [INFO] [stdout] --> formats/code/src/mod.rs:27:24 [INFO] [stdout] | [INFO] [stdout] 27 | static CODE_ATTR_KEY: &'static str = "code-block"; [INFO] [stdout] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_static_lifetimes [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: statics have by default a `'static` lifetime [INFO] [stdout] --> formats/code/src/mod.rs:28:21 [INFO] [stdout] | [INFO] [stdout] 28 | static CODE_CLASS: &'static str = "ql-pre"; [INFO] [stdout] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_static_lifetimes [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: statics have by default a `'static` lifetime [INFO] [stdout] --> formats/header/src/mod.rs:26:26 [INFO] [stdout] | [INFO] [stdout] 26 | pub static NAME_HEADER: &'static str = "heading"; //registry label [INFO] [stdout] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_static_lifetimes [INFO] [stdout] = note: `#[warn(clippy::redundant_static_lifetimes)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: statics have by default a `'static` lifetime [INFO] [stdout] --> formats/header/src/mod.rs:28:17 [INFO] [stdout] | [INFO] [stdout] 28 | static HX_TAG: &'static str = "H"; //HTML tag [INFO] [stdout] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_static_lifetimes [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: statics have by default a `'static` lifetime [INFO] [stdout] --> formats/header/src/mod.rs:29:26 [INFO] [stdout] | [INFO] [stdout] 29 | static HEADER_ATTR_KEY: &'static str = "heading"; //attribute key [INFO] [stdout] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_static_lifetimes [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: statics have by default a `'static` lifetime [INFO] [stdout] --> formats/link/src/mod.rs:28:24 [INFO] [stdout] | [INFO] [stdout] 28 | pub static NAME_LINK: &'static str = "link"; //registry label [INFO] [stdout] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_static_lifetimes [INFO] [stdout] = note: `#[warn(clippy::redundant_static_lifetimes)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: statics have by default a `'static` lifetime [INFO] [stdout] --> formats/link/src/mod.rs:30:20 [INFO] [stdout] | [INFO] [stdout] 30 | static LINK_ATTR: &'static str = "link"; //marker attribute to recognize this format [INFO] [stdout] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_static_lifetimes [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: statics have by default a `'static` lifetime [INFO] [stdout] --> formats/link/src/mod.rs:31:23 [INFO] [stdout] | [INFO] [stdout] 31 | pub static LINK_TAG: &'static str = "A"; //HTML tag [INFO] [stdout] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_static_lifetimes [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `wee_alloc` [INFO] [stdout] --> op_transform/src/mod.rs:79:14 [INFO] [stdout] | [INFO] [stdout] 79 | if #[cfg(feature = "wee_alloc")] { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: expected values for `feature` are: `console_error_panic_hook`, `console_log`, `default`, and `test_export` [INFO] [stdout] = help: consider adding `wee_alloc` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] = note: `#[warn(unexpected_cfgs)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: empty line after doc comment [INFO] [stdout] --> op_transform/src/op_insert.rs:53:1 [INFO] [stdout] | [INFO] [stdout] 53 | / /// FIXME: Must be start of next line !! [INFO] [stdout] 54 | | [INFO] [stdout] | |_^ [INFO] [stdout] ... [INFO] [stdout] 63 | pub fn insert( [INFO] [stdout] | ------------- the comment documents this function [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#empty_line_after_doc_comments [INFO] [stdout] = note: `#[warn(clippy::empty_line_after_doc_comments)]` on by default [INFO] [stdout] = help: if the empty line is unintentional, remove it [INFO] [stdout] help: if the documentation should include the empty line include it in the comment [INFO] [stdout] | [INFO] [stdout] 54 | /// [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: empty line after doc comment [INFO] [stdout] --> op_transform/src/doc_root.rs:306:5 [INFO] [stdout] | [INFO] [stdout] 306 | / /// a few cyclic dependencies [INFO] [stdout] 307 | | [INFO] [stdout] | |_^ [INFO] [stdout] 308 | /// Applies a single DeltaOperation to the current location of the document cursor [INFO] [stdout] 309 | pub fn apply_operation(&mut self, operation: DeltaOperation) -> Result<()> { [INFO] [stdout] | ---------------------- the comment documents this function [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#empty_line_after_doc_comments [INFO] [stdout] = help: if the empty line is unintentional, remove it [INFO] [stdout] help: if the documentation should include the empty line include it in the comment [INFO] [stdout] | [INFO] [stdout] 307 | /// [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: statics have by default a `'static` lifetime [INFO] [stdout] --> op_transform/src/auto_soft_break.rs:16:25 [INFO] [stdout] | [INFO] [stdout] 16 | static SOFT_BREAK_TAG: &'static str = "BR"; [INFO] [stdout] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_static_lifetimes [INFO] [stdout] = note: `#[warn(clippy::redundant_static_lifetimes)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you should consider adding a `Default` implementation for `ImageFormat` [INFO] [stdout] --> formats/image/src/mod.rs:56:5 [INFO] [stdout] | [INFO] [stdout] 56 | / pub fn new() -> Self { [INFO] [stdout] 57 | | initialise(); [INFO] [stdout] 58 | | ImageFormat {} [INFO] [stdout] 59 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default [INFO] [stdout] = note: `#[warn(clippy::new_without_default)]` on by default [INFO] [stdout] help: try adding this [INFO] [stdout] | [INFO] [stdout] 55 + impl Default for ImageFormat { [INFO] [stdout] 56 + fn default() -> Self { [INFO] [stdout] 57 + Self::new() [INFO] [stdout] 58 + } [INFO] [stdout] 59 + } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you should consider adding a `Default` implementation for `CodeBlock` [INFO] [stdout] --> formats/code/src/mod.rs:62:5 [INFO] [stdout] | [INFO] [stdout] 62 | / pub fn new() -> Self { [INFO] [stdout] 63 | | block_format::initialise(); [INFO] [stdout] 64 | | CodeBlock {} [INFO] [stdout] 65 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default [INFO] [stdout] = note: `#[warn(clippy::new_without_default)]` on by default [INFO] [stdout] help: try adding this [INFO] [stdout] | [INFO] [stdout] 61 + impl Default for CodeBlock { [INFO] [stdout] 62 + fn default() -> Self { [INFO] [stdout] 63 + Self::new() [INFO] [stdout] 64 + } [INFO] [stdout] 65 + } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> formats/code/src/mod.rs:78:9 [INFO] [stdout] | [INFO] [stdout] 78 | return Ok(Arc::new(doc_node)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] = note: `#[warn(clippy::needless_return)]` on by default [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 78 - return Ok(Arc::new(doc_node)); [INFO] [stdout] 78 + Ok(Arc::new(doc_node)) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> formats/image/src/mod.rs:88:9 [INFO] [stdout] | [INFO] [stdout] 88 | return Ok(Arc::new(doc_node)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] = note: `#[warn(clippy::needless_return)]` on by default [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 88 - return Ok(Arc::new(doc_node)); [INFO] [stdout] 88 + Ok(Arc::new(doc_node)) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> formats/image/src/mod.rs:73:13 [INFO] [stdout] | [INFO] [stdout] 73 | / &operation [INFO] [stdout] 74 | | .insert_value() [INFO] [stdout] 75 | | .map_val() [INFO] [stdout] 76 | | .unwrap() [INFO] [stdout] 77 | | .get(NAME_IMAGE) [INFO] [stdout] 78 | | .unwrap() [INFO] [stdout] 79 | | .str_val()?, [INFO] [stdout] | |___________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] = note: `#[warn(clippy::needless_borrow)]` on by default [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 73 ~ operation [INFO] [stdout] 74 + .insert_value() [INFO] [stdout] 75 + .map_val() [INFO] [stdout] 76 + .unwrap() [INFO] [stdout] 77 + .get(NAME_IMAGE) [INFO] [stdout] 78 + .unwrap() [INFO] [stdout] 79 ~ .str_val()?, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> formats/image/src/mod.rs:83:37 [INFO] [stdout] | [INFO] [stdout] 83 | dom_el.set_attribute(k, &v.str_val()?) [INFO] [stdout] | ^^^^^^^^^^^^^ help: change this to: `v.str_val()?` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you should consider adding a `Default` implementation for `HeaderBlock` [INFO] [stdout] --> formats/header/src/mod.rs:54:5 [INFO] [stdout] | [INFO] [stdout] 54 | / pub fn new() -> Self { [INFO] [stdout] 55 | | initialise(); [INFO] [stdout] 56 | | block_format::initialise(); [INFO] [stdout] 57 | | HeaderBlock {} [INFO] [stdout] 58 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default [INFO] [stdout] = note: `#[warn(clippy::new_without_default)]` on by default [INFO] [stdout] help: try adding this [INFO] [stdout] | [INFO] [stdout] 53 + impl Default for HeaderBlock { [INFO] [stdout] 54 + fn default() -> Self { [INFO] [stdout] 55 + Self::new() [INFO] [stdout] 56 + } [INFO] [stdout] 57 + } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> formats/header/src/mod.rs:74:9 [INFO] [stdout] | [INFO] [stdout] 74 | return Ok(Arc::new(doc_node)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] = note: `#[warn(clippy::needless_return)]` on by default [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 74 - return Ok(Arc::new(doc_node)); [INFO] [stdout] 74 + Ok(Arc::new(doc_node)) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: usage of an `Arc` that is not `Send` and `Sync` [INFO] [stdout] --> formats/image/src/mod.rs:88:19 [INFO] [stdout] | [INFO] [stdout] 88 | return Ok(Arc::new(doc_node)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Arc` is not `Send` and `Sync` as `DocumentNode` is neither `Send` nor `Sync` [INFO] [stdout] = help: if the `Arc` will not be used across threads replace it with an `Rc` [INFO] [stdout] = help: otherwise make `DocumentNode` `Send` and `Sync` or consider a wrapper type such as `Mutex` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#arc_with_non_send_sync [INFO] [stdout] = note: `#[warn(clippy::arc_with_non_send_sync)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> formats/image/src/mod.rs:111:9 [INFO] [stdout] | [INFO] [stdout] 111 | return Ok(false); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 111 - return Ok(false); [INFO] [stdout] 111 + Ok(false) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> formats/image/src/mod.rs:122:37 [INFO] [stdout] | [INFO] [stdout] 122 | dom_el.set_attribute(k, &v.str_val()?) [INFO] [stdout] | ^^^^^^^^^^^^^ help: change this to: `v.str_val()?` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> formats/image/src/mod.rs:131:37 [INFO] [stdout] | [INFO] [stdout] 131 | dom_el.remove_attribute(&key); [INFO] [stdout] | ^^^^ help: change this to: `key` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: usage of an `Arc` that is not `Send` and `Sync` [INFO] [stdout] --> formats/code/src/mod.rs:78:19 [INFO] [stdout] | [INFO] [stdout] 78 | return Ok(Arc::new(doc_node)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Arc` is not `Send` and `Sync` as `DocumentNode` is neither `Send` nor `Sync` [INFO] [stdout] = help: if the `Arc` will not be used across threads replace it with an `Rc` [INFO] [stdout] = help: otherwise make `DocumentNode` `Send` and `Sync` or consider a wrapper type such as `Mutex` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#arc_with_non_send_sync [INFO] [stdout] = note: `#[warn(clippy::arc_with_non_send_sync)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> formats/code/src/mod.rs:101:9 [INFO] [stdout] | [INFO] [stdout] 101 | return Ok(false); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 101 - return Ok(false); [INFO] [stdout] 101 + Ok(false) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> formats/image/src/mod.rs:179:9 [INFO] [stdout] | [INFO] [stdout] 179 | return Ok(doc_node.clone()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 179 - return Ok(doc_node.clone()); [INFO] [stdout] 179 + Ok(doc_node.clone()) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> formats/code/src/mod.rs:96:9 [INFO] [stdout] | [INFO] [stdout] 96 | / if delta.insert_value().is_string() && delta.insert_value().str_val()? == "\n" { [INFO] [stdout] 97 | | if delta.get_attributes().contains_key(CODE_ATTR_KEY) { [INFO] [stdout] 98 | | return Ok(true); [INFO] [stdout] 99 | | } [INFO] [stdout] 100 | | } [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] = note: `#[warn(clippy::collapsible_if)]` on by default [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 96 ~ if delta.insert_value().is_string() && delta.insert_value().str_val()? == "\n" [INFO] [stdout] 97 ~ && delta.get_attributes().contains_key(CODE_ATTR_KEY) { [INFO] [stdout] 98 | return Ok(true); [INFO] [stdout] 99 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> formats/code/src/mod.rs:131:9 [INFO] [stdout] | [INFO] [stdout] 131 | return false; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 131 - return false; [INFO] [stdout] 131 + false [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: usage of an `Arc` that is not `Send` and `Sync` [INFO] [stdout] --> formats/header/src/mod.rs:74:19 [INFO] [stdout] | [INFO] [stdout] 74 | return Ok(Arc::new(doc_node)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Arc` is not `Send` and `Sync` as `DocumentNode` is neither `Send` nor `Sync` [INFO] [stdout] = help: if the `Arc` will not be used across threads replace it with an `Rc` [INFO] [stdout] = help: otherwise make `DocumentNode` `Send` and `Sync` or consider a wrapper type such as `Mutex` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#arc_with_non_send_sync [INFO] [stdout] = note: `#[warn(clippy::arc_with_non_send_sync)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> formats/header/src/mod.rs:97:9 [INFO] [stdout] | [INFO] [stdout] 97 | return Ok(false); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 97 - return Ok(false); [INFO] [stdout] 97 + Ok(false) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> formats/header/src/mod.rs:92:9 [INFO] [stdout] | [INFO] [stdout] 92 | / if delta.insert_value().is_string() && delta.insert_value().str_val()? == "\n" { [INFO] [stdout] 93 | | if delta.get_attributes().contains_key(HEADER_ATTR_KEY) { [INFO] [stdout] 94 | | return Ok(true); [INFO] [stdout] 95 | | } [INFO] [stdout] 96 | | } [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] = note: `#[warn(clippy::collapsible_if)]` on by default [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 92 ~ if delta.insert_value().is_string() && delta.insert_value().str_val()? == "\n" [INFO] [stdout] 93 ~ && delta.get_attributes().contains_key(HEADER_ATTR_KEY) { [INFO] [stdout] 94 | return Ok(true); [INFO] [stdout] 95 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> formats/header/src/mod.rs:119:9 [INFO] [stdout] | [INFO] [stdout] 119 | return false; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 119 - return false; [INFO] [stdout] 119 + false [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> formats/code/src/mod.rs:174:9 [INFO] [stdout] | [INFO] [stdout] 174 | return Ok(doc_node.clone()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 174 - return Ok(doc_node.clone()); [INFO] [stdout] 174 + Ok(doc_node.clone()) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you should consider adding a `Default` implementation for `LinkFormat` [INFO] [stdout] --> formats/link/src/mod.rs:115:5 [INFO] [stdout] | [INFO] [stdout] 115 | / pub fn new() -> Self { [INFO] [stdout] 116 | | initialise(); [INFO] [stdout] 117 | | LinkFormat {} [INFO] [stdout] 118 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default [INFO] [stdout] = note: `#[warn(clippy::new_without_default)]` on by default [INFO] [stdout] help: try adding this [INFO] [stdout] | [INFO] [stdout] 114 + impl Default for LinkFormat { [INFO] [stdout] 115 + fn default() -> Self { [INFO] [stdout] 116 + Self::new() [INFO] [stdout] 117 + } [INFO] [stdout] 118 + } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> formats/link/src/mod.rs:142:9 [INFO] [stdout] | [INFO] [stdout] 142 | return Ok(link_node); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] = note: `#[warn(clippy::needless_return)]` on by default [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 142 - return Ok(link_node); [INFO] [stdout] 142 + Ok(link_node) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> formats/link/src/mod.rs:133:40 [INFO] [stdout] | [INFO] [stdout] 133 | link_element.set_attribute(&k, &v.str_val()?); [INFO] [stdout] | ^^ help: change this to: `k` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] = note: `#[warn(clippy::needless_borrow)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> formats/link/src/mod.rs:133:44 [INFO] [stdout] | [INFO] [stdout] 133 | link_element.set_attribute(&k, &v.str_val()?); [INFO] [stdout] | ^^^^^^^^^^^^^ help: change this to: `v.str_val()?` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> formats/list/src/mod.rs:208:9 [INFO] [stdout] | [INFO] [stdout] 208 | return Ok((ul_doc_node_ptr, li_doc_node_ptr)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] = note: `#[warn(clippy::needless_return)]` on by default [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 208 - return Ok((ul_doc_node_ptr, li_doc_node_ptr)); [INFO] [stdout] 208 + Ok((ul_doc_node_ptr, li_doc_node_ptr)) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: usage of an `Arc` that is not `Send` and `Sync` [INFO] [stdout] --> formats/link/src/mod.rs:140:25 [INFO] [stdout] | [INFO] [stdout] 140 | let link_node = Arc::new(dn); [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Arc` is not `Send` and `Sync` as `DocumentNode` is neither `Send` nor `Sync` [INFO] [stdout] = help: if the `Arc` will not be used across threads replace it with an `Rc` [INFO] [stdout] = help: otherwise make `DocumentNode` `Send` and `Sync` or consider a wrapper type such as `Mutex` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#arc_with_non_send_sync [INFO] [stdout] = note: `#[warn(clippy::arc_with_non_send_sync)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> formats/link/src/mod.rs:147:9 [INFO] [stdout] | [INFO] [stdout] 147 | return NAME_LINK; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 147 - return NAME_LINK; [INFO] [stdout] 147 + NAME_LINK [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> formats/link/src/mod.rs:162:9 [INFO] [stdout] | [INFO] [stdout] 162 | return Ok(false); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 162 - return Ok(false); [INFO] [stdout] 162 + Ok(false) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> formats/link/src/mod.rs:173:37 [INFO] [stdout] | [INFO] [stdout] 173 | dom_el.set_attribute(k, &v.str_val()?) [INFO] [stdout] | ^^^^^^^^^^^^^ help: change this to: `v.str_val()?` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> formats/link/src/mod.rs:180:41 [INFO] [stdout] | [INFO] [stdout] 180 | dom_el.set_attribute(k, &v.str_val()?) [INFO] [stdout] | ^^^^^^^^^^^^^ help: change this to: `v.str_val()?` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> formats/link/src/mod.rs:190:37 [INFO] [stdout] | [INFO] [stdout] 190 | dom_el.remove_attribute(&key); [INFO] [stdout] | ^^^^ help: change this to: `key` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> formats/link/src/mod.rs:197:41 [INFO] [stdout] | [INFO] [stdout] 197 | dom_el.remove_attribute(&key); [INFO] [stdout] | ^^^^ help: change this to: `key` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> formats/link/src/mod.rs:204:9 [INFO] [stdout] | [INFO] [stdout] 204 | / return if doc_node.get_doc_dom_node().get_node_name() == LINK_TAG { [INFO] [stdout] 205 | | let dn = self.create( [INFO] [stdout] 206 | | doc_node.get_operation().clone(), [INFO] [stdout] 207 | | doc_node.get_formatter().clone(), [INFO] [stdout] ... | [INFO] [stdout] 218 | | self.create(doc_node.get_operation(), doc_node.get_formatter()) [INFO] [stdout] 219 | | }; [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 204 ~ if doc_node.get_doc_dom_node().get_node_name() == LINK_TAG { [INFO] [stdout] 205 + let dn = self.create( [INFO] [stdout] 206 + doc_node.get_operation().clone(), [INFO] [stdout] 207 + doc_node.get_formatter().clone(), [INFO] [stdout] 208 + )?; [INFO] [stdout] 209 + //We return an EMPTY node if we are a link ... [INFO] [stdout] 210 + if dn.child_count() > 0 { [INFO] [stdout] 211 + let child = dn.get_child(0).unwrap(); [INFO] [stdout] 212 + if child.op_len() == 0 { [INFO] [stdout] 213 + unlink(&dn, &child); [INFO] [stdout] 214 + } [INFO] [stdout] 215 + } [INFO] [stdout] 216 + Ok(dn) [INFO] [stdout] 217 + } else { [INFO] [stdout] 218 + self.create(doc_node.get_operation(), doc_node.get_formatter()) [INFO] [stdout] 219 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> formats/link/src/mod.rs:239:9 [INFO] [stdout] | [INFO] [stdout] 239 | return false; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 239 - return false; [INFO] [stdout] 239 + false [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> formats/link/src/mod.rs:278:21 [INFO] [stdout] | [INFO] [stdout] 278 | delete_text(&doc_node, at, length)?; [INFO] [stdout] | ^^^^^^^^^ help: change this to: `doc_node` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> formats/link/src/mod.rs:309:9 [INFO] [stdout] | [INFO] [stdout] 309 | return Ok(doc_node.clone()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 309 - return Ok(doc_node.clone()); [INFO] [stdout] 309 + Ok(doc_node.clone()) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> formats/link/src/mod.rs:305:62 [INFO] [stdout] | [INFO] [stdout] 305 | ul_node = split_block_before_child(&ul_node, &doc_node)?; [INFO] [stdout] | ^^^^^^^^^ help: change this to: `doc_node` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: accessing first element with `doc_node.get_children().get(0)` [INFO] [stdout] --> formats/link/src/mod.rs:352:32 [INFO] [stdout] | [INFO] [stdout] 352 | cursor.set_before(&doc_node.get_children().get(0).unwrap().clone()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `doc_node.get_children().first()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_first [INFO] [stdout] = note: `#[warn(clippy::get_first)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> formats/link/src/mod.rs:379:26 [INFO] [stdout] | [INFO] [stdout] 379 | try_3_way_merge_text(&cursor)?; [INFO] [stdout] | ^^^^^^^ help: change this to: `cursor` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: usage of an `Arc` that is not `Send` and `Sync` [INFO] [stdout] --> formats/list/src/mod.rs:201:31 [INFO] [stdout] | [INFO] [stdout] 201 | let li_doc_node_ptr = Arc::new(li_doc_node); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Arc` is not `Send` and `Sync` as `DocumentNode` is neither `Send` nor `Sync` [INFO] [stdout] = help: if the `Arc` will not be used across threads replace it with an `Rc` [INFO] [stdout] = help: otherwise make `DocumentNode` `Send` and `Sync` or consider a wrapper type such as `Mutex` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#arc_with_non_send_sync [INFO] [stdout] = note: `#[warn(clippy::arc_with_non_send_sync)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: usage of an `Arc` that is not `Send` and `Sync` [INFO] [stdout] --> formats/list/src/mod.rs:204:31 [INFO] [stdout] | [INFO] [stdout] 204 | let ul_doc_node_ptr = Arc::new(ul_doc_node); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Arc` is not `Send` and `Sync` as `DocumentNode` is neither `Send` nor `Sync` [INFO] [stdout] = help: if the `Arc` will not be used across threads replace it with an `Rc` [INFO] [stdout] = help: otherwise make `DocumentNode` `Send` and `Sync` or consider a wrapper type such as `Mutex` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#arc_with_non_send_sync [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> formats/list/src/mod.rs:217:42 [INFO] [stdout] | [INFO] [stdout] 217 | if let Some(next) = next_sibling(&li_node) { [INFO] [stdout] | ^^^^^^^^ help: change this to: `li_node` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] = note: `#[warn(clippy::needless_borrow)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> formats/list/src/mod.rs:220:43 [INFO] [stdout] | [INFO] [stdout] 220 | if let Some(_prev) = prev_sibling(&li_node) { [INFO] [stdout] | ^^^^^^^^ help: change this to: `li_node` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> formats/list/src/mod.rs:221:58 [INFO] [stdout] | [INFO] [stdout] 221 | ul_node = split_block_before_child(&ul_node, &li_node)?.clone(); [INFO] [stdout] | ^^^^^^^^ help: change this to: `li_node` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc list item without indentation [INFO] [stdout] --> formats/list/src/mod.rs:231:9 [INFO] [stdout] | [INFO] [stdout] 231 | /// No merge if the UL nodes happen to have different attributes. (such as indentation) [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: if this is supposed to be its own paragraph, add a blank line [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation [INFO] [stdout] = note: `#[warn(clippy::doc_lazy_continuation)]` on by default [INFO] [stdout] help: indent this line [INFO] [stdout] | [INFO] [stdout] 231 | /// No merge if the UL nodes happen to have different attributes. (such as indentation) [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> formats/list/src/mod.rs:271:9 [INFO] [stdout] | [INFO] [stdout] 271 | return Ok(ret); [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 271 - return Ok(ret); [INFO] [stdout] 271 + Ok(ret) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> formats/list/src/mod.rs:239:42 [INFO] [stdout] | [INFO] [stdout] 239 | if let Some(next) = next_sibling(&ul_node) { [INFO] [stdout] | ^^^^^^^^ help: change this to: `ul_node` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> formats/list/src/mod.rs:243:34 [INFO] [stdout] | [INFO] [stdout] 243 | merge_block_node(&ul_node, &next)?; [INFO] [stdout] | ^^^^^^^^ help: change this to: `ul_node` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> formats/list/src/mod.rs:244:53 [INFO] [stdout] | [INFO] [stdout] 244 | if let Some(nxt_nxt) = next_sibling(&ul_node) { [INFO] [stdout] | ^^^^^^^^ help: change this to: `ul_node` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> formats/list/src/mod.rs:248:42 [INFO] [stdout] | [INFO] [stdout] 248 | merge_block_node(&ul_node, &nxt_nxt)?; [INFO] [stdout] | ^^^^^^^^ help: change this to: `ul_node` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> formats/list/src/mod.rs:255:42 [INFO] [stdout] | [INFO] [stdout] 255 | if let Some(prev) = prev_sibling(&ul_node) { [INFO] [stdout] | ^^^^^^^^ help: change this to: `ul_node` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> formats/list/src/mod.rs:260:41 [INFO] [stdout] | [INFO] [stdout] 260 | merge_block_node(&prev, &ul_node)?; [INFO] [stdout] | ^^^^^^^^ help: change this to: `ul_node` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> formats/list/src/mod.rs:282:9 [INFO] [stdout] | [INFO] [stdout] 282 | return Ok(ul_node); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 282 - return Ok(ul_node); [INFO] [stdout] 282 + Ok(ul_node) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> formats/list/src/mod.rs:309:9 [INFO] [stdout] | [INFO] [stdout] 309 | return Ok(false); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 309 - return Ok(false); [INFO] [stdout] 309 + Ok(false) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: comparison to empty slice [INFO] [stdout] --> formats/list/src/mod.rs:302:29 [INFO] [stdout] | [INFO] [stdout] 302 | if s == "\n" || s == "" { [INFO] [stdout] | ^^^^^^^ help: using `is_empty` is clearer and more explicit: `s.is_empty()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#comparison_to_empty [INFO] [stdout] = note: `#[warn(clippy::comparison_to_empty)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> formats/list/src/mod.rs:367:9 [INFO] [stdout] | [INFO] [stdout] 367 | return Ok(node); [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 367 - return Ok(node); [INFO] [stdout] 367 + Ok(node) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: usage of an `Arc` that is not `Send` and `Sync` [INFO] [stdout] --> formats/list/src/mod.rs:329:31 [INFO] [stdout] | [INFO] [stdout] 329 | let li_doc_node = Arc::new(DocumentNode::new_element( [INFO] [stdout] | _______________________________^ [INFO] [stdout] 330 | | li_el, [INFO] [stdout] 331 | | doc_node.get_formatter().clone(), [INFO] [stdout] 332 | | )); [INFO] [stdout] | |______________^ [INFO] [stdout] | [INFO] [stdout] = note: `Arc` is not `Send` and `Sync` as `DocumentNode` is neither `Send` nor `Sync` [INFO] [stdout] = help: if the `Arc` will not be used across threads replace it with an `Rc` [INFO] [stdout] = help: otherwise make `DocumentNode` `Send` and `Sync` or consider a wrapper type such as `Mutex` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#arc_with_non_send_sync [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: usage of an `Arc` that is not `Send` and `Sync` [INFO] [stdout] --> formats/list/src/mod.rs:346:31 [INFO] [stdout] | [INFO] [stdout] 346 | let ul_doc_node = Arc::new(DocumentNode::new_element( [INFO] [stdout] | _______________________________^ [INFO] [stdout] 347 | | ul_el, [INFO] [stdout] 348 | | doc_node.get_formatter().clone(), [INFO] [stdout] 349 | | )); [INFO] [stdout] | |______________^ [INFO] [stdout] | [INFO] [stdout] = note: `Arc` is not `Send` and `Sync` as `DocumentNode` is neither `Send` nor `Sync` [INFO] [stdout] = help: if the `Arc` will not be used across threads replace it with an `Rc` [INFO] [stdout] = help: otherwise make `DocumentNode` `Send` and `Sync` or consider a wrapper type such as `Mutex` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#arc_with_non_send_sync [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> formats/list/src/mod.rs:382:9 [INFO] [stdout] | [INFO] [stdout] 382 | return false; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 382 - return false; [INFO] [stdout] 382 + false [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> formats/list/src/mod.rs:396:17 [INFO] [stdout] | [INFO] [stdout] 396 | assert!((update_cursor && block_node.child_count() == 0) || !update_cursor); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] = note: `#[warn(clippy::nonminimal_bool)]` on by default [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 396 - assert!((update_cursor && block_node.child_count() == 0) || !update_cursor); [INFO] [stdout] 396 + assert!(!(update_cursor && block_node.child_count() != 0)); [INFO] [stdout] | [INFO] [stdout] 396 - assert!((update_cursor && block_node.child_count() == 0) || !update_cursor); [INFO] [stdout] 396 + assert!(!update_cursor || block_node.child_count() == 0); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> formats/list/src/mod.rs:417:9 [INFO] [stdout] | [INFO] [stdout] 417 | return self.merge_ul_nodes(&ul_node); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 417 - return self.merge_ul_nodes(&ul_node); [INFO] [stdout] 417 + self.merge_ul_nodes(&ul_node) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> formats/list/src/mod.rs:432:17 [INFO] [stdout] | [INFO] [stdout] 432 | assert!((update_cursor && li_node.child_count() == 0) || !update_cursor); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 432 - assert!((update_cursor && li_node.child_count() == 0) || !update_cursor); [INFO] [stdout] 432 + assert!(!(update_cursor && li_node.child_count() != 0)); [INFO] [stdout] | [INFO] [stdout] 432 - assert!((update_cursor && li_node.child_count() == 0) || !update_cursor); [INFO] [stdout] 432 + assert!(!update_cursor || li_node.child_count() == 0); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> formats/list/src/mod.rs:472:9 [INFO] [stdout] | [INFO] [stdout] 472 | return Ok(p_node); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 472 - return Ok(p_node); [INFO] [stdout] 472 + Ok(p_node) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> formats/list/src/mod.rs:438:42 [INFO] [stdout] | [INFO] [stdout] 438 | if let Some(next) = next_sibling(&li_node) { [INFO] [stdout] | ^^^^^^^^ help: change this to: `li_node` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> formats/list/src/mod.rs:441:43 [INFO] [stdout] | [INFO] [stdout] 441 | if let Some(_prev) = prev_sibling(&li_node) { [INFO] [stdout] | ^^^^^^^^ help: change this to: `li_node` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> formats/list/src/mod.rs:442:58 [INFO] [stdout] | [INFO] [stdout] 442 | ul_node = split_block_before_child(&ul_node, &li_node)?.clone(); [INFO] [stdout] | ^^^^^^^^ help: change this to: `li_node` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> formats/list/src/mod.rs:456:26 [INFO] [stdout] | [INFO] [stdout] 456 | unlink(&ul_node, &li_node); [INFO] [stdout] | ^^^^^^^^ help: change this to: `li_node` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> formats/list/src/mod.rs:469:20 [INFO] [stdout] | [INFO] [stdout] 469 | unlink(&li_node, n); [INFO] [stdout] | ^^^^^^^^ help: change this to: `li_node` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> formats/list/src/mod.rs:503:33 [INFO] [stdout] | [INFO] [stdout] 503 | self.split_li_in_own_ul(&li_node) [INFO] [stdout] | ^^^^^^^^ help: change this to: `li_node` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of an assign operation [INFO] [stdout] --> op_transform/src/op_delete.rs:65:17 [INFO] [stdout] | [INFO] [stdout] 65 | del = del - ol; [INFO] [stdout] | ^^^^^^^^^^^^^^ help: replace it with: `del -= ol` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stdout] = note: `#[warn(clippy::assign_op_pattern)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> op_transform/src/op_delete.rs:68:64 [INFO] [stdout] | [INFO] [stdout] 68 | let found = find_left_node_and_set_cursor(&dn, &cursor); [INFO] [stdout] | ^^^^^^^ help: change this to: `cursor` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] = note: `#[warn(clippy::needless_borrow)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> op_transform/src/op_delete.rs:83:64 [INFO] [stdout] | [INFO] [stdout] 83 | let found = find_left_node_and_set_cursor(&dn, &cursor); [INFO] [stdout] | ^^^^^^^ help: change this to: `cursor` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> op_transform/src/op_delete.rs:125:5 [INFO] [stdout] | [INFO] [stdout] 125 | return false; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] = note: `#[warn(clippy::needless_return)]` on by default [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 125 - return false; [INFO] [stdout] 125 + false [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> op_transform/src/op_delete.rs:113:35 [INFO] [stdout] | [INFO] [stdout] 113 | if let Some(prev) = prev_node(&doc_node) { [INFO] [stdout] | ^^^^^^^^^ help: change this to: `doc_node` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> op_transform/src/op_delete.rs:121:47 [INFO] [stdout] | [INFO] [stdout] 121 | cursor.set_after_no_retain_update(&last); [INFO] [stdout] | ^^^^^ help: change this to: `last` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> op_transform/src/op_delete.rs:133:35 [INFO] [stdout] | [INFO] [stdout] 133 | let Some(parent) = next_block(&doc_node) else { [INFO] [stdout] | ^^^^^^^^^ help: change this to: `doc_node` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> op_transform/src/op_delete.rs:143:46 [INFO] [stdout] | [INFO] [stdout] 143 | doc_node.get_formatter().delete_node(&doc_node); [INFO] [stdout] | ^^^^^^^^^ help: change this to: `doc_node` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> op_transform/src/op_delete.rs:150:46 [INFO] [stdout] | [INFO] [stdout] 150 | doc_node.get_formatter().delete_node(&doc_node); [INFO] [stdout] | ^^^^^^^^^ help: change this to: `doc_node` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> op_transform/src/op_delete.rs:159:31 [INFO] [stdout] | [INFO] [stdout] 159 | unlink(&block_parent, &doc_node); [INFO] [stdout] | ^^^^^^^^^ help: change this to: `doc_node` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> op_transform/src/op_delete.rs:163:20 [INFO] [stdout] | [INFO] [stdout] 163 | unlink(&doc_node, &child); [INFO] [stdout] | ^^^^^^^^^ help: change this to: `doc_node` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> op_transform/src/op_delete.rs:167:46 [INFO] [stdout] | [INFO] [stdout] 167 | doc_node.get_formatter().delete_node(&doc_node); [INFO] [stdout] | ^^^^^^^^^ help: change this to: `doc_node` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc list item overindented [INFO] [stdout] --> op_transform/src/op_insert.rs:46:5 [INFO] [stdout] | [INFO] [stdout] 46 | /// Normally `[node 0]` and `[node 1]` are not split. so we can ignore this case. But for formats which do split theres ...merge... [INFO] [stdout] | ^^^^ help: try using ` ` (3 spaces) [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_overindented_list_items [INFO] [stdout] = note: `#[warn(clippy::doc_overindented_list_items)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc list item without indentation [INFO] [stdout] --> op_transform/src/op_insert.rs:49:5 [INFO] [stdout] | [INFO] [stdout] 49 | /// This is all lumped together in a function `try_merge()` [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: if this is supposed to be its own paragraph, add a blank line [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation [INFO] [stdout] = note: `#[warn(clippy::doc_lazy_continuation)]` on by default [INFO] [stdout] help: indent this line [INFO] [stdout] | [INFO] [stdout] 49 | /// This is all lumped together in a function `try_merge()` [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> op_transform/src/op_insert.rs:72:38 [INFO] [stdout] | [INFO] [stdout] 72 | insert_new_block(cursor, op, ®)?; [INFO] [stdout] | ^^^^ help: change this to: `reg` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> op_transform/src/op_insert.rs:148:45 [INFO] [stdout] | [INFO] [stdout] 148 | right_format.unwrap().try_merge(&cursor, &right_parent)?; [INFO] [stdout] | ^^^^^^^ help: change this to: `cursor` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> op_transform/src/op_insert.rs:219:30 [INFO] [stdout] | [INFO] [stdout] 219 | format.try_merge(&cursor, &doc_node)?; [INFO] [stdout] | ^^^^^^^ help: change this to: `cursor` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> op_transform/src/op_insert.rs:253:22 [INFO] [stdout] | [INFO] [stdout] 253 | format.try_merge(&cursor, &cursor.get_doc_node())?; [INFO] [stdout] | ^^^^^^^ help: change this to: `cursor` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of an assign operation [INFO] [stdout] --> op_transform/src/op_retain.rs:112:13 [INFO] [stdout] | [INFO] [stdout] 112 | rtn = rtn - ol; [INFO] [stdout] | ^^^^^^^^^^^^^^ help: replace it with: `rtn -= ol` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc list item without indentation [INFO] [stdout] --> op_transform/src/op_retain.rs:141:5 [INFO] [stdout] | [INFO] [stdout] 141 | /// BUT it will not change in to a text node!! --> for that we need to delete the `\n` in the text [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: if this is supposed to be its own paragraph, add a blank line [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation [INFO] [stdout] help: indent this line [INFO] [stdout] | [INFO] [stdout] 141 | /// BUT it will not change in to a text node!! --> for that we need to delete the `\n` in the text [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc list item without indentation [INFO] [stdout] --> op_transform/src/op_retain.rs:142:5 [INFO] [stdout] | [INFO] [stdout] 142 | /// content. Which goes against the definition of a retain [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: if this is supposed to be its own paragraph, add a blank line [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation [INFO] [stdout] help: indent this line [INFO] [stdout] | [INFO] [stdout] 142 | /// content. Which goes against the definition of a retain [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> op_transform/src/op_retain.rs:182:53 [INFO] [stdout] | [INFO] [stdout] 182 | dn = retain_text_format(&dn, &attr, ®istry)?; [INFO] [stdout] | ^^^^^^^^^ help: change this to: `registry` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> op_transform/src/op_retain.rs:184:54 [INFO] [stdout] | [INFO] [stdout] 184 | dn = retain_block_format(&dn, &attr, &cursor, ®istry)? [INFO] [stdout] | ^^^^^^^ help: change this to: `cursor` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> op_transform/src/op_retain.rs:184:63 [INFO] [stdout] | [INFO] [stdout] 184 | dn = retain_block_format(&dn, &attr, &cursor, ®istry)? [INFO] [stdout] | ^^^^^^^^^ help: change this to: `registry` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of an assign operation [INFO] [stdout] --> op_transform/src/op_retain.rs:190:17 [INFO] [stdout] | [INFO] [stdout] 190 | rtn = rtn - ol; [INFO] [stdout] | ^^^^^^^^^^^^^^ help: replace it with: `rtn -= ol` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> op_transform/src/op_retain.rs:202:53 [INFO] [stdout] | [INFO] [stdout] 202 | dn = retain_text_format(&dn, &attr, ®istry)?; [INFO] [stdout] | ^^^^^^^^^ help: change this to: `registry` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> op_transform/src/op_retain.rs:204:54 [INFO] [stdout] | [INFO] [stdout] 204 | dn = retain_block_format(&dn, &attr, &cursor, ®istry)?; [INFO] [stdout] | ^^^^^^^ help: change this to: `cursor` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> op_transform/src/op_retain.rs:204:63 [INFO] [stdout] | [INFO] [stdout] 204 | dn = retain_block_format(&dn, &attr, &cursor, ®istry)?; [INFO] [stdout] | ^^^^^^^^^ help: change this to: `registry` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> op_transform/src/op_retain.rs:223:44 [INFO] [stdout] | [INFO] [stdout] 223 | retain_text_format(&dn, &attr, ®istry)?; //this can only be text format ... [INFO] [stdout] | ^^^^^^^^^ help: change this to: `registry` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> op_transform/src/op_retain.rs:247:29 [INFO] [stdout] | [INFO] [stdout] 247 | .un_block_transform(&cursor, &doc_node)?; [INFO] [stdout] | ^^^^^^^ help: change this to: `cursor` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> op_transform/src/op_retain.rs:247:38 [INFO] [stdout] | [INFO] [stdout] 247 | .un_block_transform(&cursor, &doc_node)?; [INFO] [stdout] | ^^^^^^^^^ help: change this to: `doc_node` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> op_transform/src/op_retain.rs:274:67 [INFO] [stdout] | [INFO] [stdout] 274 | let new_block = doc_node.get_formatter().drop_line_attributes(&doc_node)?; [INFO] [stdout] | ^^^^^^^^^ help: change this to: `doc_node` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: comparison to empty slice [INFO] [stdout] --> op_transform/src/doc_root.rs:71:12 [INFO] [stdout] | [INFO] [stdout] 71 | if id == "" { [INFO] [stdout] | ^^^^^^^^ help: using `is_empty` is clearer and more explicit: `id.is_empty()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#comparison_to_empty [INFO] [stdout] = note: `#[warn(clippy::comparison_to_empty)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: usage of an `Arc` that is not `Send` and `Sync` [INFO] [stdout] --> op_transform/src/doc_root.rs:104:24 [INFO] [stdout] | [INFO] [stdout] 104 | container: Arc::new(container), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Arc` is not `Send` and `Sync` as `DocumentNode` is neither `Send` nor `Sync` [INFO] [stdout] = help: if the `Arc` will not be used across threads replace it with an `Rc` [INFO] [stdout] = help: otherwise make `DocumentNode` `Send` and `Sync` or consider a wrapper type such as `Mutex` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#arc_with_non_send_sync [INFO] [stdout] = note: `#[warn(clippy::arc_with_non_send_sync)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: usage of an `Arc` that is not `Send` and `Sync` [INFO] [stdout] --> op_transform/src/doc_root.rs:105:19 [INFO] [stdout] | [INFO] [stdout] 105 | root: Arc::new(root), [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Arc` is not `Send` and `Sync` as `DocumentNode` is neither `Send` nor `Sync` [INFO] [stdout] = help: if the `Arc` will not be used across threads replace it with an `Rc` [INFO] [stdout] = help: otherwise make `DocumentNode` `Send` and `Sync` or consider a wrapper type such as `Mutex` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#arc_with_non_send_sync [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you seem to be trying to use `match` for destructuring a single pattern. Consider using `if let` [INFO] [stdout] --> op_transform/src/doc_root.rs:153:9 [INFO] [stdout] | [INFO] [stdout] 153 | / match self.get_root().get_dom_element().unwrap().get_parent() { [INFO] [stdout] 154 | | Some(p) => { [INFO] [stdout] 155 | | p.remove_child(self.container.get_html_node()) [INFO] [stdout] 156 | | .expect("Document:detach()"); [INFO] [stdout] 157 | | } [INFO] [stdout] 158 | | _ => {} [INFO] [stdout] 159 | | } [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stdout] = note: `#[warn(clippy::single_match)]` on by default [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 153 ~ if let Some(p) = self.get_root().get_dom_element().unwrap().get_parent() { [INFO] [stdout] 154 + p.remove_child(self.container.get_html_node()) [INFO] [stdout] 155 + .expect("Document:detach()"); [INFO] [stdout] 156 + } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> op_transform/src/doc_root.rs:221:16 [INFO] [stdout] | [INFO] [stdout] 221 | append(&self.get_root(), block.clone()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: change this to: `self.get_root()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this loop could be written as a `while let` loop [INFO] [stdout] --> op_transform/src/doc_root.rs:238:9 [INFO] [stdout] | [INFO] [stdout] 238 | / loop { [INFO] [stdout] 239 | | if let Some(doc_node) = dn_o { [INFO] [stdout] 240 | | delta.push(doc_node.get_operation()); [INFO] [stdout] 241 | | dn_o = next_node(&doc_node); [INFO] [stdout] ... | [INFO] [stdout] 245 | | } [INFO] [stdout] | |_________^ help: try: `while let Some(doc_node) = dn_o { .. }` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#while_let_loop [INFO] [stdout] = note: `#[warn(clippy::while_let_loop)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> op_transform/src/registry.rs:115:9 [INFO] [stdout] | [INFO] [stdout] 115 | / return Err(RegistryNoSuchFormat { [INFO] [stdout] 116 | | fmt: name.to_string(), [INFO] [stdout] 117 | | } [INFO] [stdout] 118 | | .into()); [INFO] [stdout] | |________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 115 ~ Err(RegistryNoSuchFormat { [INFO] [stdout] 116 + fmt: name.to_string(), [INFO] [stdout] 117 + } [INFO] [stdout] 118 ~ .into()) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> op_transform/src/registry.rs:131:9 [INFO] [stdout] | [INFO] [stdout] 131 | / return Err(RegistryNoSuchFormat { [INFO] [stdout] 132 | | fmt: name.to_string(), [INFO] [stdout] 133 | | } [INFO] [stdout] 134 | | .into()); [INFO] [stdout] | |________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 131 ~ Err(RegistryNoSuchFormat { [INFO] [stdout] 132 + fmt: name.to_string(), [INFO] [stdout] 133 + } [INFO] [stdout] 134 ~ .into()) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> op_transform/src/registry.rs:154:9 [INFO] [stdout] | [INFO] [stdout] 154 | return Ok(false); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 154 - return Ok(false); [INFO] [stdout] 154 + Ok(false) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> op_transform/src/registry.rs:147:31 [INFO] [stdout] | [INFO] [stdout] 147 | if format.applies(&op)? { [INFO] [stdout] | ^^^ help: change this to: `op` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> op_transform/src/registry.rs:167:9 [INFO] [stdout] | [INFO] [stdout] 167 | / return Err(RegistryNoFormatForOp { [INFO] [stdout] 168 | | tpe: "block".to_string(), [INFO] [stdout] 169 | | op: op.clone(), [INFO] [stdout] 170 | | } [INFO] [stdout] 171 | | .into()); [INFO] [stdout] | |________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 167 ~ Err(RegistryNoFormatForOp { [INFO] [stdout] 168 + tpe: "block".to_string(), [INFO] [stdout] 169 + op: op.clone(), [INFO] [stdout] 170 + } [INFO] [stdout] 171 ~ .into()) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> op_transform/src/registry.rs:185:9 [INFO] [stdout] | [INFO] [stdout] 185 | / return Err(RegistryNoFormatForOp { [INFO] [stdout] 186 | | tpe: "line".to_string(), [INFO] [stdout] 187 | | op: op.clone(), [INFO] [stdout] 188 | | } [INFO] [stdout] 189 | | .into()); [INFO] [stdout] | |________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 185 ~ Err(RegistryNoFormatForOp { [INFO] [stdout] 186 + tpe: "line".to_string(), [INFO] [stdout] 187 + op: op.clone(), [INFO] [stdout] 188 + } [INFO] [stdout] 189 ~ .into()) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> op_transform/src/registry.rs:202:9 [INFO] [stdout] | [INFO] [stdout] 202 | / return Err(RegistryNoFormatForOp { [INFO] [stdout] 203 | | tpe: "block".to_string(), [INFO] [stdout] 204 | | op: op.clone(), [INFO] [stdout] 205 | | } [INFO] [stdout] 206 | | .into()); [INFO] [stdout] | |________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 202 ~ Err(RegistryNoFormatForOp { [INFO] [stdout] 203 + tpe: "block".to_string(), [INFO] [stdout] 204 + op: op.clone(), [INFO] [stdout] 205 + } [INFO] [stdout] 206 ~ .into()) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> op_transform/src/auto_soft_break.rs:104:9 [INFO] [stdout] | [INFO] [stdout] 104 | return false; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 104 - return false; [INFO] [stdout] 104 + false [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constants have by default a `'static` lifetime [INFO] [stdout] --> formats/list/src/list_const.rs:8:27 [INFO] [stdout] | [INFO] [stdout] 8 | pub const LIST_ATTR_KEY: &'static str = "list"; [INFO] [stdout] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_static_lifetimes [INFO] [stdout] = note: `#[warn(clippy::redundant_static_lifetimes)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constants have by default a `'static` lifetime [INFO] [stdout] --> formats/list/src/list_const.rs:9:25 [INFO] [stdout] | [INFO] [stdout] 9 | pub const LIST_BULLET: &'static str = "bullet"; [INFO] [stdout] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_static_lifetimes [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constants have by default a `'static` lifetime [INFO] [stdout] --> formats/list/src/list_const.rs:10:26 [INFO] [stdout] | [INFO] [stdout] 10 | pub const LIST_ORDERED: &'static str = "ordered"; [INFO] [stdout] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_static_lifetimes [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constants have by default a `'static` lifetime [INFO] [stdout] --> formats/list/src/list_const.rs:13:28 [INFO] [stdout] | [INFO] [stdout] 13 | pub const LIST_CHECK_BOX: &'static str = "data-checked"; [INFO] [stdout] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_static_lifetimes [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using tabs in doc comments is not recommended [INFO] [stdout] --> formats/list/src/mod.rs:50:13 [INFO] [stdout] | [INFO] [stdout] 50 | /// Value | Description: [INFO] [stdout] | ^^^^ help: consider using four spaces per tab [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#tabs_in_doc_comments [INFO] [stdout] = note: `#[warn(clippy::tabs_in_doc_comments)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using tabs in doc comments is not recommended [INFO] [stdout] --> formats/list/src/mod.rs:51:11 [INFO] [stdout] | [INFO] [stdout] 51 | /// - disc | Sets the list item marker to a bullet (default) [INFO] [stdout] | ^^^^ help: consider using four spaces per tab [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#tabs_in_doc_comments [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using tabs in doc comments is not recommended [INFO] [stdout] --> formats/list/src/mod.rs:52:15 [INFO] [stdout] | [INFO] [stdout] 52 | /// - circle | Sets the list item marker to a circle [INFO] [stdout] | ^^^^ help: consider using four spaces per tab [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#tabs_in_doc_comments [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using tabs in doc comments is not recommended [INFO] [stdout] --> formats/list/src/mod.rs:53:15 [INFO] [stdout] | [INFO] [stdout] 53 | /// - square | Sets the list item marker to a square [INFO] [stdout] | ^^^^ help: consider using four spaces per tab [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#tabs_in_doc_comments [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using tabs in doc comments is not recommended [INFO] [stdout] --> formats/list/src/mod.rs:54:11 [INFO] [stdout] | [INFO] [stdout] 54 | /// - none | The list items will not be marked [INFO] [stdout] | ^^^^ help: consider using four spaces per tab [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#tabs_in_doc_comments [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using tabs in doc comments is not recommended [INFO] [stdout] --> formats/list/src/mod.rs:70:12 [INFO] [stdout] | [INFO] [stdout] 70 | /// Type | Description: [INFO] [stdout] | ^^^^ help: consider using four spaces per tab [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#tabs_in_doc_comments [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using tabs in doc comments is not recommended [INFO] [stdout] --> formats/list/src/mod.rs:71:15 [INFO] [stdout] | [INFO] [stdout] 71 | /// - type="1" The list items will be numbered with numbers (default) [INFO] [stdout] | ^^^^ help: consider using four spaces per tab [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#tabs_in_doc_comments [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using tabs in doc comments is not recommended [INFO] [stdout] --> formats/list/src/mod.rs:72:15 [INFO] [stdout] | [INFO] [stdout] 72 | /// - type="A" The list items will be numbered with uppercase letters [INFO] [stdout] | ^^^^ help: consider using four spaces per tab [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#tabs_in_doc_comments [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using tabs in doc comments is not recommended [INFO] [stdout] --> formats/list/src/mod.rs:73:15 [INFO] [stdout] | [INFO] [stdout] 73 | /// - type="a" The list items will be numbered with lowercase letters [INFO] [stdout] | ^^^^ help: consider using four spaces per tab [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#tabs_in_doc_comments [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using tabs in doc comments is not recommended [INFO] [stdout] --> formats/list/src/mod.rs:74:15 [INFO] [stdout] | [INFO] [stdout] 74 | /// - type="I" The list items will be numbered with uppercase roman numbers [INFO] [stdout] | ^^^^ help: consider using four spaces per tab [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#tabs_in_doc_comments [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using tabs in doc comments is not recommended [INFO] [stdout] --> formats/list/src/mod.rs:75:15 [INFO] [stdout] | [INFO] [stdout] 75 | /// - type="i" The list items will be numbered with lowercase roman numbers [INFO] [stdout] | ^^^^ help: consider using four spaces per tab [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#tabs_in_doc_comments [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> formats/list/src/mod.rs:208:9 [INFO] [stdout] | [INFO] [stdout] 208 | return Ok((ul_doc_node_ptr, li_doc_node_ptr)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] = note: `#[warn(clippy::needless_return)]` on by default [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 208 - return Ok((ul_doc_node_ptr, li_doc_node_ptr)); [INFO] [stdout] 208 + Ok((ul_doc_node_ptr, li_doc_node_ptr)) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: usage of an `Arc` that is not `Send` and `Sync` [INFO] [stdout] --> formats/list/src/mod.rs:201:31 [INFO] [stdout] | [INFO] [stdout] 201 | let li_doc_node_ptr = Arc::new(li_doc_node); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Arc` is not `Send` and `Sync` as `DocumentNode` is neither `Send` nor `Sync` [INFO] [stdout] = help: if the `Arc` will not be used across threads replace it with an `Rc` [INFO] [stdout] = help: otherwise make `DocumentNode` `Send` and `Sync` or consider a wrapper type such as `Mutex` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#arc_with_non_send_sync [INFO] [stdout] = note: `#[warn(clippy::arc_with_non_send_sync)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: usage of an `Arc` that is not `Send` and `Sync` [INFO] [stdout] --> formats/list/src/mod.rs:204:31 [INFO] [stdout] | [INFO] [stdout] 204 | let ul_doc_node_ptr = Arc::new(ul_doc_node); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Arc` is not `Send` and `Sync` as `DocumentNode` is neither `Send` nor `Sync` [INFO] [stdout] = help: if the `Arc` will not be used across threads replace it with an `Rc` [INFO] [stdout] = help: otherwise make `DocumentNode` `Send` and `Sync` or consider a wrapper type such as `Mutex` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#arc_with_non_send_sync [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> formats/list/src/mod.rs:217:42 [INFO] [stdout] | [INFO] [stdout] 217 | if let Some(next) = next_sibling(&li_node) { [INFO] [stdout] | ^^^^^^^^ help: change this to: `li_node` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] = note: `#[warn(clippy::needless_borrow)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> formats/list/src/mod.rs:220:43 [INFO] [stdout] | [INFO] [stdout] 220 | if let Some(_prev) = prev_sibling(&li_node) { [INFO] [stdout] | ^^^^^^^^ help: change this to: `li_node` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> formats/list/src/mod.rs:221:58 [INFO] [stdout] | [INFO] [stdout] 221 | ul_node = split_block_before_child(&ul_node, &li_node)?.clone(); [INFO] [stdout] | ^^^^^^^^ help: change this to: `li_node` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc list item without indentation [INFO] [stdout] --> formats/list/src/mod.rs:231:9 [INFO] [stdout] | [INFO] [stdout] 231 | /// No merge if the UL nodes happen to have different attributes. (such as indentation) [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: if this is supposed to be its own paragraph, add a blank line [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation [INFO] [stdout] = note: `#[warn(clippy::doc_lazy_continuation)]` on by default [INFO] [stdout] help: indent this line [INFO] [stdout] | [INFO] [stdout] 231 | /// No merge if the UL nodes happen to have different attributes. (such as indentation) [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> formats/list/src/mod.rs:271:9 [INFO] [stdout] | [INFO] [stdout] 271 | return Ok(ret); [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 271 - return Ok(ret); [INFO] [stdout] 271 + Ok(ret) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> formats/list/src/mod.rs:239:42 [INFO] [stdout] | [INFO] [stdout] 239 | if let Some(next) = next_sibling(&ul_node) { [INFO] [stdout] | ^^^^^^^^ help: change this to: `ul_node` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> formats/list/src/mod.rs:243:34 [INFO] [stdout] | [INFO] [stdout] 243 | merge_block_node(&ul_node, &next)?; [INFO] [stdout] | ^^^^^^^^ help: change this to: `ul_node` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> formats/list/src/mod.rs:244:53 [INFO] [stdout] | [INFO] [stdout] 244 | if let Some(nxt_nxt) = next_sibling(&ul_node) { [INFO] [stdout] | ^^^^^^^^ help: change this to: `ul_node` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> formats/list/src/mod.rs:248:42 [INFO] [stdout] | [INFO] [stdout] 248 | merge_block_node(&ul_node, &nxt_nxt)?; [INFO] [stdout] | ^^^^^^^^ help: change this to: `ul_node` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> formats/list/src/mod.rs:255:42 [INFO] [stdout] | [INFO] [stdout] 255 | if let Some(prev) = prev_sibling(&ul_node) { [INFO] [stdout] | ^^^^^^^^ help: change this to: `ul_node` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> formats/list/src/mod.rs:260:41 [INFO] [stdout] | [INFO] [stdout] 260 | merge_block_node(&prev, &ul_node)?; [INFO] [stdout] | ^^^^^^^^ help: change this to: `ul_node` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> formats/list/src/mod.rs:282:9 [INFO] [stdout] | [INFO] [stdout] 282 | return Ok(ul_node); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 282 - return Ok(ul_node); [INFO] [stdout] 282 + Ok(ul_node) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> formats/list/src/mod.rs:309:9 [INFO] [stdout] | [INFO] [stdout] 309 | return Ok(false); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 309 - return Ok(false); [INFO] [stdout] 309 + Ok(false) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: comparison to empty slice [INFO] [stdout] --> formats/list/src/mod.rs:302:29 [INFO] [stdout] | [INFO] [stdout] 302 | if s == "\n" || s == "" { [INFO] [stdout] | ^^^^^^^ help: using `is_empty` is clearer and more explicit: `s.is_empty()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#comparison_to_empty [INFO] [stdout] = note: `#[warn(clippy::comparison_to_empty)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> formats/list/src/mod.rs:367:9 [INFO] [stdout] | [INFO] [stdout] 367 | return Ok(node); [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 367 - return Ok(node); [INFO] [stdout] 367 + Ok(node) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: usage of an `Arc` that is not `Send` and `Sync` [INFO] [stdout] --> formats/list/src/mod.rs:329:31 [INFO] [stdout] | [INFO] [stdout] 329 | let li_doc_node = Arc::new(DocumentNode::new_element( [INFO] [stdout] | _______________________________^ [INFO] [stdout] 330 | | li_el, [INFO] [stdout] 331 | | doc_node.get_formatter().clone(), [INFO] [stdout] 332 | | )); [INFO] [stdout] | |______________^ [INFO] [stdout] | [INFO] [stdout] = note: `Arc` is not `Send` and `Sync` as `DocumentNode` is neither `Send` nor `Sync` [INFO] [stdout] = help: if the `Arc` will not be used across threads replace it with an `Rc` [INFO] [stdout] = help: otherwise make `DocumentNode` `Send` and `Sync` or consider a wrapper type such as `Mutex` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#arc_with_non_send_sync [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: usage of an `Arc` that is not `Send` and `Sync` [INFO] [stdout] --> formats/list/src/mod.rs:346:31 [INFO] [stdout] | [INFO] [stdout] 346 | let ul_doc_node = Arc::new(DocumentNode::new_element( [INFO] [stdout] | _______________________________^ [INFO] [stdout] 347 | | ul_el, [INFO] [stdout] 348 | | doc_node.get_formatter().clone(), [INFO] [stdout] 349 | | )); [INFO] [stdout] | |______________^ [INFO] [stdout] | [INFO] [stdout] = note: `Arc` is not `Send` and `Sync` as `DocumentNode` is neither `Send` nor `Sync` [INFO] [stdout] = help: if the `Arc` will not be used across threads replace it with an `Rc` [INFO] [stdout] = help: otherwise make `DocumentNode` `Send` and `Sync` or consider a wrapper type such as `Mutex` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#arc_with_non_send_sync [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> formats/list/src/mod.rs:382:9 [INFO] [stdout] | [INFO] [stdout] 382 | return false; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 382 - return false; [INFO] [stdout] 382 + false [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> formats/list/src/mod.rs:396:17 [INFO] [stdout] | [INFO] [stdout] 396 | assert!((update_cursor && block_node.child_count() == 0) || !update_cursor); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] = note: `#[warn(clippy::nonminimal_bool)]` on by default [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 396 - assert!((update_cursor && block_node.child_count() == 0) || !update_cursor); [INFO] [stdout] 396 + assert!(!(update_cursor && block_node.child_count() != 0)); [INFO] [stdout] | [INFO] [stdout] 396 - assert!((update_cursor && block_node.child_count() == 0) || !update_cursor); [INFO] [stdout] 396 + assert!(!update_cursor || block_node.child_count() == 0); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> formats/list/src/mod.rs:417:9 [INFO] [stdout] | [INFO] [stdout] 417 | return self.merge_ul_nodes(&ul_node); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 417 - return self.merge_ul_nodes(&ul_node); [INFO] [stdout] 417 + self.merge_ul_nodes(&ul_node) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> formats/list/src/mod.rs:432:17 [INFO] [stdout] | [INFO] [stdout] 432 | assert!((update_cursor && li_node.child_count() == 0) || !update_cursor); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 432 - assert!((update_cursor && li_node.child_count() == 0) || !update_cursor); [INFO] [stdout] 432 + assert!(!(update_cursor && li_node.child_count() != 0)); [INFO] [stdout] | [INFO] [stdout] 432 - assert!((update_cursor && li_node.child_count() == 0) || !update_cursor); [INFO] [stdout] 432 + assert!(!update_cursor || li_node.child_count() == 0); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> formats/list/src/mod.rs:472:9 [INFO] [stdout] | [INFO] [stdout] 472 | return Ok(p_node); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 472 - return Ok(p_node); [INFO] [stdout] 472 + Ok(p_node) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> formats/list/src/mod.rs:438:42 [INFO] [stdout] | [INFO] [stdout] 438 | if let Some(next) = next_sibling(&li_node) { [INFO] [stdout] | ^^^^^^^^ help: change this to: `li_node` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> formats/list/src/mod.rs:441:43 [INFO] [stdout] | [INFO] [stdout] 441 | if let Some(_prev) = prev_sibling(&li_node) { [INFO] [stdout] | ^^^^^^^^ help: change this to: `li_node` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> formats/list/src/mod.rs:442:58 [INFO] [stdout] | [INFO] [stdout] 442 | ul_node = split_block_before_child(&ul_node, &li_node)?.clone(); [INFO] [stdout] | ^^^^^^^^ help: change this to: `li_node` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> formats/list/src/mod.rs:456:26 [INFO] [stdout] | [INFO] [stdout] 456 | unlink(&ul_node, &li_node); [INFO] [stdout] | ^^^^^^^^ help: change this to: `li_node` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> formats/list/src/mod.rs:469:20 [INFO] [stdout] | [INFO] [stdout] 469 | unlink(&li_node, n); [INFO] [stdout] | ^^^^^^^^ help: change this to: `li_node` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> formats/list/src/mod.rs:503:33 [INFO] [stdout] | [INFO] [stdout] 503 | self.split_li_in_own_ul(&li_node) [INFO] [stdout] | ^^^^^^^^ help: change this to: `li_node` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: statics have by default a `'static` lifetime [INFO] [stdout] --> node_tree/tests/tree_traverse.rs:16:12 [INFO] [stdout] | [INFO] [stdout] 16 | static P: &'static str = "P"; [INFO] [stdout] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_static_lifetimes [INFO] [stdout] = note: `#[warn(clippy::redundant_static_lifetimes)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: statics have by default a `'static` lifetime [INFO] [stdout] --> formats/code/src/mod.rs:24:24 [INFO] [stdout] | [INFO] [stdout] 24 | pub static NAME_CODE: &'static str = "CODE"; //registry label [INFO] [stdout] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_static_lifetimes [INFO] [stdout] = note: `#[warn(clippy::redundant_static_lifetimes)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: statics have by default a `'static` lifetime [INFO] [stdout] --> formats/code/src/mod.rs:26:19 [INFO] [stdout] | [INFO] [stdout] 26 | static CODE_TAG: &'static str = "SPAN"; [INFO] [stdout] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_static_lifetimes [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: statics have by default a `'static` lifetime [INFO] [stdout] --> formats/code/src/mod.rs:27:24 [INFO] [stdout] | [INFO] [stdout] 27 | static CODE_ATTR_KEY: &'static str = "code-block"; [INFO] [stdout] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_static_lifetimes [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: statics have by default a `'static` lifetime [INFO] [stdout] --> formats/code/src/mod.rs:28:21 [INFO] [stdout] | [INFO] [stdout] 28 | static CODE_CLASS: &'static str = "ql-pre"; [INFO] [stdout] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_static_lifetimes [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `wee_alloc` [INFO] [stdout] --> op_transform/src/mod.rs:79:14 [INFO] [stdout] | [INFO] [stdout] 79 | if #[cfg(feature = "wee_alloc")] { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: expected values for `feature` are: `console_error_panic_hook`, `console_log`, `default`, and `test_export` [INFO] [stdout] = help: consider adding `wee_alloc` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] = note: `#[warn(unexpected_cfgs)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: empty line after doc comment [INFO] [stdout] --> op_transform/src/op_insert.rs:53:1 [INFO] [stdout] | [INFO] [stdout] 53 | / /// FIXME: Must be start of next line !! [INFO] [stdout] 54 | | [INFO] [stdout] | |_^ [INFO] [stdout] ... [INFO] [stdout] 63 | pub fn insert( [INFO] [stdout] | ------------- the comment documents this function [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#empty_line_after_doc_comments [INFO] [stdout] = note: `#[warn(clippy::empty_line_after_doc_comments)]` on by default [INFO] [stdout] = help: if the empty line is unintentional, remove it [INFO] [stdout] help: if the documentation should include the empty line include it in the comment [INFO] [stdout] | [INFO] [stdout] 54 | /// [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: empty line after doc comment [INFO] [stdout] --> op_transform/src/doc_root.rs:306:5 [INFO] [stdout] | [INFO] [stdout] 306 | / /// a few cyclic dependencies [INFO] [stdout] 307 | | [INFO] [stdout] | |_^ [INFO] [stdout] 308 | /// Applies a single DeltaOperation to the current location of the document cursor [INFO] [stdout] 309 | pub fn apply_operation(&mut self, operation: DeltaOperation) -> Result<()> { [INFO] [stdout] | ---------------------- the comment documents this function [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#empty_line_after_doc_comments [INFO] [stdout] = help: if the empty line is unintentional, remove it [INFO] [stdout] help: if the documentation should include the empty line include it in the comment [INFO] [stdout] | [INFO] [stdout] 307 | /// [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: statics have by default a `'static` lifetime [INFO] [stdout] --> op_transform/src/auto_soft_break.rs:16:25 [INFO] [stdout] | [INFO] [stdout] 16 | static SOFT_BREAK_TAG: &'static str = "BR"; [INFO] [stdout] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_static_lifetimes [INFO] [stdout] = note: `#[warn(clippy::redundant_static_lifetimes)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: empty line after doc comment [INFO] [stdout] --> core_formats/src/util/lookup.rs:24:1 [INFO] [stdout] | [INFO] [stdout] 24 | / /// Now we loop over `VEC` and get pairs `(html_key, a_val)` [INFO] [stdout] 25 | | [INFO] [stdout] | |_^ [INFO] [stdout] ... [INFO] [stdout] 28 | pub struct AttributesLookup<'a> { [INFO] [stdout] | --------------------------- the comment documents this struct [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#empty_line_after_doc_comments [INFO] [stdout] = note: `#[warn(clippy::empty_line_after_doc_comments)]` on by default [INFO] [stdout] = help: if the empty line is unintentional, remove it [INFO] [stdout] help: if the documentation should include the empty line include it in the comment [INFO] [stdout] | [INFO] [stdout] 25 | /// [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: empty line after doc comment [INFO] [stdout] --> core_formats/src/format_const.rs:13:1 [INFO] [stdout] | [INFO] [stdout] 13 | / /// to switch the format off. [INFO] [stdout] 14 | | [INFO] [stdout] | |_^ [INFO] [stdout] 15 | pub const FORMAT_BOLD: &str = "bold"; [INFO] [stdout] | --------------------- the comment documents this constant item [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#empty_line_after_doc_comments [INFO] [stdout] = help: if the empty line is unintentional, remove it [INFO] [stdout] help: if the comment should document the parent module use an inner doc comment [INFO] [stdout] | [INFO] [stdout] 8 ~ //! # format constants [INFO] [stdout] 9 ~ //! [INFO] [stdout] 10 ~ //! These names are used in the Delta documents to define formats for text. [INFO] [stdout] 11 ~ //! These can have either value `true`, or be absent from the attributes list. [INFO] [stdout] 12 ~ //! Inverted delta operations may have these values also as `false` in order [INFO] [stdout] 13 ~ //! to switch the format off. [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this lifetime isn't used in the function definition [INFO] [stdout] --> node_tree/tests/tree_traverse.rs:18:11 [INFO] [stdout] | [INFO] [stdout] 18 | fn new_el<'a>(id: String) -> Arc { [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#extra_unused_lifetimes [INFO] [stdout] = note: `#[warn(clippy::extra_unused_lifetimes)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you should consider adding a `Default` implementation for `CodeBlock` [INFO] [stdout] --> formats/code/src/mod.rs:62:5 [INFO] [stdout] | [INFO] [stdout] 62 | / pub fn new() -> Self { [INFO] [stdout] 63 | | block_format::initialise(); [INFO] [stdout] 64 | | CodeBlock {} [INFO] [stdout] 65 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default [INFO] [stdout] = note: `#[warn(clippy::new_without_default)]` on by default [INFO] [stdout] help: try adding this [INFO] [stdout] | [INFO] [stdout] 61 + impl Default for CodeBlock { [INFO] [stdout] 62 + fn default() -> Self { [INFO] [stdout] 63 + Self::new() [INFO] [stdout] 64 + } [INFO] [stdout] 65 + } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: usage of an `Arc` that is not `Send` and `Sync` [INFO] [stdout] --> node_tree/tests/tree_traverse.rs:26:5 [INFO] [stdout] | [INFO] [stdout] 26 | Arc::new(doc_node) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Arc` is not `Send` and `Sync` as `DocumentNode` is neither `Send` nor `Sync` [INFO] [stdout] = help: if the `Arc` will not be used across threads replace it with an `Rc` [INFO] [stdout] = help: otherwise make `DocumentNode` `Send` and `Sync` or consider a wrapper type such as `Mutex` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#arc_with_non_send_sync [INFO] [stdout] = note: `#[warn(clippy::arc_with_non_send_sync)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> formats/code/src/mod.rs:78:9 [INFO] [stdout] | [INFO] [stdout] 78 | return Ok(Arc::new(doc_node)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] = note: `#[warn(clippy::needless_return)]` on by default [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 78 - return Ok(Arc::new(doc_node)); [INFO] [stdout] 78 + Ok(Arc::new(doc_node)) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this lifetime isn't used in the function definition [INFO] [stdout] --> node_tree/tests/tree_traverse.rs:29:7 [INFO] [stdout] | [INFO] [stdout] 29 | fn id<'a>(dn: &Arc) -> String { [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#extra_unused_lifetimes [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> node_tree/tests/tree_traverse.rs:30:5 [INFO] [stdout] | [INFO] [stdout] 30 | return dn.get_dom_element().unwrap().get_attribute("id").unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] = note: `#[warn(clippy::needless_return)]` on by default [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 30 - return dn.get_dom_element().unwrap().get_attribute("id").unwrap(); [INFO] [stdout] 30 + dn.get_dom_element().unwrap().get_attribute("id").unwrap() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> node_tree/tests/tree_traverse.rs:99:26 [INFO] [stdout] | [INFO] [stdout] 99 | let nxt = first_node(&doc.get_root()); [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: change this to: `doc.get_root()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] = note: `#[warn(clippy::needless_borrow)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: usage of an `Arc` that is not `Send` and `Sync` [INFO] [stdout] --> formats/code/src/mod.rs:78:19 [INFO] [stdout] | [INFO] [stdout] 78 | return Ok(Arc::new(doc_node)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Arc` is not `Send` and `Sync` as `DocumentNode` is neither `Send` nor `Sync` [INFO] [stdout] = help: if the `Arc` will not be used across threads replace it with an `Rc` [INFO] [stdout] = help: otherwise make `DocumentNode` `Send` and `Sync` or consider a wrapper type such as `Mutex` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#arc_with_non_send_sync [INFO] [stdout] = note: `#[warn(clippy::arc_with_non_send_sync)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> formats/code/src/mod.rs:101:9 [INFO] [stdout] | [INFO] [stdout] 101 | return Ok(false); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 101 - return Ok(false); [INFO] [stdout] 101 + Ok(false) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> formats/code/src/mod.rs:96:9 [INFO] [stdout] | [INFO] [stdout] 96 | / if delta.insert_value().is_string() && delta.insert_value().str_val()? == "\n" { [INFO] [stdout] 97 | | if delta.get_attributes().contains_key(CODE_ATTR_KEY) { [INFO] [stdout] 98 | | return Ok(true); [INFO] [stdout] 99 | | } [INFO] [stdout] 100 | | } [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] = note: `#[warn(clippy::collapsible_if)]` on by default [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 96 ~ if delta.insert_value().is_string() && delta.insert_value().str_val()? == "\n" [INFO] [stdout] 97 ~ && delta.get_attributes().contains_key(CODE_ATTR_KEY) { [INFO] [stdout] 98 | return Ok(true); [INFO] [stdout] 99 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> formats/code/src/mod.rs:131:9 [INFO] [stdout] | [INFO] [stdout] 131 | return false; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 131 - return false; [INFO] [stdout] 131 + false [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> formats/code/src/mod.rs:174:9 [INFO] [stdout] | [INFO] [stdout] 174 | return Ok(doc_node.clone()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 174 - return Ok(doc_node.clone()); [INFO] [stdout] 174 + Ok(doc_node.clone()) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant pattern matching, consider using `is_some()` [INFO] [stdout] --> node_tree/tests/tree_traverse.rs:168:12 [INFO] [stdout] | [INFO] [stdout] 168 | if let Some(_) = prev_node(&prev) { [INFO] [stdout] | -------^^^^^^^------------------- help: try: `if prev_node(&prev).is_some()` [INFO] [stdout] | [INFO] [stdout] = note: this will change drop order of the result, as well as all temporaries [INFO] [stdout] = note: add `#[allow(clippy::redundant_pattern_matching)]` if this is important [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern_matching [INFO] [stdout] = note: `#[warn(clippy::redundant_pattern_matching)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> node_tree/tests/tree_traverse.rs:168:32 [INFO] [stdout] | [INFO] [stdout] 168 | if let Some(_) = prev_node(&prev) { [INFO] [stdout] | ^^^^^ help: change this to: `prev` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this assertion is always `false` [INFO] [stdout] --> node_tree/tests/tree_traverse.rs:170:9 [INFO] [stdout] | [INFO] [stdout] 170 | assert!(false); [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: replace this with `panic!()` or `unreachable!()` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assertions_on_constants [INFO] [stdout] = note: `#[warn(clippy::assertions_on_constants)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> node_tree/tests/tree_traverse.rs:173:32 [INFO] [stdout] | [INFO] [stdout] 173 | let prev = last_block_node(&doc.get_root()).unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: change this to: `doc.get_root()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> node_tree/tests/tree_traverse.rs:246:26 [INFO] [stdout] | [INFO] [stdout] 246 | let nxt = first_node(&doc.get_root()); [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: change this to: `doc.get_root()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: binary comparison to literal `Option::None` [INFO] [stdout] --> node_tree/tests/tree_traverse.rs:254:13 [INFO] [stdout] | [INFO] [stdout] 254 | assert!(nxt == None); [INFO] [stdout] | ^^^^^^^^^^^ help: use `Option::is_none()` instead: `nxt.is_none()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#partialeq_to_none [INFO] [stdout] = note: `#[warn(clippy::partialeq_to_none)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> op_transform/tests/op_transform_test_utils.rs:22:12 [INFO] [stdout] | [INFO] [stdout] 22 | append(&root, par.clone()); [INFO] [stdout] | ^^^^^ help: change this to: `root` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] = note: `#[warn(clippy::needless_borrow)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> op_transform/tests/op_transform_test_utils.rs:38:12 [INFO] [stdout] | [INFO] [stdout] 38 | append(&root, par.clone()); [INFO] [stdout] | ^^^^^ help: change this to: `root` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> op_transform/tests/op_transform_test_utils.rs:52:12 [INFO] [stdout] | [INFO] [stdout] 52 | append(&root, par.clone()); [INFO] [stdout] | ^^^^^ help: change this to: `root` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting integer literal to `usize` is unnecessary [INFO] [stdout] --> op_transform/tests/cursor.rs:150:43 [INFO] [stdout] | [INFO] [stdout] 150 | assert_eq!(cursor.get_retain_index(), 32 as usize); [INFO] [stdout] | ^^^^^^^^^^^ help: try: `32_usize` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] = note: `#[warn(clippy::unnecessary_cast)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting integer literal to `usize` is unnecessary [INFO] [stdout] --> op_transform/tests/cursor.rs:151:57 [INFO] [stdout] | [INFO] [stdout] 151 | assert_eq!(Delta::document_length(&doc.to_delta()), 33 as usize); //includes last

[INFO] [stdout] | ^^^^^^^^^^^ help: try: `33_usize` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting integer literal to `usize` is unnecessary [INFO] [stdout] --> op_transform/tests/cursor.rs:154:17 [INFO] [stdout] | [INFO] [stdout] 154 | for i in 0..32 as usize { [INFO] [stdout] | ^^^^^^^^^^^ help: try: `32_usize` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this creates an owned instance just for comparison [INFO] [stdout] --> op_transform/tests/cursor.rs:159:29 [INFO] [stdout] | [INFO] [stdout] 159 | if c.to_string() == "@".to_string() { [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: try: `"@"` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cmp_owned [INFO] [stdout] = note: `#[warn(clippy::cmp_owned)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this creates an owned instance just for comparison [INFO] [stdout] --> op_transform/tests/cursor.rs:190:29 [INFO] [stdout] | [INFO] [stdout] 190 | if c.to_string() == "@".to_string() { [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: try: `"@"` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cmp_owned [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: statics have by default a `'static` lifetime [INFO] [stdout] --> formats/image/src/mod.rs:20:25 [INFO] [stdout] | [INFO] [stdout] 20 | pub static NAME_IMAGE: &'static str = "image"; //registry label [INFO] [stdout] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_static_lifetimes [INFO] [stdout] = note: `#[warn(clippy::redundant_static_lifetimes)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: statics have by default a `'static` lifetime [INFO] [stdout] --> formats/image/src/mod.rs:22:20 [INFO] [stdout] | [INFO] [stdout] 22 | static IMAGE_TAG: &'static str = "img"; //html tag [INFO] [stdout] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_static_lifetimes [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: statics have by default a `'static` lifetime [INFO] [stdout] --> node_tree/tests/doc_node.rs:12:18 [INFO] [stdout] | [INFO] [stdout] 12 | pub static DIV: &'static str = "DIV"; [INFO] [stdout] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_static_lifetimes [INFO] [stdout] = note: `#[warn(clippy::redundant_static_lifetimes)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you should consider adding a `Default` implementation for `ImageFormat` [INFO] [stdout] --> formats/image/src/mod.rs:56:5 [INFO] [stdout] | [INFO] [stdout] 56 | / pub fn new() -> Self { [INFO] [stdout] 57 | | initialise(); [INFO] [stdout] 58 | | ImageFormat {} [INFO] [stdout] 59 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default [INFO] [stdout] = note: `#[warn(clippy::new_without_default)]` on by default [INFO] [stdout] help: try adding this [INFO] [stdout] | [INFO] [stdout] 55 + impl Default for ImageFormat { [INFO] [stdout] 56 + fn default() -> Self { [INFO] [stdout] 57 + Self::new() [INFO] [stdout] 58 + } [INFO] [stdout] 59 + } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> formats/image/src/mod.rs:88:9 [INFO] [stdout] | [INFO] [stdout] 88 | return Ok(Arc::new(doc_node)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] = note: `#[warn(clippy::needless_return)]` on by default [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 88 - return Ok(Arc::new(doc_node)); [INFO] [stdout] 88 + Ok(Arc::new(doc_node)) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> formats/image/src/mod.rs:73:13 [INFO] [stdout] | [INFO] [stdout] 73 | / &operation [INFO] [stdout] 74 | | .insert_value() [INFO] [stdout] 75 | | .map_val() [INFO] [stdout] 76 | | .unwrap() [INFO] [stdout] 77 | | .get(NAME_IMAGE) [INFO] [stdout] 78 | | .unwrap() [INFO] [stdout] 79 | | .str_val()?, [INFO] [stdout] | |___________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] = note: `#[warn(clippy::needless_borrow)]` on by default [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 73 ~ operation [INFO] [stdout] 74 + .insert_value() [INFO] [stdout] 75 + .map_val() [INFO] [stdout] 76 + .unwrap() [INFO] [stdout] 77 + .get(NAME_IMAGE) [INFO] [stdout] 78 + .unwrap() [INFO] [stdout] 79 ~ .str_val()?, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> formats/image/src/mod.rs:83:37 [INFO] [stdout] | [INFO] [stdout] 83 | dom_el.set_attribute(k, &v.str_val()?) [INFO] [stdout] | ^^^^^^^^^^^^^ help: change this to: `v.str_val()?` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: usage of an `Arc` that is not `Send` and `Sync` [INFO] [stdout] --> formats/image/src/mod.rs:88:19 [INFO] [stdout] | [INFO] [stdout] 88 | return Ok(Arc::new(doc_node)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Arc` is not `Send` and `Sync` as `DocumentNode` is neither `Send` nor `Sync` [INFO] [stdout] = help: if the `Arc` will not be used across threads replace it with an `Rc` [INFO] [stdout] = help: otherwise make `DocumentNode` `Send` and `Sync` or consider a wrapper type such as `Mutex` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#arc_with_non_send_sync [INFO] [stdout] = note: `#[warn(clippy::arc_with_non_send_sync)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> formats/image/src/mod.rs:111:9 [INFO] [stdout] | [INFO] [stdout] 111 | return Ok(false); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 111 - return Ok(false); [INFO] [stdout] 111 + Ok(false) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> formats/image/src/mod.rs:122:37 [INFO] [stdout] | [INFO] [stdout] 122 | dom_el.set_attribute(k, &v.str_val()?) [INFO] [stdout] | ^^^^^^^^^^^^^ help: change this to: `v.str_val()?` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> formats/image/src/mod.rs:131:37 [INFO] [stdout] | [INFO] [stdout] 131 | dom_el.remove_attribute(&key); [INFO] [stdout] | ^^^^ help: change this to: `key` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> formats/image/src/mod.rs:179:9 [INFO] [stdout] | [INFO] [stdout] 179 | return Ok(doc_node.clone()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 179 - return Ok(doc_node.clone()); [INFO] [stdout] 179 + Ok(doc_node.clone()) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: statics have by default a `'static` lifetime [INFO] [stdout] --> formats/link/src/mod.rs:28:24 [INFO] [stdout] | [INFO] [stdout] 28 | pub static NAME_LINK: &'static str = "link"; //registry label [INFO] [stdout] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_static_lifetimes [INFO] [stdout] = note: `#[warn(clippy::redundant_static_lifetimes)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: statics have by default a `'static` lifetime [INFO] [stdout] --> formats/link/src/mod.rs:30:20 [INFO] [stdout] | [INFO] [stdout] 30 | static LINK_ATTR: &'static str = "link"; //marker attribute to recognize this format [INFO] [stdout] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_static_lifetimes [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: statics have by default a `'static` lifetime [INFO] [stdout] --> formats/link/src/mod.rs:31:23 [INFO] [stdout] | [INFO] [stdout] 31 | pub static LINK_TAG: &'static str = "A"; //HTML tag [INFO] [stdout] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_static_lifetimes [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> op_transform/tests/op_transform_test_utils.rs:22:12 [INFO] [stdout] | [INFO] [stdout] 22 | append(&root, par.clone()); [INFO] [stdout] | ^^^^^ help: change this to: `root` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] = note: `#[warn(clippy::needless_borrow)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> op_transform/tests/op_transform_test_utils.rs:38:12 [INFO] [stdout] | [INFO] [stdout] 38 | append(&root, par.clone()); [INFO] [stdout] | ^^^^^ help: change this to: `root` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> op_transform/tests/op_transform_test_utils.rs:52:12 [INFO] [stdout] | [INFO] [stdout] 52 | append(&root, par.clone()); [INFO] [stdout] | ^^^^^ help: change this to: `root` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: usage of an `Arc` that is not `Send` and `Sync` [INFO] [stdout] --> node_tree/tests/doc_node.rs:19:16 [INFO] [stdout] | [INFO] [stdout] 19 | let root = Arc::new(DocumentNode::new_element( [INFO] [stdout] | ________________^ [INFO] [stdout] 20 | | el, [INFO] [stdout] 21 | | Arc::new(RootFormat::new(DOC_ROOT_FORMAT)), [INFO] [stdout] 22 | | )); [INFO] [stdout] | |______^ [INFO] [stdout] | [INFO] [stdout] = note: `Arc` is not `Send` and `Sync` as `DocumentNode` is neither `Send` nor `Sync` [INFO] [stdout] = help: if the `Arc` will not be used across threads replace it with an `Rc` [INFO] [stdout] = help: otherwise make `DocumentNode` `Send` and `Sync` or consider a wrapper type such as `Mutex` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#arc_with_non_send_sync [INFO] [stdout] = note: `#[warn(clippy::arc_with_non_send_sync)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: usage of an `Arc` that is not `Send` and `Sync` [INFO] [stdout] --> node_tree/tests/doc_node.rs:31:22 [INFO] [stdout] | [INFO] [stdout] 31 | let doc_node_p = Arc::new(doc_node); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Arc` is not `Send` and `Sync` as `DocumentNode` is neither `Send` nor `Sync` [INFO] [stdout] = help: if the `Arc` will not be used across threads replace it with an `Rc` [INFO] [stdout] = help: otherwise make `DocumentNode` `Send` and `Sync` or consider a wrapper type such as `Mutex` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#arc_with_non_send_sync [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: usage of an `Arc` that is not `Send` and `Sync` [INFO] [stdout] --> node_tree/tests/doc_node.rs:47:16 [INFO] [stdout] | [INFO] [stdout] 47 | let root = Arc::new(DocumentNode::new_element( [INFO] [stdout] | ________________^ [INFO] [stdout] 48 | | el, [INFO] [stdout] 49 | | Arc::new(RootFormat::new(DOC_ROOT_FORMAT)), [INFO] [stdout] 50 | | )); [INFO] [stdout] | |______^ [INFO] [stdout] | [INFO] [stdout] = note: `Arc` is not `Send` and `Sync` as `DocumentNode` is neither `Send` nor `Sync` [INFO] [stdout] = help: if the `Arc` will not be used across threads replace it with an `Rc` [INFO] [stdout] = help: otherwise make `DocumentNode` `Send` and `Sync` or consider a wrapper type such as `Mutex` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#arc_with_non_send_sync [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> op_transform/tests/op_transform_test_utils.rs:22:12 [INFO] [stdout] | [INFO] [stdout] 22 | append(&root, par.clone()); [INFO] [stdout] | ^^^^^ help: change this to: `root` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] = note: `#[warn(clippy::needless_borrow)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> op_transform/tests/op_transform_test_utils.rs:38:12 [INFO] [stdout] | [INFO] [stdout] 38 | append(&root, par.clone()); [INFO] [stdout] | ^^^^^ help: change this to: `root` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: usage of an `Arc` that is not `Send` and `Sync` [INFO] [stdout] --> node_tree/tests/doc_node.rs:59:19 [INFO] [stdout] | [INFO] [stdout] 59 | append(&root, Arc::new(doc_node)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Arc` is not `Send` and `Sync` as `DocumentNode` is neither `Send` nor `Sync` [INFO] [stdout] = help: if the `Arc` will not be used across threads replace it with an `Rc` [INFO] [stdout] = help: otherwise make `DocumentNode` `Send` and `Sync` or consider a wrapper type such as `Mutex` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#arc_with_non_send_sync [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: accessing first element with `children.get(0)` [INFO] [stdout] --> node_tree/tests/doc_node.rs:62:14 [INFO] [stdout] | [INFO] [stdout] 62 | let tn = children.get(0).unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: try: `children.first()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_first [INFO] [stdout] = note: `#[warn(clippy::get_first)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: usage of an `Arc` that is not `Send` and `Sync` [INFO] [stdout] --> node_tree/tests/doc_node.rs:76:16 [INFO] [stdout] | [INFO] [stdout] 76 | let root = Arc::new(DocumentNode::new_element( [INFO] [stdout] | ________________^ [INFO] [stdout] 77 | | el, [INFO] [stdout] 78 | | Arc::new(RootFormat::new(DOC_ROOT_FORMAT)), [INFO] [stdout] 79 | | )); [INFO] [stdout] | |______^ [INFO] [stdout] | [INFO] [stdout] = note: `Arc` is not `Send` and `Sync` as `DocumentNode` is neither `Send` nor `Sync` [INFO] [stdout] = help: if the `Arc` will not be used across threads replace it with an `Rc` [INFO] [stdout] = help: otherwise make `DocumentNode` `Send` and `Sync` or consider a wrapper type such as `Mutex` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#arc_with_non_send_sync [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: usage of an `Arc` that is not `Send` and `Sync` [INFO] [stdout] --> node_tree/tests/doc_node.rs:88:19 [INFO] [stdout] | [INFO] [stdout] 88 | append(&root, Arc::new(doc_node)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Arc` is not `Send` and `Sync` as `DocumentNode` is neither `Send` nor `Sync` [INFO] [stdout] = help: if the `Arc` will not be used across threads replace it with an `Rc` [INFO] [stdout] = help: otherwise make `DocumentNode` `Send` and `Sync` or consider a wrapper type such as `Mutex` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#arc_with_non_send_sync [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: accessing first element with `children.get(0)` [INFO] [stdout] --> node_tree/tests/doc_node.rs:91:14 [INFO] [stdout] | [INFO] [stdout] 91 | let tn = children.get(0).unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: try: `children.first()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_first [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: usage of an `Arc` that is not `Send` and `Sync` [INFO] [stdout] --> node_tree/tests/doc_node.rs:105:16 [INFO] [stdout] | [INFO] [stdout] 105 | let root = Arc::new(DocumentNode::new_element( [INFO] [stdout] | ________________^ [INFO] [stdout] 106 | | el, [INFO] [stdout] 107 | | Arc::new(RootFormat::new(DOC_ROOT_FORMAT)), [INFO] [stdout] 108 | | )); [INFO] [stdout] | |______^ [INFO] [stdout] | [INFO] [stdout] = note: `Arc` is not `Send` and `Sync` as `DocumentNode` is neither `Send` nor `Sync` [INFO] [stdout] = help: if the `Arc` will not be used across threads replace it with an `Rc` [INFO] [stdout] = help: otherwise make `DocumentNode` `Send` and `Sync` or consider a wrapper type such as `Mutex` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#arc_with_non_send_sync [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: usage of an `Arc` that is not `Send` and `Sync` [INFO] [stdout] --> node_tree/tests/doc_node.rs:117:19 [INFO] [stdout] | [INFO] [stdout] 117 | append(&root, Arc::new(doc_node)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Arc` is not `Send` and `Sync` as `DocumentNode` is neither `Send` nor `Sync` [INFO] [stdout] = help: if the `Arc` will not be used across threads replace it with an `Rc` [INFO] [stdout] = help: otherwise make `DocumentNode` `Send` and `Sync` or consider a wrapper type such as `Mutex` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#arc_with_non_send_sync [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: accessing first element with `children.get(0)` [INFO] [stdout] --> node_tree/tests/doc_node.rs:120:14 [INFO] [stdout] | [INFO] [stdout] 120 | let tn = children.get(0).unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: try: `children.first()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_first [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: usage of an `Arc` that is not `Send` and `Sync` [INFO] [stdout] --> node_tree/tests/doc_node.rs:135:16 [INFO] [stdout] | [INFO] [stdout] 135 | let root = Arc::new(DocumentNode::new_element( [INFO] [stdout] | ________________^ [INFO] [stdout] 136 | | el, [INFO] [stdout] 137 | | Arc::new(RootFormat::new(DOC_ROOT_FORMAT)), [INFO] [stdout] 138 | | )); [INFO] [stdout] | |______^ [INFO] [stdout] | [INFO] [stdout] = note: `Arc` is not `Send` and `Sync` as `DocumentNode` is neither `Send` nor `Sync` [INFO] [stdout] = help: if the `Arc` will not be used across threads replace it with an `Rc` [INFO] [stdout] = help: otherwise make `DocumentNode` `Send` and `Sync` or consider a wrapper type such as `Mutex` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#arc_with_non_send_sync [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> op_transform/tests/op_transform_test_utils.rs:52:12 [INFO] [stdout] | [INFO] [stdout] 52 | append(&root, par.clone()); [INFO] [stdout] | ^^^^^ help: change this to: `root` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: usage of an `Arc` that is not `Send` and `Sync` [INFO] [stdout] --> node_tree/tests/doc_node.rs:147:19 [INFO] [stdout] | [INFO] [stdout] 147 | append(&root, Arc::new(doc_node)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Arc` is not `Send` and `Sync` as `DocumentNode` is neither `Send` nor `Sync` [INFO] [stdout] = help: if the `Arc` will not be used across threads replace it with an `Rc` [INFO] [stdout] = help: otherwise make `DocumentNode` `Send` and `Sync` or consider a wrapper type such as `Mutex` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#arc_with_non_send_sync [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting integer literal to `usize` is unnecessary [INFO] [stdout] --> op_transform/tests/op_retain.rs:43:53 [INFO] [stdout] | [INFO] [stdout] 43 | assert_eq!(doc.get_cursor().get_retain_index(), 33 as usize); [INFO] [stdout] | ^^^^^^^^^^^ help: try: `33_usize` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] = note: `#[warn(clippy::unnecessary_cast)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this creates an owned instance just for comparison [INFO] [stdout] --> op_transform/tests/op_retain.rs:52:29 [INFO] [stdout] | [INFO] [stdout] 52 | if c.to_string() == "@".to_string() { [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: try: `"@"` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cmp_owned [INFO] [stdout] = note: `#[warn(clippy::cmp_owned)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: accessing first element with `children.get(0)` [INFO] [stdout] --> node_tree/tests/doc_node.rs:150:14 [INFO] [stdout] | [INFO] [stdout] 150 | let tn = children.get(0).unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: try: `children.first()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_first [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: usage of an `Arc` that is not `Send` and `Sync` [INFO] [stdout] --> node_tree/tests/doc_node.rs:165:16 [INFO] [stdout] | [INFO] [stdout] 165 | let root = Arc::new(DocumentNode::new_element( [INFO] [stdout] | ________________^ [INFO] [stdout] 166 | | el, [INFO] [stdout] 167 | | Arc::new(RootFormat::new(DOC_ROOT_FORMAT)), [INFO] [stdout] 168 | | )); [INFO] [stdout] | |______^ [INFO] [stdout] | [INFO] [stdout] = note: `Arc` is not `Send` and `Sync` as `DocumentNode` is neither `Send` nor `Sync` [INFO] [stdout] = help: if the `Arc` will not be used across threads replace it with an `Rc` [INFO] [stdout] = help: otherwise make `DocumentNode` `Send` and `Sync` or consider a wrapper type such as `Mutex` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#arc_with_non_send_sync [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: usage of an `Arc` that is not `Send` and `Sync` [INFO] [stdout] --> node_tree/tests/doc_node.rs:177:19 [INFO] [stdout] | [INFO] [stdout] 177 | append(&root, Arc::new(doc_node)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Arc` is not `Send` and `Sync` as `DocumentNode` is neither `Send` nor `Sync` [INFO] [stdout] = help: if the `Arc` will not be used across threads replace it with an `Rc` [INFO] [stdout] = help: otherwise make `DocumentNode` `Send` and `Sync` or consider a wrapper type such as `Mutex` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#arc_with_non_send_sync [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: accessing first element with `children.get(0)` [INFO] [stdout] --> node_tree/tests/doc_node.rs:180:14 [INFO] [stdout] | [INFO] [stdout] 180 | let tn = children.get(0).unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: try: `children.first()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_first [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting integer literal to `usize` is unnecessary [INFO] [stdout] --> op_transform/tests/op_retain.rs:91:18 [INFO] [stdout] | [INFO] [stdout] 91 | let length = 35 as usize; [INFO] [stdout] | ^^^^^^^^^^^ help: try: `35_usize` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this creates an owned instance just for comparison [INFO] [stdout] --> op_transform/tests/op_retain.rs:108:29 [INFO] [stdout] | [INFO] [stdout] 108 | if c.to_string() == "@".to_string() { [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: try: `"@"` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cmp_owned [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: usage of an `Arc` that is not `Send` and `Sync` [INFO] [stdout] --> node_tree/tests/doc_node.rs:197:16 [INFO] [stdout] | [INFO] [stdout] 197 | let root = Arc::new(DocumentNode::new_element( [INFO] [stdout] | ________________^ [INFO] [stdout] 198 | | el, [INFO] [stdout] 199 | | Arc::new(RootFormat::new(DOC_ROOT_FORMAT)), [INFO] [stdout] 200 | | )); [INFO] [stdout] | |______^ [INFO] [stdout] | [INFO] [stdout] = note: `Arc` is not `Send` and `Sync` as `DocumentNode` is neither `Send` nor `Sync` [INFO] [stdout] = help: if the `Arc` will not be used across threads replace it with an `Rc` [INFO] [stdout] = help: otherwise make `DocumentNode` `Send` and `Sync` or consider a wrapper type such as `Mutex` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#arc_with_non_send_sync [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: usage of an `Arc` that is not `Send` and `Sync` [INFO] [stdout] --> node_tree/tests/doc_node.rs:212:19 [INFO] [stdout] | [INFO] [stdout] 212 | append(&root, Arc::new(doc_node)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Arc` is not `Send` and `Sync` as `DocumentNode` is neither `Send` nor `Sync` [INFO] [stdout] = help: if the `Arc` will not be used across threads replace it with an `Rc` [INFO] [stdout] = help: otherwise make `DocumentNode` `Send` and `Sync` or consider a wrapper type such as `Mutex` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#arc_with_non_send_sync [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: accessing first element with `children.get(0)` [INFO] [stdout] --> node_tree/tests/doc_node.rs:215:21 [INFO] [stdout] | [INFO] [stdout] 215 | let test_node = children.get(0).unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: try: `children.first()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_first [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you should consider adding a `Default` implementation for `LinkFormat` [INFO] [stdout] --> formats/link/src/mod.rs:115:5 [INFO] [stdout] | [INFO] [stdout] 115 | / pub fn new() -> Self { [INFO] [stdout] 116 | | initialise(); [INFO] [stdout] 117 | | LinkFormat {} [INFO] [stdout] 118 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default [INFO] [stdout] = note: `#[warn(clippy::new_without_default)]` on by default [INFO] [stdout] help: try adding this [INFO] [stdout] | [INFO] [stdout] 114 + impl Default for LinkFormat { [INFO] [stdout] 115 + fn default() -> Self { [INFO] [stdout] 116 + Self::new() [INFO] [stdout] 117 + } [INFO] [stdout] 118 + } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> formats/link/src/mod.rs:142:9 [INFO] [stdout] | [INFO] [stdout] 142 | return Ok(link_node); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] = note: `#[warn(clippy::needless_return)]` on by default [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 142 - return Ok(link_node); [INFO] [stdout] 142 + Ok(link_node) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> formats/link/src/mod.rs:133:40 [INFO] [stdout] | [INFO] [stdout] 133 | link_element.set_attribute(&k, &v.str_val()?); [INFO] [stdout] | ^^ help: change this to: `k` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] = note: `#[warn(clippy::needless_borrow)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> formats/link/src/mod.rs:133:44 [INFO] [stdout] | [INFO] [stdout] 133 | link_element.set_attribute(&k, &v.str_val()?); [INFO] [stdout] | ^^^^^^^^^^^^^ help: change this to: `v.str_val()?` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: usage of an `Arc` that is not `Send` and `Sync` [INFO] [stdout] --> formats/link/src/mod.rs:140:25 [INFO] [stdout] | [INFO] [stdout] 140 | let link_node = Arc::new(dn); [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Arc` is not `Send` and `Sync` as `DocumentNode` is neither `Send` nor `Sync` [INFO] [stdout] = help: if the `Arc` will not be used across threads replace it with an `Rc` [INFO] [stdout] = help: otherwise make `DocumentNode` `Send` and `Sync` or consider a wrapper type such as `Mutex` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#arc_with_non_send_sync [INFO] [stdout] = note: `#[warn(clippy::arc_with_non_send_sync)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> formats/link/src/mod.rs:147:9 [INFO] [stdout] | [INFO] [stdout] 147 | return NAME_LINK; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 147 - return NAME_LINK; [INFO] [stdout] 147 + NAME_LINK [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> formats/link/src/mod.rs:162:9 [INFO] [stdout] | [INFO] [stdout] 162 | return Ok(false); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 162 - return Ok(false); [INFO] [stdout] 162 + Ok(false) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> formats/link/src/mod.rs:173:37 [INFO] [stdout] | [INFO] [stdout] 173 | dom_el.set_attribute(k, &v.str_val()?) [INFO] [stdout] | ^^^^^^^^^^^^^ help: change this to: `v.str_val()?` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> formats/link/src/mod.rs:180:41 [INFO] [stdout] | [INFO] [stdout] 180 | dom_el.set_attribute(k, &v.str_val()?) [INFO] [stdout] | ^^^^^^^^^^^^^ help: change this to: `v.str_val()?` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> formats/link/src/mod.rs:190:37 [INFO] [stdout] | [INFO] [stdout] 190 | dom_el.remove_attribute(&key); [INFO] [stdout] | ^^^^ help: change this to: `key` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> formats/link/src/mod.rs:197:41 [INFO] [stdout] | [INFO] [stdout] 197 | dom_el.remove_attribute(&key); [INFO] [stdout] | ^^^^ help: change this to: `key` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> formats/link/src/mod.rs:204:9 [INFO] [stdout] | [INFO] [stdout] 204 | / return if doc_node.get_doc_dom_node().get_node_name() == LINK_TAG { [INFO] [stdout] 205 | | let dn = self.create( [INFO] [stdout] 206 | | doc_node.get_operation().clone(), [INFO] [stdout] 207 | | doc_node.get_formatter().clone(), [INFO] [stdout] ... | [INFO] [stdout] 218 | | self.create(doc_node.get_operation(), doc_node.get_formatter()) [INFO] [stdout] 219 | | }; [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 204 ~ if doc_node.get_doc_dom_node().get_node_name() == LINK_TAG { [INFO] [stdout] 205 + let dn = self.create( [INFO] [stdout] 206 + doc_node.get_operation().clone(), [INFO] [stdout] 207 + doc_node.get_formatter().clone(), [INFO] [stdout] 208 + )?; [INFO] [stdout] 209 + //We return an EMPTY node if we are a link ... [INFO] [stdout] 210 + if dn.child_count() > 0 { [INFO] [stdout] 211 + let child = dn.get_child(0).unwrap(); [INFO] [stdout] 212 + if child.op_len() == 0 { [INFO] [stdout] 213 + unlink(&dn, &child); [INFO] [stdout] 214 + } [INFO] [stdout] 215 + } [INFO] [stdout] 216 + Ok(dn) [INFO] [stdout] 217 + } else { [INFO] [stdout] 218 + self.create(doc_node.get_operation(), doc_node.get_formatter()) [INFO] [stdout] 219 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> formats/link/src/mod.rs:239:9 [INFO] [stdout] | [INFO] [stdout] 239 | return false; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 239 - return false; [INFO] [stdout] 239 + false [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> formats/link/src/mod.rs:278:21 [INFO] [stdout] | [INFO] [stdout] 278 | delete_text(&doc_node, at, length)?; [INFO] [stdout] | ^^^^^^^^^ help: change this to: `doc_node` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> formats/link/src/mod.rs:309:9 [INFO] [stdout] | [INFO] [stdout] 309 | return Ok(doc_node.clone()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 309 - return Ok(doc_node.clone()); [INFO] [stdout] 309 + Ok(doc_node.clone()) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> formats/link/src/mod.rs:305:62 [INFO] [stdout] | [INFO] [stdout] 305 | ul_node = split_block_before_child(&ul_node, &doc_node)?; [INFO] [stdout] | ^^^^^^^^^ help: change this to: `doc_node` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: accessing first element with `doc_node.get_children().get(0)` [INFO] [stdout] --> formats/link/src/mod.rs:352:32 [INFO] [stdout] | [INFO] [stdout] 352 | cursor.set_before(&doc_node.get_children().get(0).unwrap().clone()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `doc_node.get_children().first()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_first [INFO] [stdout] = note: `#[warn(clippy::get_first)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> formats/link/src/mod.rs:379:26 [INFO] [stdout] | [INFO] [stdout] 379 | try_3_way_merge_text(&cursor)?; [INFO] [stdout] | ^^^^^^^ help: change this to: `cursor` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> op_transform/tests/op_transform_test_utils.rs:22:12 [INFO] [stdout] | [INFO] [stdout] 22 | append(&root, par.clone()); [INFO] [stdout] | ^^^^^ help: change this to: `root` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] = note: `#[warn(clippy::needless_borrow)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> op_transform/tests/op_transform_test_utils.rs:38:12 [INFO] [stdout] | [INFO] [stdout] 38 | append(&root, par.clone()); [INFO] [stdout] | ^^^^^ help: change this to: `root` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> op_transform/tests/op_transform_test_utils.rs:52:12 [INFO] [stdout] | [INFO] [stdout] 52 | append(&root, par.clone()); [INFO] [stdout] | ^^^^^ help: change this to: `root` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of an assign operation [INFO] [stdout] --> op_transform/src/op_delete.rs:65:17 [INFO] [stdout] | [INFO] [stdout] 65 | del = del - ol; [INFO] [stdout] | ^^^^^^^^^^^^^^ help: replace it with: `del -= ol` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stdout] = note: `#[warn(clippy::assign_op_pattern)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> op_transform/src/op_delete.rs:68:64 [INFO] [stdout] | [INFO] [stdout] 68 | let found = find_left_node_and_set_cursor(&dn, &cursor); [INFO] [stdout] | ^^^^^^^ help: change this to: `cursor` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] = note: `#[warn(clippy::needless_borrow)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> op_transform/src/op_delete.rs:83:64 [INFO] [stdout] | [INFO] [stdout] 83 | let found = find_left_node_and_set_cursor(&dn, &cursor); [INFO] [stdout] | ^^^^^^^ help: change this to: `cursor` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> op_transform/src/op_delete.rs:125:5 [INFO] [stdout] | [INFO] [stdout] 125 | return false; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] = note: `#[warn(clippy::needless_return)]` on by default [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 125 - return false; [INFO] [stdout] 125 + false [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> op_transform/src/op_delete.rs:113:35 [INFO] [stdout] | [INFO] [stdout] 113 | if let Some(prev) = prev_node(&doc_node) { [INFO] [stdout] | ^^^^^^^^^ help: change this to: `doc_node` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> op_transform/src/op_delete.rs:121:47 [INFO] [stdout] | [INFO] [stdout] 121 | cursor.set_after_no_retain_update(&last); [INFO] [stdout] | ^^^^^ help: change this to: `last` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> op_transform/src/op_delete.rs:133:35 [INFO] [stdout] | [INFO] [stdout] 133 | let Some(parent) = next_block(&doc_node) else { [INFO] [stdout] | ^^^^^^^^^ help: change this to: `doc_node` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> op_transform/src/op_delete.rs:143:46 [INFO] [stdout] | [INFO] [stdout] 143 | doc_node.get_formatter().delete_node(&doc_node); [INFO] [stdout] | ^^^^^^^^^ help: change this to: `doc_node` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> op_transform/src/op_delete.rs:150:46 [INFO] [stdout] | [INFO] [stdout] 150 | doc_node.get_formatter().delete_node(&doc_node); [INFO] [stdout] | ^^^^^^^^^ help: change this to: `doc_node` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> op_transform/src/op_delete.rs:159:31 [INFO] [stdout] | [INFO] [stdout] 159 | unlink(&block_parent, &doc_node); [INFO] [stdout] | ^^^^^^^^^ help: change this to: `doc_node` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> op_transform/src/op_delete.rs:163:20 [INFO] [stdout] | [INFO] [stdout] 163 | unlink(&doc_node, &child); [INFO] [stdout] | ^^^^^^^^^ help: change this to: `doc_node` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> op_transform/src/op_delete.rs:167:46 [INFO] [stdout] | [INFO] [stdout] 167 | doc_node.get_formatter().delete_node(&doc_node); [INFO] [stdout] | ^^^^^^^^^ help: change this to: `doc_node` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc list item overindented [INFO] [stdout] --> op_transform/src/op_insert.rs:46:5 [INFO] [stdout] | [INFO] [stdout] 46 | /// Normally `[node 0]` and `[node 1]` are not split. so we can ignore this case. But for formats which do split theres ...merge... [INFO] [stdout] | ^^^^ help: try using ` ` (3 spaces) [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_overindented_list_items [INFO] [stdout] = note: `#[warn(clippy::doc_overindented_list_items)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc list item without indentation [INFO] [stdout] --> op_transform/src/op_insert.rs:49:5 [INFO] [stdout] | [INFO] [stdout] 49 | /// This is all lumped together in a function `try_merge()` [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: if this is supposed to be its own paragraph, add a blank line [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation [INFO] [stdout] = note: `#[warn(clippy::doc_lazy_continuation)]` on by default [INFO] [stdout] help: indent this line [INFO] [stdout] | [INFO] [stdout] 49 | /// This is all lumped together in a function `try_merge()` [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> op_transform/src/op_insert.rs:72:38 [INFO] [stdout] | [INFO] [stdout] 72 | insert_new_block(cursor, op, ®)?; [INFO] [stdout] | ^^^^ help: change this to: `reg` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> op_transform/tests/op_transform_test_utils.rs:22:12 [INFO] [stdout] | [INFO] [stdout] 22 | append(&root, par.clone()); [INFO] [stdout] | ^^^^^ help: change this to: `root` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] = note: `#[warn(clippy::needless_borrow)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: empty line after doc comment [INFO] [stdout] --> core_formats/tests/util_node_morph.rs:20:1 [INFO] [stdout] | [INFO] [stdout] 20 | / /// The util_node_morph module does not add `
`. So here we do not add it to the tests [INFO] [stdout] 21 | | [INFO] [stdout] | |_^ [INFO] [stdout] 22 | fn create_text(doc: &DocumentRoot) -> anyhow::Result<()> { [INFO] [stdout] | -------------- the comment documents this function [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#empty_line_after_doc_comments [INFO] [stdout] = note: `#[warn(clippy::empty_line_after_doc_comments)]` on by default [INFO] [stdout] = help: if the empty line is unintentional, remove it [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> op_transform/src/op_insert.rs:148:45 [INFO] [stdout] | [INFO] [stdout] 148 | right_format.unwrap().try_merge(&cursor, &right_parent)?; [INFO] [stdout] | ^^^^^^^ help: change this to: `cursor` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> op_transform/src/op_insert.rs:219:30 [INFO] [stdout] | [INFO] [stdout] 219 | format.try_merge(&cursor, &doc_node)?; [INFO] [stdout] | ^^^^^^^ help: change this to: `cursor` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> op_transform/src/op_insert.rs:253:22 [INFO] [stdout] | [INFO] [stdout] 253 | format.try_merge(&cursor, &cursor.get_doc_node())?; [INFO] [stdout] | ^^^^^^^ help: change this to: `cursor` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> op_transform/tests/op_transform_test_utils.rs:38:12 [INFO] [stdout] | [INFO] [stdout] 38 | append(&root, par.clone()); [INFO] [stdout] | ^^^^^ help: change this to: `root` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> op_transform/tests/op_transform_test_utils.rs:52:12 [INFO] [stdout] | [INFO] [stdout] 52 | append(&root, par.clone()); [INFO] [stdout] | ^^^^^ help: change this to: `root` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: accessing first element with `children.get(0)` [INFO] [stdout] --> op_transform/src/op_insert.rs:292:25 [INFO] [stdout] | [INFO] [stdout] 292 | let first_par = children.get(0).unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: try: `children.first()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_first [INFO] [stdout] = note: `#[warn(clippy::get_first)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: accessing first element with `children.get(0)` [INFO] [stdout] --> op_transform/src/op_insert.rs:294:20 [INFO] [stdout] | [INFO] [stdout] 294 | let left = children.get(0).unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: try: `children.first()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_first [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> op_transform/src/op_insert.rs:302:23 [INFO] [stdout] | [INFO] [stdout] 302 | cursor.set_at(&left, 4); [INFO] [stdout] | ^^^^^ help: change this to: `left` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> op_transform/src/op_insert.rs:308:23 [INFO] [stdout] | [INFO] [stdout] 308 | cursor.set_at(&middle, 4); [INFO] [stdout] | ^^^^^^^ help: change this to: `middle` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> op_transform/src/op_insert.rs:315:23 [INFO] [stdout] | [INFO] [stdout] 315 | cursor.set_at(&last_par, 0); [INFO] [stdout] | ^^^^^^^^^ help: change this to: `last_par` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> op_transform/src/op_insert.rs:324:27 [INFO] [stdout] | [INFO] [stdout] 324 | cursor.set_before(&right); [INFO] [stdout] | ^^^^^^ help: change this to: `right` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: accessing first element with `children.get(0)` [INFO] [stdout] --> op_transform/src/op_insert.rs:346:25 [INFO] [stdout] | [INFO] [stdout] 346 | let first_par = children.get(0).unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: try: `children.first()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_first [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: accessing first element with `children.get(0)` [INFO] [stdout] --> op_transform/src/op_insert.rs:348:20 [INFO] [stdout] | [INFO] [stdout] 348 | let left = children.get(0).unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: try: `children.first()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_first [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> op_transform/src/op_insert.rs:352:23 [INFO] [stdout] | [INFO] [stdout] 352 | cursor.set_at(&last_par, 0); [INFO] [stdout] | ^^^^^^^^^ help: change this to: `last_par` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> op_transform/src/op_insert.rs:368:23 [INFO] [stdout] | [INFO] [stdout] 368 | cursor.set_at(&left, 4); [INFO] [stdout] | ^^^^^ help: change this to: `left` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> op_transform/src/op_insert.rs:396:16 [INFO] [stdout] | [INFO] [stdout] 396 | append(&root, par.clone()); [INFO] [stdout] | ^^^^^ help: change this to: `root` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> op_transform/src/op_insert.rs:412:16 [INFO] [stdout] | [INFO] [stdout] 412 | append(&root, par.clone()); [INFO] [stdout] | ^^^^^ help: change this to: `root` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> op_transform/src/op_insert.rs:426:16 [INFO] [stdout] | [INFO] [stdout] 426 | append(&root, par.clone()); [INFO] [stdout] | ^^^^^ help: change this to: `root` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of an assign operation [INFO] [stdout] --> op_transform/src/op_retain.rs:112:13 [INFO] [stdout] | [INFO] [stdout] 112 | rtn = rtn - ol; [INFO] [stdout] | ^^^^^^^^^^^^^^ help: replace it with: `rtn -= ol` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc list item without indentation [INFO] [stdout] --> op_transform/src/op_retain.rs:141:5 [INFO] [stdout] | [INFO] [stdout] 141 | /// BUT it will not change in to a text node!! --> for that we need to delete the `\n` in the text [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: if this is supposed to be its own paragraph, add a blank line [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation [INFO] [stdout] help: indent this line [INFO] [stdout] | [INFO] [stdout] 141 | /// BUT it will not change in to a text node!! --> for that we need to delete the `\n` in the text [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> formats/header/tests/header.rs:46:5 [INFO] [stdout] | [INFO] [stdout] 46 | assert_eq!(hx_block.applies(op)?, true); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison [INFO] [stdout] = note: `#[warn(clippy::bool_assert_comparison)]` on by default [INFO] [stdout] help: replace it with `assert!(..)` [INFO] [stdout] | [INFO] [stdout] 46 - assert_eq!(hx_block.applies(op)?, true); [INFO] [stdout] 46 + assert!(hx_block.applies(op)?); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc list item without indentation [INFO] [stdout] --> op_transform/src/op_retain.rs:142:5 [INFO] [stdout] | [INFO] [stdout] 142 | /// content. Which goes against the definition of a retain [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: if this is supposed to be its own paragraph, add a blank line [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation [INFO] [stdout] help: indent this line [INFO] [stdout] | [INFO] [stdout] 142 | /// content. Which goes against the definition of a retain [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> op_transform/src/op_retain.rs:182:53 [INFO] [stdout] | [INFO] [stdout] 182 | dn = retain_text_format(&dn, &attr, ®istry)?; [INFO] [stdout] | ^^^^^^^^^ help: change this to: `registry` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> op_transform/src/op_retain.rs:184:54 [INFO] [stdout] | [INFO] [stdout] 184 | dn = retain_block_format(&dn, &attr, &cursor, ®istry)? [INFO] [stdout] | ^^^^^^^ help: change this to: `cursor` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> op_transform/src/op_retain.rs:184:63 [INFO] [stdout] | [INFO] [stdout] 184 | dn = retain_block_format(&dn, &attr, &cursor, ®istry)? [INFO] [stdout] | ^^^^^^^^^ help: change this to: `registry` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of an assign operation [INFO] [stdout] --> op_transform/src/op_retain.rs:190:17 [INFO] [stdout] | [INFO] [stdout] 190 | rtn = rtn - ol; [INFO] [stdout] | ^^^^^^^^^^^^^^ help: replace it with: `rtn -= ol` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> op_transform/src/op_retain.rs:202:53 [INFO] [stdout] | [INFO] [stdout] 202 | dn = retain_text_format(&dn, &attr, ®istry)?; [INFO] [stdout] | ^^^^^^^^^ help: change this to: `registry` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> op_transform/src/op_retain.rs:204:54 [INFO] [stdout] | [INFO] [stdout] 204 | dn = retain_block_format(&dn, &attr, &cursor, ®istry)?; [INFO] [stdout] | ^^^^^^^ help: change this to: `cursor` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> op_transform/src/op_retain.rs:204:63 [INFO] [stdout] | [INFO] [stdout] 204 | dn = retain_block_format(&dn, &attr, &cursor, ®istry)?; [INFO] [stdout] | ^^^^^^^^^ help: change this to: `registry` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> op_transform/src/op_retain.rs:223:44 [INFO] [stdout] | [INFO] [stdout] 223 | retain_text_format(&dn, &attr, ®istry)?; //this can only be text format ... [INFO] [stdout] | ^^^^^^^^^ help: change this to: `registry` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> op_transform/src/op_retain.rs:247:29 [INFO] [stdout] | [INFO] [stdout] 247 | .un_block_transform(&cursor, &doc_node)?; [INFO] [stdout] | ^^^^^^^ help: change this to: `cursor` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> op_transform/src/op_retain.rs:247:38 [INFO] [stdout] | [INFO] [stdout] 247 | .un_block_transform(&cursor, &doc_node)?; [INFO] [stdout] | ^^^^^^^^^ help: change this to: `doc_node` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> op_transform/src/op_retain.rs:274:67 [INFO] [stdout] | [INFO] [stdout] 274 | let new_block = doc_node.get_formatter().drop_line_attributes(&doc_node)?; [INFO] [stdout] | ^^^^^^^^^ help: change this to: `doc_node` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: comparison to empty slice [INFO] [stdout] --> op_transform/src/doc_root.rs:71:12 [INFO] [stdout] | [INFO] [stdout] 71 | if id == "" { [INFO] [stdout] | ^^^^^^^^ help: using `is_empty` is clearer and more explicit: `id.is_empty()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#comparison_to_empty [INFO] [stdout] = note: `#[warn(clippy::comparison_to_empty)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> core_formats/src/util/lookup.rs:137:39 [INFO] [stdout] | [INFO] [stdout] 137 | for &i in Attributor::all_key(&LOOKUP.get().unwrap()) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `LOOKUP.get().unwrap()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] = note: `#[warn(clippy::needless_borrow)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: usage of an `Arc` that is not `Send` and `Sync` [INFO] [stdout] --> op_transform/src/doc_root.rs:104:24 [INFO] [stdout] | [INFO] [stdout] 104 | container: Arc::new(container), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Arc` is not `Send` and `Sync` as `DocumentNode` is neither `Send` nor `Sync` [INFO] [stdout] = help: if the `Arc` will not be used across threads replace it with an `Rc` [INFO] [stdout] = help: otherwise make `DocumentNode` `Send` and `Sync` or consider a wrapper type such as `Mutex` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#arc_with_non_send_sync [INFO] [stdout] = note: `#[warn(clippy::arc_with_non_send_sync)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: usage of an `Arc` that is not `Send` and `Sync` [INFO] [stdout] --> op_transform/src/doc_root.rs:105:19 [INFO] [stdout] | [INFO] [stdout] 105 | root: Arc::new(root), [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Arc` is not `Send` and `Sync` as `DocumentNode` is neither `Send` nor `Sync` [INFO] [stdout] = help: if the `Arc` will not be used across threads replace it with an `Rc` [INFO] [stdout] = help: otherwise make `DocumentNode` `Send` and `Sync` or consider a wrapper type such as `Mutex` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#arc_with_non_send_sync [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you seem to be trying to use `match` for destructuring a single pattern. Consider using `if let` [INFO] [stdout] --> op_transform/src/doc_root.rs:153:9 [INFO] [stdout] | [INFO] [stdout] 153 | / match self.get_root().get_dom_element().unwrap().get_parent() { [INFO] [stdout] 154 | | Some(p) => { [INFO] [stdout] 155 | | p.remove_child(self.container.get_html_node()) [INFO] [stdout] 156 | | .expect("Document:detach()"); [INFO] [stdout] 157 | | } [INFO] [stdout] 158 | | _ => {} [INFO] [stdout] 159 | | } [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stdout] = note: `#[warn(clippy::single_match)]` on by default [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 153 ~ if let Some(p) = self.get_root().get_dom_element().unwrap().get_parent() { [INFO] [stdout] 154 + p.remove_child(self.container.get_html_node()) [INFO] [stdout] 155 + .expect("Document:detach()"); [INFO] [stdout] 156 + } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> op_transform/src/doc_root.rs:221:16 [INFO] [stdout] | [INFO] [stdout] 221 | append(&self.get_root(), block.clone()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: change this to: `self.get_root()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this loop could be written as a `while let` loop [INFO] [stdout] --> op_transform/src/doc_root.rs:238:9 [INFO] [stdout] | [INFO] [stdout] 238 | / loop { [INFO] [stdout] 239 | | if let Some(doc_node) = dn_o { [INFO] [stdout] 240 | | delta.push(doc_node.get_operation()); [INFO] [stdout] 241 | | dn_o = next_node(&doc_node); [INFO] [stdout] ... | [INFO] [stdout] 245 | | } [INFO] [stdout] | |_________^ help: try: `while let Some(doc_node) = dn_o { .. }` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#while_let_loop [INFO] [stdout] = note: `#[warn(clippy::while_let_loop)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: deref on an immutable reference [INFO] [stdout] --> op_transform/tests/doc_root.rs:13:33 [INFO] [stdout] | [INFO] [stdout] 13 | let doc = DocumentRoot::new(&*"huppeldepup"); [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: if you would like to reborrow, try removing `&*`: `"huppeldepup"` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#borrow_deref_ref [INFO] [stdout] = note: `#[warn(clippy::borrow_deref_ref)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting integer literal to `u16` is unnecessary [INFO] [stdout] --> op_transform/tests/doc_root.rs:16:9 [INFO] [stdout] | [INFO] [stdout] 16 | 1 as u16 [INFO] [stdout] | ^^^^^^^^ help: try: `1_u16` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] = note: `#[warn(clippy::unnecessary_cast)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: usage of an `Arc` that is not `Send` and `Sync` [INFO] [stdout] --> core_formats/src/paragraph.rs:53:18 [INFO] [stdout] | [INFO] [stdout] 53 | let dn = Arc::new(DocumentNode::new_element(element, formatter.clone())); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Arc` is not `Send` and `Sync` as `DocumentNode` is neither `Send` nor `Sync` [INFO] [stdout] = help: if the `Arc` will not be used across threads replace it with an `Rc` [INFO] [stdout] = help: otherwise make `DocumentNode` `Send` and `Sync` or consider a wrapper type such as `Mutex` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#arc_with_non_send_sync [INFO] [stdout] = note: `#[warn(clippy::arc_with_non_send_sync)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: deref on an immutable reference [INFO] [stdout] --> op_transform/tests/doc_root.rs:35:33 [INFO] [stdout] | [INFO] [stdout] 35 | let doc = DocumentRoot::new(&*"doc-root"); [INFO] [stdout] | ^^^^^^^^^^^^ help: if you would like to reborrow, try removing `&*`: `"doc-root"` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#borrow_deref_ref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: deref on an immutable reference [INFO] [stdout] --> op_transform/tests/doc_root.rs:46:33 [INFO] [stdout] | [INFO] [stdout] 46 | let doc = DocumentRoot::new(&*"body-root"); [INFO] [stdout] | ^^^^^^^^^^^^^ help: if you would like to reborrow, try removing `&*`: `"body-root"` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#borrow_deref_ref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: deref on an immutable reference [INFO] [stdout] --> op_transform/tests/doc_root.rs:49:36 [INFO] [stdout] | [INFO] [stdout] 49 | let el = get_dom_element_by_id(&*"body-root"); [INFO] [stdout] | ^^^^^^^^^^^^^ help: if you would like to reborrow, try removing `&*`: `"body-root"` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#borrow_deref_ref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: deref on an immutable reference [INFO] [stdout] --> op_transform/tests/doc_root.rs:54:37 [INFO] [stdout] | [INFO] [stdout] 54 | let el2 = get_dom_element_by_id(&*"body-root").unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^ help: if you would like to reborrow, try removing `&*`: `"body-root"` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#borrow_deref_ref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: deref on an immutable reference [INFO] [stdout] --> op_transform/tests/doc_root.rs:55:50 [INFO] [stdout] | [INFO] [stdout] 55 | assert_eq!(el2.get_attribute("id").unwrap(), &*"body-root"); [INFO] [stdout] | ^^^^^^^^^^^^^ help: if you would like to reborrow, try removing `&*`: `"body-root"` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#borrow_deref_ref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> op_transform/src/registry.rs:115:9 [INFO] [stdout] | [INFO] [stdout] 115 | / return Err(RegistryNoSuchFormat { [INFO] [stdout] 116 | | fmt: name.to_string(), [INFO] [stdout] 117 | | } [INFO] [stdout] 118 | | .into()); [INFO] [stdout] | |________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 115 ~ Err(RegistryNoSuchFormat { [INFO] [stdout] 116 + fmt: name.to_string(), [INFO] [stdout] 117 + } [INFO] [stdout] 118 ~ .into()) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc list item without indentation [INFO] [stdout] --> core_formats/src/t_formats.rs:22:5 [INFO] [stdout] | [INFO] [stdout] 22 | /// Where the supported formats are described below. Other formats are ignored ... [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: if this is supposed to be its own paragraph, add a blank line [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation [INFO] [stdout] = note: `#[warn(clippy::doc_lazy_continuation)]` on by default [INFO] [stdout] help: indent this line [INFO] [stdout] | [INFO] [stdout] 22 | /// Where the supported formats are described below. Other formats are ignored ... [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> op_transform/src/registry.rs:131:9 [INFO] [stdout] | [INFO] [stdout] 131 | / return Err(RegistryNoSuchFormat { [INFO] [stdout] 132 | | fmt: name.to_string(), [INFO] [stdout] 133 | | } [INFO] [stdout] 134 | | .into()); [INFO] [stdout] | |________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 131 ~ Err(RegistryNoSuchFormat { [INFO] [stdout] 132 + fmt: name.to_string(), [INFO] [stdout] 133 + } [INFO] [stdout] 134 ~ .into()) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> op_transform/src/registry.rs:154:9 [INFO] [stdout] | [INFO] [stdout] 154 | return Ok(false); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 154 - return Ok(false); [INFO] [stdout] 154 + Ok(false) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> op_transform/src/registry.rs:147:31 [INFO] [stdout] | [INFO] [stdout] 147 | if format.applies(&op)? { [INFO] [stdout] | ^^^ help: change this to: `op` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> op_transform/src/registry.rs:167:9 [INFO] [stdout] | [INFO] [stdout] 167 | / return Err(RegistryNoFormatForOp { [INFO] [stdout] 168 | | tpe: "block".to_string(), [INFO] [stdout] 169 | | op: op.clone(), [INFO] [stdout] 170 | | } [INFO] [stdout] 171 | | .into()); [INFO] [stdout] | |________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 167 ~ Err(RegistryNoFormatForOp { [INFO] [stdout] 168 + tpe: "block".to_string(), [INFO] [stdout] 169 + op: op.clone(), [INFO] [stdout] 170 + } [INFO] [stdout] 171 ~ .into()) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: usage of an `Arc` that is not `Send` and `Sync` [INFO] [stdout] --> core_formats/src/t_formats.rs:114:24 [INFO] [stdout] | [INFO] [stdout] 114 | let new_doc_node = Arc::new(dd); [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Arc` is not `Send` and `Sync` as `DocumentNode` is neither `Send` nor `Sync` [INFO] [stdout] = help: if the `Arc` will not be used across threads replace it with an `Rc` [INFO] [stdout] = help: otherwise make `DocumentNode` `Send` and `Sync` or consider a wrapper type such as `Mutex` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#arc_with_non_send_sync [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> op_transform/src/registry.rs:185:9 [INFO] [stdout] | [INFO] [stdout] 185 | / return Err(RegistryNoFormatForOp { [INFO] [stdout] 186 | | tpe: "line".to_string(), [INFO] [stdout] 187 | | op: op.clone(), [INFO] [stdout] 188 | | } [INFO] [stdout] 189 | | .into()); [INFO] [stdout] | |________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 185 ~ Err(RegistryNoFormatForOp { [INFO] [stdout] 186 + tpe: "line".to_string(), [INFO] [stdout] 187 + op: op.clone(), [INFO] [stdout] 188 + } [INFO] [stdout] 189 ~ .into()) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> op_transform/src/registry.rs:202:9 [INFO] [stdout] | [INFO] [stdout] 202 | / return Err(RegistryNoFormatForOp { [INFO] [stdout] 203 | | tpe: "block".to_string(), [INFO] [stdout] 204 | | op: op.clone(), [INFO] [stdout] 205 | | } [INFO] [stdout] 206 | | .into()); [INFO] [stdout] | |________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 202 ~ Err(RegistryNoFormatForOp { [INFO] [stdout] 203 + tpe: "block".to_string(), [INFO] [stdout] 204 + op: op.clone(), [INFO] [stdout] 205 + } [INFO] [stdout] 206 ~ .into()) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: usage of an `Arc` that is not `Send` and `Sync` [INFO] [stdout] --> core_formats/src/t_formats.rs:135:32 [INFO] [stdout] | [INFO] [stdout] 135 | let new_doc_node = Arc::new(dd); [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Arc` is not `Send` and `Sync` as `DocumentNode` is neither `Send` nor `Sync` [INFO] [stdout] = help: if the `Arc` will not be used across threads replace it with an `Rc` [INFO] [stdout] = help: otherwise make `DocumentNode` `Send` and `Sync` or consider a wrapper type such as `Mutex` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#arc_with_non_send_sync [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: usage of an `Arc` that is not `Send` and `Sync` [INFO] [stdout] --> core_formats/src/t_formats.rs:184:28 [INFO] [stdout] | [INFO] [stdout] 184 | let mut doc_node = Arc::new(DocumentNode::new_text( [INFO] [stdout] | ____________________________^ [INFO] [stdout] 185 | | el, [INFO] [stdout] 186 | | Arc::new(RootFormat::new("t_format")), [INFO] [stdout] 187 | | )); [INFO] [stdout] | |__________^ [INFO] [stdout] | [INFO] [stdout] = note: `Arc` is not `Send` and `Sync` as `DocumentNode` is neither `Send` nor `Sync` [INFO] [stdout] = help: if the `Arc` will not be used across threads replace it with an `Rc` [INFO] [stdout] = help: otherwise make `DocumentNode` `Send` and `Sync` or consider a wrapper type such as `Mutex` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#arc_with_non_send_sync [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> core_formats/src/t_formats.rs:249:9 [INFO] [stdout] | [INFO] [stdout] 249 | assert_eq!(v, true); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison [INFO] [stdout] = note: `#[warn(clippy::bool_assert_comparison)]` on by default [INFO] [stdout] help: replace it with `assert!(..)` [INFO] [stdout] | [INFO] [stdout] 249 - assert_eq!(v, true); [INFO] [stdout] 249 + assert!(v); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> core_formats/src/t_formats.rs:255:9 [INFO] [stdout] | [INFO] [stdout] 255 | assert_eq!(v, false); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison [INFO] [stdout] help: replace it with `assert!(..)` [INFO] [stdout] | [INFO] [stdout] 255 - assert_eq!(v, false); [INFO] [stdout] 255 + assert!(!v); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> op_transform/src/auto_soft_break.rs:104:9 [INFO] [stdout] | [INFO] [stdout] 104 | return false; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 104 - return false; [INFO] [stdout] 104 + false [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: usage of an `Arc` that is not `Send` and `Sync` [INFO] [stdout] --> core_formats/src/text_formatter.rs:204:20 [INFO] [stdout] | [INFO] [stdout] 204 | let doc_node = Arc::new(dd); [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Arc` is not `Send` and `Sync` as `DocumentNode` is neither `Send` nor `Sync` [INFO] [stdout] = help: if the `Arc` will not be used across threads replace it with an `Rc` [INFO] [stdout] = help: otherwise make `DocumentNode` `Send` and `Sync` or consider a wrapper type such as `Mutex` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#arc_with_non_send_sync [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: usage of an `Arc` that is not `Send` and `Sync` [INFO] [stdout] --> core_formats/src/text_formatter.rs:227:20 [INFO] [stdout] | [INFO] [stdout] 227 | let doc_node = Arc::new(dd); [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Arc` is not `Send` and `Sync` as `DocumentNode` is neither `Send` nor `Sync` [INFO] [stdout] = help: if the `Arc` will not be used across threads replace it with an `Rc` [INFO] [stdout] = help: otherwise make `DocumentNode` `Send` and `Sync` or consider a wrapper type such as `Mutex` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#arc_with_non_send_sync [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: usage of an `Arc` that is not `Send` and `Sync` [INFO] [stdout] --> core_formats/src/text_formatter.rs:255:24 [INFO] [stdout] | [INFO] [stdout] 255 | let mut doc_node = Arc::new(dd); [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Arc` is not `Send` and `Sync` as `DocumentNode` is neither `Send` nor `Sync` [INFO] [stdout] = help: if the `Arc` will not be used across threads replace it with an `Rc` [INFO] [stdout] = help: otherwise make `DocumentNode` `Send` and `Sync` or consider a wrapper type such as `Mutex` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#arc_with_non_send_sync [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: usage of an `Arc` that is not `Send` and `Sync` [INFO] [stdout] --> node_tree/tests/dom_doc_tree_morph.rs:15:28 [INFO] [stdout] | [INFO] [stdout] 15 | append(doc.get_root(), Arc::new(doc_node1)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Arc` is not `Send` and `Sync` as `DocumentNode` is neither `Send` nor `Sync` [INFO] [stdout] = help: if the `Arc` will not be used across threads replace it with an `Rc` [INFO] [stdout] = help: otherwise make `DocumentNode` `Send` and `Sync` or consider a wrapper type such as `Mutex` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#arc_with_non_send_sync [INFO] [stdout] = note: `#[warn(clippy::arc_with_non_send_sync)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: usage of an `Arc` that is not `Send` and `Sync` [INFO] [stdout] --> node_tree/tests/dom_doc_tree_morph.rs:20:28 [INFO] [stdout] | [INFO] [stdout] 20 | append(doc.get_root(), Arc::new(doc_node2)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Arc` is not `Send` and `Sync` as `DocumentNode` is neither `Send` nor `Sync` [INFO] [stdout] = help: if the `Arc` will not be used across threads replace it with an `Rc` [INFO] [stdout] = help: otherwise make `DocumentNode` `Send` and `Sync` or consider a wrapper type such as `Mutex` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#arc_with_non_send_sync [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: usage of an `Arc` that is not `Send` and `Sync` [INFO] [stdout] --> node_tree/tests/dom_doc_tree_morph.rs:25:28 [INFO] [stdout] | [INFO] [stdout] 25 | append(doc.get_root(), Arc::new(doc_node3)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Arc` is not `Send` and `Sync` as `DocumentNode` is neither `Send` nor `Sync` [INFO] [stdout] = help: if the `Arc` will not be used across threads replace it with an `Rc` [INFO] [stdout] = help: otherwise make `DocumentNode` `Send` and `Sync` or consider a wrapper type such as `Mutex` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#arc_with_non_send_sync [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: deref on an immutable reference [INFO] [stdout] --> node_tree/tests/dom_doc_tree_morph.rs:33:33 [INFO] [stdout] | [INFO] [stdout] 33 | let doc = DocumentRoot::new(&*"get_parent"); [INFO] [stdout] | ^^^^^^^^^^^^^^ help: if you would like to reborrow, try removing `&*`: `"get_parent"` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#borrow_deref_ref [INFO] [stdout] = note: `#[warn(clippy::borrow_deref_ref)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: deref on an immutable reference [INFO] [stdout] --> node_tree/tests/dom_doc_tree_morph.rs:45:33 [INFO] [stdout] | [INFO] [stdout] 45 | let doc = DocumentRoot::new(&*"unlink_test"); [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: if you would like to reborrow, try removing `&*`: `"unlink_test"` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#borrow_deref_ref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> core_formats/tests/util_node_morph.rs:49:12 [INFO] [stdout] | [INFO] [stdout] 49 | append(&root, par.clone()); [INFO] [stdout] | ^^^^^ help: change this to: `root` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] = note: `#[warn(clippy::needless_borrow)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: deref on an immutable reference [INFO] [stdout] --> node_tree/tests/dom_doc_tree_morph.rs:56:33 [INFO] [stdout] | [INFO] [stdout] 56 | let doc = DocumentRoot::new(&*"append_test"); [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: if you would like to reborrow, try removing `&*`: `"append_test"` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#borrow_deref_ref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> core_formats/tests/util_node_morph.rs:63:12 [INFO] [stdout] | [INFO] [stdout] 63 | append(&root, par.clone()); [INFO] [stdout] | ^^^^^ help: change this to: `root` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: usage of an `Arc` that is not `Send` and `Sync` [INFO] [stdout] --> node_tree/tests/dom_doc_tree_morph.rs:62:28 [INFO] [stdout] | [INFO] [stdout] 62 | append(doc.get_root(), Arc::new(doc_node)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Arc` is not `Send` and `Sync` as `DocumentNode` is neither `Send` nor `Sync` [INFO] [stdout] = help: if the `Arc` will not be used across threads replace it with an `Rc` [INFO] [stdout] = help: otherwise make `DocumentNode` `Send` and `Sync` or consider a wrapper type such as `Mutex` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#arc_with_non_send_sync [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: deref on an immutable reference [INFO] [stdout] --> node_tree/tests/dom_doc_tree_morph.rs:69:33 [INFO] [stdout] | [INFO] [stdout] 69 | let doc = DocumentRoot::new(&*"child_index_test"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: if you would like to reborrow, try removing `&*`: `"child_index_test"` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#borrow_deref_ref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: accessing first element with `children.get(0)` [INFO] [stdout] --> core_formats/tests/util_node_morph.rs:88:15 [INFO] [stdout] | [INFO] [stdout] 88 | let par = children.get(0).unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: try: `children.first()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_first [INFO] [stdout] = note: `#[warn(clippy::get_first)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: statics have by default a `'static` lifetime [INFO] [stdout] --> formats/header/src/mod.rs:26:26 [INFO] [stdout] | [INFO] [stdout] 26 | pub static NAME_HEADER: &'static str = "heading"; //registry label [INFO] [stdout] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_static_lifetimes [INFO] [stdout] = note: `#[warn(clippy::redundant_static_lifetimes)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: statics have by default a `'static` lifetime [INFO] [stdout] --> formats/header/src/mod.rs:28:17 [INFO] [stdout] | [INFO] [stdout] 28 | static HX_TAG: &'static str = "H"; //HTML tag [INFO] [stdout] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_static_lifetimes [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: statics have by default a `'static` lifetime [INFO] [stdout] --> formats/header/src/mod.rs:29:26 [INFO] [stdout] | [INFO] [stdout] 29 | static HEADER_ATTR_KEY: &'static str = "heading"; //attribute key [INFO] [stdout] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_static_lifetimes [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: accessing first element with `children.get(0)` [INFO] [stdout] --> core_formats/tests/util_node_morph.rs:104:16 [INFO] [stdout] | [INFO] [stdout] 104 | let text = children.get(0).unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: try: `children.first()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_first [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: deref on an immutable reference [INFO] [stdout] --> node_tree/tests/dom_doc_tree_morph.rs:112:33 [INFO] [stdout] | [INFO] [stdout] 112 | let doc = DocumentRoot::new(&*"child_remove_index_test-0"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: if you would like to reborrow, try removing `&*`: `"child_remove_index_test-0"` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#borrow_deref_ref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> node_tree/tests/dom_doc_tree_morph.rs:115:24 [INFO] [stdout] | [INFO] [stdout] 115 | remove_child_index(&doc.get_root(), 1); [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: change this to: `doc.get_root()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] = note: `#[warn(clippy::needless_borrow)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: empty line after doc comment [INFO] [stdout] --> node_tree/src/tree_traverse.rs:30:1 [INFO] [stdout] | [INFO] [stdout] 30 | / /// [DftPost](https://docs.rs/traversal/0.1.2/traversal/struct.DftPost.html]) (Depth-First Traversal in Post-Order) [INFO] [stdout] 31 | | [INFO] [stdout] | |_^ [INFO] [stdout] ... [INFO] [stdout] 36 | pub fn is_doc_root(doc_node: &DocumentNode) -> bool { [INFO] [stdout] | ------------------ the comment documents this function [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#empty_line_after_doc_comments [INFO] [stdout] = note: `#[warn(clippy::empty_line_after_doc_comments)]` on by default [INFO] [stdout] = help: if the empty line is unintentional, remove it [INFO] [stdout] help: if the doc comment should not document function `is_doc_root` then comment it out [INFO] [stdout] | [INFO] [stdout] 12 ~ // /// # tree_traverse [INFO] [stdout] 13 ~ // /// [INFO] [stdout] 14 ~ // /// Iterator methods to traverse the tree in a LINEAR order of the document-transformations [INFO] [stdout] 15 ~ // /// The doc-node tree may look like below. Since we have the "block" operations AFTER the [INFO] [stdout] 16 ~ // /// declaration of the leaf node, we should return the block B after E, which comes after D. [INFO] [stdout] 17 ~ // /// ```bash [INFO] [stdout] 18 ~ // /// A [INFO] [stdout] 19 ~ // /// / \ [INFO] [stdout] 20 ~ // /// B C [INFO] [stdout] 21 ~ // /// / \ / \ [INFO] [stdout] 22 ~ // /// D E F G [INFO] [stdout] 23 ~ // ///``` [INFO] [stdout] 24 ~ // /// Repeated calls to `Next()` should return :D, E, B, F, G, C, A [INFO] [stdout] 25 ~ // /// [INFO] [stdout] 26 ~ // /// Debug hit: If there are `*.unwrap()` errors from this library, then it is probably a [INFO] [stdout] 27 ~ // /// `unlinked-node` that we use as input. [INFO] [stdout] 28 ~ // /// [INFO] [stdout] 29 ~ // /// Maybe have a look at the traversal package: [INFO] [stdout] 30 ~ // /// [DftPost](https://docs.rs/traversal/0.1.2/traversal/struct.DftPost.html]) (Depth-First Traversal in Post-Order) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: accessing first element with `children.get(0)` [INFO] [stdout] --> core_formats/tests/util_node_morph.rs:125:16 [INFO] [stdout] | [INFO] [stdout] 125 | let left = children.get(0).unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: try: `children.first()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_first [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> core_formats/tests/util_node_morph.rs:128:22 [INFO] [stdout] | [INFO] [stdout] 128 | merge_block_node(&left, &right)?; [INFO] [stdout] | ^^^^^ help: change this to: `left` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> core_formats/tests/util_node_morph.rs:128:29 [INFO] [stdout] | [INFO] [stdout] 128 | merge_block_node(&left, &right)?; [INFO] [stdout] | ^^^^^^ help: change this to: `right` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: accessing first element with `children.get(0)` [INFO] [stdout] --> core_formats/tests/util_node_morph.rs:142:15 [INFO] [stdout] | [INFO] [stdout] 142 | let par = children.get(0).unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: try: `children.first()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_first [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> core_formats/tests/util_node_morph.rs:146:30 [INFO] [stdout] | [INFO] [stdout] 146 | split_block_before_child(&par, block)?; [INFO] [stdout] | ^^^^ help: change this to: `par` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: deref on an immutable reference [INFO] [stdout] --> node_tree/tests/dom_doc_tree_morph.rs:119:34 [INFO] [stdout] | [INFO] [stdout] 119 | let doc1 = DocumentRoot::new(&*"child_remove_index_test-1"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: if you would like to reborrow, try removing `&*`: `"child_remove_index_test-1"` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#borrow_deref_ref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: empty line after doc comment [INFO] [stdout] --> node_tree/src/format_trait.rs:88:5 [INFO] [stdout] | [INFO] [stdout] 88 | / ///-------------------------------------------------------------- [INFO] [stdout] 89 | | [INFO] [stdout] | |_^ [INFO] [stdout] ... [INFO] [stdout] 95 | fn clone_doc_node(&self, doc_node: &Arc) -> Result> { [INFO] [stdout] | ----------------- the comment documents this function [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#empty_line_after_doc_comments [INFO] [stdout] = help: if the empty line is unintentional, remove it [INFO] [stdout] help: if the documentation should include the empty line include it in the comment [INFO] [stdout] | [INFO] [stdout] 89 | /// [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> node_tree/tests/dom_doc_tree_morph.rs:121:24 [INFO] [stdout] | [INFO] [stdout] 121 | remove_child_index(&doc1.get_root(), 0); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: change this to: `doc1.get_root()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: deref on an immutable reference [INFO] [stdout] --> node_tree/tests/dom_doc_tree_morph.rs:125:34 [INFO] [stdout] | [INFO] [stdout] 125 | let doc2 = DocumentRoot::new(&*"child_remove_index_test-2"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: if you would like to reborrow, try removing `&*`: `"child_remove_index_test-2"` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#borrow_deref_ref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> node_tree/tests/dom_doc_tree_morph.rs:127:24 [INFO] [stdout] | [INFO] [stdout] 127 | remove_child_index(&doc2.get_root(), 2); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: change this to: `doc2.get_root()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: accessing first element with `children.get(0)` [INFO] [stdout] --> core_formats/tests/util_node_morph.rs:160:15 [INFO] [stdout] | [INFO] [stdout] 160 | let par = children.get(0).unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: try: `children.first()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_first [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: usage of an `Arc` that is not `Send` and `Sync` [INFO] [stdout] --> node_tree/tests/dom_doc_tree_morph.rs:136:20 [INFO] [stdout] | [INFO] [stdout] 136 | let doc_node = Arc::new(DocumentNode::new_element( [INFO] [stdout] | ____________________^ [INFO] [stdout] 137 | | element, [INFO] [stdout] 138 | | Arc::new(RootFormat::new("dom_doc_tree_morph")), [INFO] [stdout] 139 | | )); [INFO] [stdout] | |______^ [INFO] [stdout] | [INFO] [stdout] = note: `Arc` is not `Send` and `Sync` as `DocumentNode` is neither `Send` nor `Sync` [INFO] [stdout] = help: if the `Arc` will not be used across threads replace it with an `Rc` [INFO] [stdout] = help: otherwise make `DocumentNode` `Send` and `Sync` or consider a wrapper type such as `Mutex` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#arc_with_non_send_sync [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: deref on an immutable reference [INFO] [stdout] --> node_tree/tests/dom_doc_tree_morph.rs:141:33 [INFO] [stdout] | [INFO] [stdout] 141 | let doc = DocumentRoot::new(&*"child_insert_test-0"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ help: if you would like to reborrow, try removing `&*`: `"child_insert_test-0"` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#borrow_deref_ref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: accessing first element with `children.get(0)` [INFO] [stdout] --> core_formats/tests/util_node_morph.rs:162:16 [INFO] [stdout] | [INFO] [stdout] 162 | let left = children.get(0).unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: try: `children.first()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_first [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> node_tree/tests/cursor.rs:33:16 [INFO] [stdout] | [INFO] [stdout] 33 | append(&root, par.clone()); [INFO] [stdout] | ^^^^^ help: change this to: `root` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] = note: `#[warn(clippy::needless_borrow)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> node_tree/tests/dom_doc_tree_morph.rs:143:21 [INFO] [stdout] | [INFO] [stdout] 143 | insert_at_index(&doc.get_root(), 0, doc_node.clone()); [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: change this to: `doc.get_root()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> core_formats/tests/util_node_morph.rs:168:21 [INFO] [stdout] | [INFO] [stdout] 168 | merge_text_node(&left, &right)?; [INFO] [stdout] | ^^^^^ help: change this to: `left` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> core_formats/tests/util_node_morph.rs:168:28 [INFO] [stdout] | [INFO] [stdout] 168 | merge_text_node(&left, &right)?; [INFO] [stdout] | ^^^^^^ help: change this to: `right` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: deref on an immutable reference [INFO] [stdout] --> node_tree/tests/dom_doc_tree_morph.rs:147:34 [INFO] [stdout] | [INFO] [stdout] 147 | let doc1 = DocumentRoot::new(&*"child_insert_test-1"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ help: if you would like to reborrow, try removing `&*`: `"child_insert_test-1"` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#borrow_deref_ref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: accessing first element with `children.get(0)` [INFO] [stdout] --> core_formats/tests/util_node_morph.rs:182:15 [INFO] [stdout] | [INFO] [stdout] 182 | let par = children.get(0).unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: try: `children.first()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_first [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> node_tree/tests/dom_doc_tree_morph.rs:149:21 [INFO] [stdout] | [INFO] [stdout] 149 | insert_at_index(&doc1.get_root(), 1, doc_node.clone()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: change this to: `doc1.get_root()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: deref on an immutable reference [INFO] [stdout] --> node_tree/tests/dom_doc_tree_morph.rs:153:34 [INFO] [stdout] | [INFO] [stdout] 153 | let doc2 = DocumentRoot::new(&*"child_insert_test-2"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ help: if you would like to reborrow, try removing `&*`: `"child_insert_test-2"` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#borrow_deref_ref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: accessing first element with `children.get(0)` [INFO] [stdout] --> core_formats/tests/util_node_morph.rs:184:16 [INFO] [stdout] | [INFO] [stdout] 184 | let left = children.get(0).unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: try: `children.first()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_first [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> node_tree/tests/dom_doc_tree_morph.rs:155:21 [INFO] [stdout] | [INFO] [stdout] 155 | insert_at_index(&doc2.get_root(), 3, doc_node.clone()); //inserts before, so this should become "append" [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: change this to: `doc2.get_root()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> node_tree/tests/cursor.rs:49:16 [INFO] [stdout] | [INFO] [stdout] 49 | append(&root, par.clone()); [INFO] [stdout] | ^^^^^ help: change this to: `root` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> node_tree/tests/cursor.rs:61:16 [INFO] [stdout] | [INFO] [stdout] 61 | append(&root, par.clone()); [INFO] [stdout] | ^^^^^ help: change this to: `root` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> core_formats/tests/util_node_morph.rs:187:21 [INFO] [stdout] | [INFO] [stdout] 187 | split_text_node(&middle, 4)?; [INFO] [stdout] | ^^^^^^^ help: change this to: `middle` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> core_formats/tests/util_node_morph.rs:191:21 [INFO] [stdout] | [INFO] [stdout] 191 | split_text_node(&left, 4)?; [INFO] [stdout] | ^^^^^ help: change this to: `left` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: accessing first element with `children.get(0)` [INFO] [stdout] --> core_formats/tests/util_node_morph.rs:209:21 [INFO] [stdout] | [INFO] [stdout] 209 | let first_par = children.get(0).unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: try: `children.first()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_first [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting integer literal to `usize` is unnecessary [INFO] [stdout] --> node_tree/tests/cursor.rs:80:18 [INFO] [stdout] | [INFO] [stdout] 80 | for i in 0 as usize..doc.to_delta().document_length() { [INFO] [stdout] | ^^^^^^^^^^ help: try: `0_usize` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] = note: `#[warn(clippy::unnecessary_cast)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> node_tree/tests/cursor.rs:86:49 [INFO] [stdout] | [INFO] [stdout] 86 | let cursor_c = cursor_points_to(&cursor); [INFO] [stdout] | ^^^^^^^ help: change this to: `cursor` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: accessing first element with `children.get(0)` [INFO] [stdout] --> core_formats/tests/util_node_morph.rs:237:21 [INFO] [stdout] | [INFO] [stdout] 237 | let first_par = children.get(0).unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: try: `children.first()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_first [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: accessing first element with `children.get(0)` [INFO] [stdout] --> core_formats/tests/util_node_morph.rs:239:17 [INFO] [stdout] | [INFO] [stdout] 239 | let first = children.get(0).unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: try: `children.first()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_first [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting integer literal to `usize` is unnecessary [INFO] [stdout] --> node_tree/tests/cursor.rs:110:19 [INFO] [stdout] | [INFO] [stdout] 110 | for i in (1 as usize..doc.to_delta().document_length()).rev() { [INFO] [stdout] | ^^^^^^^^^^ help: try: `1_usize` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you should consider adding a `Default` implementation for `HeaderBlock` [INFO] [stdout] --> formats/header/src/mod.rs:54:5 [INFO] [stdout] | [INFO] [stdout] 54 | / pub fn new() -> Self { [INFO] [stdout] 55 | | initialise(); [INFO] [stdout] 56 | | block_format::initialise(); [INFO] [stdout] 57 | | HeaderBlock {} [INFO] [stdout] 58 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default [INFO] [stdout] = note: `#[warn(clippy::new_without_default)]` on by default [INFO] [stdout] help: try adding this [INFO] [stdout] | [INFO] [stdout] 53 + impl Default for HeaderBlock { [INFO] [stdout] 54 + fn default() -> Self { [INFO] [stdout] 55 + Self::new() [INFO] [stdout] 56 + } [INFO] [stdout] 57 + } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> formats/header/src/mod.rs:74:9 [INFO] [stdout] | [INFO] [stdout] 74 | return Ok(Arc::new(doc_node)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] = note: `#[warn(clippy::needless_return)]` on by default [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 74 - return Ok(Arc::new(doc_node)); [INFO] [stdout] 74 + Ok(Arc::new(doc_node)) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: accessing first element with `children.get(0)` [INFO] [stdout] --> core_formats/tests/util_node_morph.rs:271:21 [INFO] [stdout] | [INFO] [stdout] 271 | let first_par = children.get(0).unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: try: `children.first()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_first [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: accessing first element with `children.get(0)` [INFO] [stdout] --> core_formats/tests/util_node_morph.rs:273:16 [INFO] [stdout] | [INFO] [stdout] 273 | let left = children.get(0).unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: try: `children.first()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_first [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> core_formats/tests/util_node_morph.rs:280:19 [INFO] [stdout] | [INFO] [stdout] 280 | cursor.set_at(&middle, 4); [INFO] [stdout] | ^^^^^^^ help: change this to: `middle` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: usage of an `Arc` that is not `Send` and `Sync` [INFO] [stdout] --> formats/header/src/mod.rs:74:19 [INFO] [stdout] | [INFO] [stdout] 74 | return Ok(Arc::new(doc_node)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Arc` is not `Send` and `Sync` as `DocumentNode` is neither `Send` nor `Sync` [INFO] [stdout] = help: if the `Arc` will not be used across threads replace it with an `Rc` [INFO] [stdout] = help: otherwise make `DocumentNode` `Send` and `Sync` or consider a wrapper type such as `Mutex` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#arc_with_non_send_sync [INFO] [stdout] = note: `#[warn(clippy::arc_with_non_send_sync)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> core_formats/tests/util_node_morph.rs:286:19 [INFO] [stdout] | [INFO] [stdout] 286 | cursor.set_at(&left, 4); [INFO] [stdout] | ^^^^^ help: change this to: `left` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> core_formats/tests/util_node_morph.rs:292:22 [INFO] [stdout] | [INFO] [stdout] 292 | cursor.set_after(&right); [INFO] [stdout] | ^^^^^^ help: change this to: `right` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> formats/header/src/mod.rs:97:9 [INFO] [stdout] | [INFO] [stdout] 97 | return Ok(false); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 97 - return Ok(false); [INFO] [stdout] 97 + Ok(false) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> formats/header/src/mod.rs:92:9 [INFO] [stdout] | [INFO] [stdout] 92 | / if delta.insert_value().is_string() && delta.insert_value().str_val()? == "\n" { [INFO] [stdout] 93 | | if delta.get_attributes().contains_key(HEADER_ATTR_KEY) { [INFO] [stdout] 94 | | return Ok(true); [INFO] [stdout] 95 | | } [INFO] [stdout] 96 | | } [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] = note: `#[warn(clippy::collapsible_if)]` on by default [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 92 ~ if delta.insert_value().is_string() && delta.insert_value().str_val()? == "\n" [INFO] [stdout] 93 ~ && delta.get_attributes().contains_key(HEADER_ATTR_KEY) { [INFO] [stdout] 94 | return Ok(true); [INFO] [stdout] 95 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> formats/header/src/mod.rs:119:9 [INFO] [stdout] | [INFO] [stdout] 119 | return false; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 119 - return false; [INFO] [stdout] 119 + false [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> core_formats/tests/util_node_morph.rs:298:19 [INFO] [stdout] | [INFO] [stdout] 298 | cursor.set_at(&last_par, 0); [INFO] [stdout] | ^^^^^^^^^ help: change this to: `last_par` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: accessing first element with `children.get(0)` [INFO] [stdout] --> core_formats/tests/util_node_morph.rs:322:15 [INFO] [stdout] | [INFO] [stdout] 322 | let par = children.get(0).unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: try: `children.first()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_first [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: accessing first element with `children.get(0)` [INFO] [stdout] --> core_formats/tests/util_node_morph.rs:324:16 [INFO] [stdout] | [INFO] [stdout] 324 | let left = children.get(0).unwrap(); //TEXT_1_1 [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: try: `children.first()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_first [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> core_formats/tests/util_node_morph.rs:330:21 [INFO] [stdout] | [INFO] [stdout] 330 | split_text_node(&left, 4)?; [INFO] [stdout] | ^^^^^ help: change this to: `left` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> core_formats/tests/util_node_morph.rs:339:21 [INFO] [stdout] | [INFO] [stdout] 339 | split_text_node(&left, 2)?; [INFO] [stdout] | ^^^^^ help: change this to: `left` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> core_formats/tests/util_node_morph.rs:347:33 [INFO] [stdout] | [INFO] [stdout] 347 | let merge_me = next_sibling(&left).unwrap(); [INFO] [stdout] | ^^^^^ help: change this to: `left` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this assertion is always `false` [INFO] [stdout] --> core_formats/tests/util_node_morph.rs:374:13 [INFO] [stdout] | [INFO] [stdout] 374 | assert!(false); // should be at [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: replace this with `panic!()` or `unreachable!()` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assertions_on_constants [INFO] [stdout] = note: `#[warn(clippy::assertions_on_constants)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: accessing first element with `children.get(0)` [INFO] [stdout] --> core_formats/tests/util_node_morph.rs:390:15 [INFO] [stdout] | [INFO] [stdout] 390 | let par = children.get(0).unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: try: `children.first()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_first [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> core_formats/tests/util_node_morph.rs:395:21 [INFO] [stdout] | [INFO] [stdout] 395 | split_text_node(&middle, 4)?; [INFO] [stdout] | ^^^^^^^ help: change this to: `middle` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> core_formats/tests/util_node_morph.rs:400:21 [INFO] [stdout] | [INFO] [stdout] 400 | split_text_node(&middle, 2)?; [INFO] [stdout] | ^^^^^^^ help: change this to: `middle` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> core_formats/tests/util_node_morph.rs:404:33 [INFO] [stdout] | [INFO] [stdout] 404 | let merge_me = next_sibling(&middle).unwrap(); [INFO] [stdout] | ^^^^^^^ help: change this to: `middle` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> op_transform/tests/op_transform_test_utils.rs:22:12 [INFO] [stdout] | [INFO] [stdout] 22 | append(&root, par.clone()); [INFO] [stdout] | ^^^^^ help: change this to: `root` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] = note: `#[warn(clippy::needless_borrow)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> op_transform/tests/op_transform_test_utils.rs:38:12 [INFO] [stdout] | [INFO] [stdout] 38 | append(&root, par.clone()); [INFO] [stdout] | ^^^^^ help: change this to: `root` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> op_transform/tests/op_transform_test_utils.rs:52:12 [INFO] [stdout] | [INFO] [stdout] 52 | append(&root, par.clone()); [INFO] [stdout] | ^^^^^ help: change this to: `root` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> op_transform/tests/op_transform_test_utils.rs:22:12 [INFO] [stdout] | [INFO] [stdout] 22 | append(&root, par.clone()); [INFO] [stdout] | ^^^^^ help: change this to: `root` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] = note: `#[warn(clippy::needless_borrow)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> op_transform/tests/op_transform_test_utils.rs:38:12 [INFO] [stdout] | [INFO] [stdout] 38 | append(&root, par.clone()); [INFO] [stdout] | ^^^^^ help: change this to: `root` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> op_transform/tests/op_transform_test_utils.rs:52:12 [INFO] [stdout] | [INFO] [stdout] 52 | append(&root, par.clone()); [INFO] [stdout] | ^^^^^ help: change this to: `root` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> formats/image/tests/image.rs:52:30 [INFO] [stdout] | [INFO] [stdout] 52 | let img = last_leaf_node(&doc.get_root()).unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: change this to: `doc.get_root()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] = note: `#[warn(clippy::needless_borrow)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: accessing first element with `doc.get_root().get_children().get(0)` [INFO] [stdout] --> formats/image/tests/image.rs:65:13 [INFO] [stdout] | [INFO] [stdout] 65 | let p = doc.get_root().get_children().get(0).unwrap().clone(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `doc.get_root().get_children().first()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_first [INFO] [stdout] = note: `#[warn(clippy::get_first)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: accessing first element with `p.get_children().get(0)` [INFO] [stdout] --> formats/image/tests/image.rs:66:15 [INFO] [stdout] | [INFO] [stdout] 66 | let img = p.get_children().get(0).unwrap().clone(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ help: try: `p.get_children().first()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_first [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: accessing first element with `doc.get_root().get_children().get(0)` [INFO] [stdout] --> formats/image/tests/image.rs:84:13 [INFO] [stdout] | [INFO] [stdout] 84 | let p = doc.get_root().get_children().get(0).unwrap().clone(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `doc.get_root().get_children().first()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_first [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: accessing first element with `p.get_children().get(0)` [INFO] [stdout] --> formats/image/tests/image.rs:85:15 [INFO] [stdout] | [INFO] [stdout] 85 | let img = p.get_children().get(0).unwrap().clone(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ help: try: `p.get_children().first()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_first [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: accessing first element with `root.get_children().get(0)` [INFO] [stdout] --> formats/image/tests/image.rs:90:13 [INFO] [stdout] | [INFO] [stdout] 90 | let p = root.get_children().get(0).unwrap().clone(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `root.get_children().first()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_first [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: accessing first element with `p.get_children().get(0)` [INFO] [stdout] --> formats/image/tests/image.rs:91:15 [INFO] [stdout] | [INFO] [stdout] 91 | let img = p.get_children().get(0).unwrap().clone(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ help: try: `p.get_children().first()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_first [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: accessing first element with `doc.get_root().get_children().get(0)` [INFO] [stdout] --> formats/image/tests/image.rs:115:13 [INFO] [stdout] | [INFO] [stdout] 115 | let p = doc.get_root().get_children().get(0).unwrap().clone(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `doc.get_root().get_children().first()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_first [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: empty line after doc comment [INFO] [stdout] --> core_formats/tests/util_block.rs:21:1 [INFO] [stdout] | [INFO] [stdout] 21 | / /// The util_block module does not add `
`. So here we do not add it to the tests [INFO] [stdout] 22 | | [INFO] [stdout] | |_^ [INFO] [stdout] 23 | struct HeadingSkeleton {} [INFO] [stdout] | ---------------------- the comment documents this struct [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#empty_line_after_doc_comments [INFO] [stdout] = note: `#[warn(clippy::empty_line_after_doc_comments)]` on by default [INFO] [stdout] = help: if the empty line is unintentional, remove it [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: accessing first element with `p.get_children().get(0)` [INFO] [stdout] --> formats/image/tests/image.rs:116:15 [INFO] [stdout] | [INFO] [stdout] 116 | let img = p.get_children().get(0).unwrap().clone(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ help: try: `p.get_children().first()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_first [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: statics have by default a `'static` lifetime [INFO] [stdout] --> formats/link/tests/link.rs:36:20 [INFO] [stdout] | [INFO] [stdout] 36 | static LINK_ATTR: &'static str = "link"; //marker attribute to recognize this format [INFO] [stdout] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_static_lifetimes [INFO] [stdout] = note: `#[warn(clippy::redundant_static_lifetimes)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: usage of an `Arc` that is not `Send` and `Sync` [INFO] [stdout] --> formats/soft_break/src/mod.rs:67:18 [INFO] [stdout] | [INFO] [stdout] 67 | let dn = Arc::new(DocumentNode::new_element(br, formatter.clone())); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Arc` is not `Send` and `Sync` as `DocumentNode` is neither `Send` nor `Sync` [INFO] [stdout] = help: if the `Arc` will not be used across threads replace it with an `Rc` [INFO] [stdout] = help: otherwise make `DocumentNode` `Send` and `Sync` or consider a wrapper type such as `Mutex` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#arc_with_non_send_sync [INFO] [stdout] = note: `#[warn(clippy::arc_with_non_send_sync)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> op_transform/tests/op_transform_test_utils.rs:22:12 [INFO] [stdout] | [INFO] [stdout] 22 | append(&root, par.clone()); [INFO] [stdout] | ^^^^^ help: change this to: `root` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] = note: `#[warn(clippy::needless_borrow)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> op_transform/tests/op_transform_test_utils.rs:38:12 [INFO] [stdout] | [INFO] [stdout] 38 | append(&root, par.clone()); [INFO] [stdout] | ^^^^^ help: change this to: `root` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> op_transform/tests/op_transform_test_utils.rs:52:12 [INFO] [stdout] | [INFO] [stdout] 52 | append(&root, par.clone()); [INFO] [stdout] | ^^^^^ help: change this to: `root` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: accessing first element with `p.get_children().get(0)` [INFO] [stdout] --> op_transform/tests/op_delete.rs:30:24 [INFO] [stdout] | [INFO] [stdout] 30 | cursor.set_before(&p.get_children().get(0).unwrap().clone()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ help: try: `p.get_children().first()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_first [INFO] [stdout] = note: `#[warn(clippy::get_first)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> core_formats/tests/util_block.rs:39:9 [INFO] [stdout] | [INFO] [stdout] 39 | return Ok(dn); [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] = note: `#[warn(clippy::needless_return)]` on by default [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 39 - return Ok(dn); [INFO] [stdout] 39 + Ok(dn) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> op_transform/tests/op_delete.rs:41:23 [INFO] [stdout] | [INFO] [stdout] 41 | op_delete::delete(&cursor, 4)?; [INFO] [stdout] | ^^^^^^^ help: change this to: `cursor` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> op_transform/tests/op_delete.rs:53:23 [INFO] [stdout] | [INFO] [stdout] 53 | op_delete::delete(&cursor, 4)?; [INFO] [stdout] | ^^^^^^^ help: change this to: `cursor` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: usage of an `Arc` that is not `Send` and `Sync` [INFO] [stdout] --> core_formats/tests/util_block.rs:37:18 [INFO] [stdout] | [INFO] [stdout] 37 | let dn = Arc::new(DocumentNode::new_element(element, formatter.clone())); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Arc` is not `Send` and `Sync` as `DocumentNode` is neither `Send` nor `Sync` [INFO] [stdout] = help: if the `Arc` will not be used across threads replace it with an `Rc` [INFO] [stdout] = help: otherwise make `DocumentNode` `Send` and `Sync` or consider a wrapper type such as `Mutex` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#arc_with_non_send_sync [INFO] [stdout] = note: `#[warn(clippy::arc_with_non_send_sync)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> op_transform/tests/op_delete.rs:81:36 [INFO] [stdout] | [INFO] [stdout] 81 | let result = op_delete::delete(&cursor, 1); [INFO] [stdout] | ^^^^^^^ help: change this to: `cursor` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> op_transform/tests/op_delete.rs:115:23 [INFO] [stdout] | [INFO] [stdout] 115 | op_delete::delete(&cursor, 4)?; [INFO] [stdout] | ^^^^^^^ help: change this to: `cursor` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> core_formats/tests/util_block.rs:138:12 [INFO] [stdout] | [INFO] [stdout] 138 | append(&root, par.clone()); [INFO] [stdout] | ^^^^^ help: change this to: `root` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] = note: `#[warn(clippy::needless_borrow)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> core_formats/tests/util_block.rs:146:12 [INFO] [stdout] | [INFO] [stdout] 146 | append(&root, par2.clone()); [INFO] [stdout] | ^^^^^ help: change this to: `root` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> op_transform/tests/op_delete.rs:127:23 [INFO] [stdout] | [INFO] [stdout] 127 | op_delete::delete(&cursor, 4)?; [INFO] [stdout] | ^^^^^^^ help: change this to: `cursor` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: accessing first element with `children.get(0)` [INFO] [stdout] --> core_formats/tests/util_block.rs:166:18 [INFO] [stdout] | [INFO] [stdout] 166 | let header = children.get(0).unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: try: `children.first()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_first [INFO] [stdout] = note: `#[warn(clippy::get_first)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> core_formats/tests/util_block.rs:171:19 [INFO] [stdout] | [INFO] [stdout] 171 | cursor.set_at(&children.get(0).unwrap(), 7); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `children.get(0).unwrap()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: accessing first element with `children.get(0)` [INFO] [stdout] --> core_formats/tests/util_block.rs:171:20 [INFO] [stdout] | [INFO] [stdout] 171 | cursor.set_at(&children.get(0).unwrap(), 7); [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: try: `children.first()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_first [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> op_transform/tests/op_delete.rs:157:23 [INFO] [stdout] | [INFO] [stdout] 157 | op_delete::delete(&cursor, 1)?; [INFO] [stdout] | ^^^^^^^ help: change this to: `cursor` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> core_formats/tests/util_block.rs:207:12 [INFO] [stdout] | [INFO] [stdout] 207 | append(&root, par.clone()); [INFO] [stdout] | ^^^^^ help: change this to: `root` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> core_formats/tests/util_block.rs:215:12 [INFO] [stdout] | [INFO] [stdout] 215 | append(&root, par2.clone()); [INFO] [stdout] | ^^^^^ help: change this to: `root` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> core_formats/tests/util_block.rs:224:32 [INFO] [stdout] | [INFO] [stdout] 224 | let left_text = first_node(&root); [INFO] [stdout] | ^^^^^ help: change this to: `root` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc list item without indentation [INFO] [stdout] --> node_tree/src/cursor.rs:105:9 [INFO] [stdout] | [INFO] [stdout] 105 | /// Same goes for at the start of the document. [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: if this is supposed to be its own paragraph, add a blank line [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation [INFO] [stdout] = note: `#[warn(clippy::doc_lazy_continuation)]` on by default [INFO] [stdout] help: indent this line [INFO] [stdout] | [INFO] [stdout] 105 | /// Same goes for at the start of the document. [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: deref on an immutable reference [INFO] [stdout] --> formats/link/tests/link.rs:67:37 [INFO] [stdout] | [INFO] [stdout] 67 | let mut doc = DocumentRoot::new(&*"link_create_test"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: if you would like to reborrow, try removing `&*`: `"link_create_test"` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#borrow_deref_ref [INFO] [stdout] = note: `#[warn(clippy::borrow_deref_ref)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: length comparison to zero [INFO] [stdout] --> node_tree/src/doc_node.rs:236:24 [INFO] [stdout] | [INFO] [stdout] 236 | let is_empty = self.children.borrow().len() == 0; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `self.children.borrow().is_empty()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stdout] = note: `#[warn(clippy::len_zero)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: deref on an immutable reference [INFO] [stdout] --> formats/link/tests/link.rs:100:37 [INFO] [stdout] | [INFO] [stdout] 100 | let mut doc = DocumentRoot::new(&*"link_insert_front_end_test"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: if you would like to reborrow, try removing `&*`: `"link_insert_front_end_test"` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#borrow_deref_ref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> node_tree/src/doc_node.rs:257:39 [INFO] [stdout] | [INFO] [stdout] 257 | let s = print_doc_node_intern(&self, TAB); [INFO] [stdout] | ^^^^^ help: change this to: `self` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] = note: `#[warn(clippy::needless_borrow)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> node_tree/src/doc_node.rs:274:5 [INFO] [stdout] | [INFO] [stdout] 274 | return s; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] = note: `#[warn(clippy::needless_return)]` on by default [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 274 - return s; [INFO] [stdout] 274 + s [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: deref on an immutable reference [INFO] [stdout] --> formats/link/tests/link.rs:144:37 [INFO] [stdout] | [INFO] [stdout] 144 | let mut doc = DocumentRoot::new(&*"link_formatted_test"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ help: if you would like to reborrow, try removing `&*`: `"link_formatted_test"` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#borrow_deref_ref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> node_tree/src/doc_node.rs:270:22 [INFO] [stdout] | [INFO] [stdout] 270 | let t: String = [&tab, TAB].concat(); [INFO] [stdout] | ^^^^ help: change this to: `tab` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> node_tree/src/dom_cursor.rs:140:9 [INFO] [stdout] | [INFO] [stdout] 140 | / return match start_container.node_type() { [INFO] [stdout] 141 | | Node::TEXT_NODE => { [INFO] [stdout] 142 | | let doc_node_o = find_doc_node_from_text_node(&start_container, &self.root_node); [INFO] [stdout] 143 | | if let Some(doc_node) = doc_node_o { [INFO] [stdout] ... | [INFO] [stdout] 208 | | }; [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 140 ~ match start_container.node_type() { [INFO] [stdout] 141 + Node::TEXT_NODE => { [INFO] [stdout] 142 + let doc_node_o = find_doc_node_from_text_node(&start_container, &self.root_node); [INFO] [stdout] 143 + if let Some(doc_node) = doc_node_o { [INFO] [stdout] 144 + let node_len = doc_node.get_operation().op_len(); [INFO] [stdout] 145 + if start_offset == 0 { [INFO] [stdout] 146 + CursorLocation::Before(doc_node) [INFO] [stdout] 147 + } else if start_offset == node_len { [INFO] [stdout] 148 + CursorLocation::After(doc_node) [INFO] [stdout] 149 + } else if start_offset < node_len { [INFO] [stdout] 150 + CursorLocation::At(doc_node, start_offset) [INFO] [stdout] 151 + } else { [INFO] [stdout] 152 + CursorLocation::None [INFO] [stdout] 153 + } [INFO] [stdout] 154 + } else { [INFO] [stdout] 155 + let text = DomText::from(start_container); [INFO] [stdout] 156 + let parent = text.get_parent().unwrap(); [INFO] [stdout] 157 + let doc_node_o = find_doc_node_from_text_node(parent.as_ref(), &self.root_node); [INFO] [stdout] 158 + if let Some(doc_node) = doc_node_o { [INFO] [stdout] 159 + let node_len = doc_node.get_operation().op_len(); [INFO] [stdout] 160 + if start_offset == 0 { [INFO] [stdout] 161 + CursorLocation::Before(doc_node) [INFO] [stdout] 162 + } else if start_offset == node_len { [INFO] [stdout] 163 + CursorLocation::After(doc_node) [INFO] [stdout] 164 + } else if start_offset < node_len { [INFO] [stdout] 165 + CursorLocation::At(doc_node, start_offset) [INFO] [stdout] 166 + } else { [INFO] [stdout] 167 + debug!( [INFO] [stdout] 168 + "Doc Node operation: {:?}\n Doc Node text: {:?}", [INFO] [stdout] 169 + doc_node.get_operation(), [INFO] [stdout] 170 + text.get_text() [INFO] [stdout] 171 + ); [INFO] [stdout] 172 + panic!( "PANIC: DomCursor::get_selection(): Hey it seems the browser does not match the document operation node."); [INFO] [stdout] 173 + } [INFO] [stdout] 174 + } else { [INFO] [stdout] 175 + panic!("DomCursor::get_selection(): Node is a text node, but we have not found one ... programming error? ") [INFO] [stdout] 176 + } [INFO] [stdout] 177 + } [INFO] [stdout] 178 + } [INFO] [stdout] 179 + Node::ELEMENT_NODE => { [INFO] [stdout] 180 + if start_offset == 0 { [INFO] [stdout] 181 + let node = if start_container.node_name() == "BR" { [INFO] [stdout] 182 + start_container.parent_node().unwrap() [INFO] [stdout] 183 + } else { [INFO] [stdout] 184 + start_container [INFO] [stdout] 185 + }; [INFO] [stdout] 186 + let doc_node = find_doc_node_from_element_node(&node, &self.root_node).unwrap(); [INFO] [stdout] 187 + CursorLocation::At(doc_node, 0) [INFO] [stdout] 188 + } else if let Some(prev_sibling) = [INFO] [stdout] 189 + start_container.child_nodes().get(start_offset as u32 - 1) [INFO] [stdout] 190 + { [INFO] [stdout] 191 + if prev_sibling.node_type() == Node::TEXT_NODE { [INFO] [stdout] 192 + let doc_node = [INFO] [stdout] 193 + find_doc_node_from_text_node(&start_container, &self.root_node); [INFO] [stdout] 194 + CursorLocation::After(doc_node.unwrap_throw()) [INFO] [stdout] 195 + } else { [INFO] [stdout] 196 + panic!( [INFO] [stdout] 197 + "PANIC: DomCursor::get_selection(): Prev node is an ELEMENT.{} ", [INFO] [stdout] 198 + start_container.node_name() [INFO] [stdout] 199 + ); [INFO] [stdout] 200 + } [INFO] [stdout] 201 + } else { [INFO] [stdout] 202 + panic!("PANIC: DomCursor::get_selection(): Strange ... why am I here?."); [INFO] [stdout] 203 + } [INFO] [stdout] 204 + } [INFO] [stdout] 205 + _ => { [INFO] [stdout] 206 + panic!( "PANIC: DomCursor::get_selection(): Not text, and not an element!! (header anyone??)."); [INFO] [stdout] 207 + } [INFO] [stdout] 208 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: deref on an immutable reference [INFO] [stdout] --> formats/link/tests/link.rs:187:37 [INFO] [stdout] | [INFO] [stdout] 187 | let mut doc = DocumentRoot::new(&*"link_formatted_test_V2"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: if you would like to reborrow, try removing `&*`: `"link_formatted_test_V2"` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#borrow_deref_ref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: deref on an immutable reference [INFO] [stdout] --> formats/link/tests/link.rs:200:37 [INFO] [stdout] | [INFO] [stdout] 200 | let mut doc = DocumentRoot::new(&*"link_formatted_test"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ help: if you would like to reborrow, try removing `&*`: `"link_formatted_test"` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#borrow_deref_ref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: accessing first element with `root.get_children().get(0)` [INFO] [stdout] --> formats/link/tests/link.rs:214:13 [INFO] [stdout] | [INFO] [stdout] 214 | let p = root.get_children().get(0).unwrap().clone(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `root.get_children().first()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_first [INFO] [stdout] = note: `#[warn(clippy::get_first)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: accessing first element with `p.get_children().get(0)` [INFO] [stdout] --> formats/link/tests/link.rs:217:13 [INFO] [stdout] | [INFO] [stdout] 217 | let a = p.get_children().get(0).unwrap().clone(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ help: try: `p.get_children().first()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_first [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: accessing first element with `a.get_children().get(0)` [INFO] [stdout] --> formats/link/tests/link.rs:222:24 [INFO] [stdout] | [INFO] [stdout] 222 | cursor.set_before(&a.get_children().get(0).unwrap().clone()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ help: try: `a.get_children().first()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_first [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: accessing first element with `root.get_children().get(0)` [INFO] [stdout] --> formats/link/tests/link.rs:226:13 [INFO] [stdout] | [INFO] [stdout] 226 | let p = root.get_children().get(0).unwrap().clone(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `root.get_children().first()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_first [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: accessing first element with `p.get_children().get(0)` [INFO] [stdout] --> formats/link/tests/link.rs:229:13 [INFO] [stdout] | [INFO] [stdout] 229 | let a = p.get_children().get(0).unwrap().clone(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ help: try: `p.get_children().first()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_first [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: deref on an immutable reference [INFO] [stdout] --> formats/link/tests/link.rs:243:37 [INFO] [stdout] | [INFO] [stdout] 243 | let mut doc = DocumentRoot::new(&*"link_delete_test"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: if you would like to reborrow, try removing `&*`: `"link_delete_test"` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#borrow_deref_ref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: accessing first element with `doc.get_root().get_children().get(0)` [INFO] [stdout] --> formats/link/tests/link.rs:259:13 [INFO] [stdout] | [INFO] [stdout] 259 | let p = doc.get_root().get_children().get(0).unwrap().clone(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `doc.get_root().get_children().first()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_first [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: accessing first element with `p.get_children().get(0)` [INFO] [stdout] --> formats/link/tests/link.rs:260:13 [INFO] [stdout] | [INFO] [stdout] 260 | let a = p.get_children().get(0).unwrap().clone(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ help: try: `p.get_children().first()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_first [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: accessing first element with `doc.get_root().get_children().get(0)` [INFO] [stdout] --> formats/link/tests/link.rs:272:13 [INFO] [stdout] | [INFO] [stdout] 272 | let p = doc.get_root().get_children().get(0).unwrap().clone(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `doc.get_root().get_children().first()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_first [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: accessing first element with `p.get_children().get(0)` [INFO] [stdout] --> formats/link/tests/link.rs:273:13 [INFO] [stdout] | [INFO] [stdout] 273 | let a = p.get_children().get(0).unwrap().clone(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ help: try: `p.get_children().first()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_first [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: accessing first element with `doc.get_root().get_children().get(0)` [INFO] [stdout] --> formats/link/tests/link.rs:283:13 [INFO] [stdout] | [INFO] [stdout] 283 | let p = doc.get_root().get_children().get(0).unwrap().clone(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `doc.get_root().get_children().first()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_first [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: accessing first element with `p.get_children().get(0)` [INFO] [stdout] --> formats/link/tests/link.rs:284:13 [INFO] [stdout] | [INFO] [stdout] 284 | let a = p.get_children().get(0).unwrap().clone(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ help: try: `p.get_children().first()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_first [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting integer literal to `usize` is unnecessary [INFO] [stdout] --> formats/link/tests/link.rs:444:14 [INFO] [stdout] | [INFO] [stdout] 444 | for i in 0 as usize..doc.to_delta().document_length() { [INFO] [stdout] | ^^^^^^^^^^ help: try: `0_usize` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] = note: `#[warn(clippy::unnecessary_cast)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> formats/link/tests/link.rs:447:27 [INFO] [stdout] | [INFO] [stdout] 447 | format.split_leaf(&doc.get_cursor())?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: change this to: `doc.get_cursor()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] = note: `#[warn(clippy::needless_borrow)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 35.94s [INFO] running `Command { std: "docker" "inspect" "c3a974b3ff288882fbbe43ea97ad690d6a832a2e54c31aee32964f3c41371ad7", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "c3a974b3ff288882fbbe43ea97ad690d6a832a2e54c31aee32964f3c41371ad7", kill_on_drop: false }` [INFO] [stdout] c3a974b3ff288882fbbe43ea97ad690d6a832a2e54c31aee32964f3c41371ad7