[INFO] fetching crate rowan 0.15.3... [INFO] testing rowan-0.15.3 against 1.59.0 for beta-1.60-1 [INFO] extracting crate rowan 0.15.3 into /workspace/builds/worker-5/source [INFO] validating manifest of crates.io crate rowan 0.15.3 on toolchain 1.59.0 [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+1.59.0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking crates.io crate rowan 0.15.3 [INFO] finished tweaking crates.io crate rowan 0.15.3 [INFO] tweaked toml for crates.io crate rowan 0.15.3 written to /workspace/builds/worker-5/source/Cargo.toml [INFO] crate crates.io crate rowan 0.15.3 already has a lockfile, it will not be regenerated [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+1.59.0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5/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:0cd99ca24d8e8c98e67c542213511d985b8778b5bdcbb160e038429496686047" "/opt/rustwide/cargo-home/bin/cargo" "+1.59.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] cad12cb53056a2c6b7ca0218f296a5c6364e55f0c7294841cc2fcb6ad083f73c [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] running `Command { std: "docker" "start" "-a" "cad12cb53056a2c6b7ca0218f296a5c6364e55f0c7294841cc2fcb6ad083f73c", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "cad12cb53056a2c6b7ca0218f296a5c6364e55f0c7294841cc2fcb6ad083f73c", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "cad12cb53056a2c6b7ca0218f296a5c6364e55f0c7294841cc2fcb6ad083f73c", kill_on_drop: false }` [INFO] [stdout] cad12cb53056a2c6b7ca0218f296a5c6364e55f0c7294841cc2fcb6ad083f73c [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5/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=warn" "-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:0cd99ca24d8e8c98e67c542213511d985b8778b5bdcbb160e038429496686047" "/opt/rustwide/cargo-home/bin/cargo" "+1.59.0" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 2744d20ad52bebea1b033c0d540a57d2f367511d5fe4120db9db554162934ff4 [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] running `Command { std: "docker" "start" "-a" "2744d20ad52bebea1b033c0d540a57d2f367511d5fe4120db9db554162934ff4", kill_on_drop: false }` [INFO] [stderr] Compiling text-size v1.1.0 [INFO] [stderr] Compiling hashbrown v0.12.0 [INFO] [stderr] Compiling countme v3.0.0 [INFO] [stderr] Compiling rowan v0.15.3 (/opt/rustwide/workdir) [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 4.33s [INFO] running `Command { std: "docker" "inspect" "2744d20ad52bebea1b033c0d540a57d2f367511d5fe4120db9db554162934ff4", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "2744d20ad52bebea1b033c0d540a57d2f367511d5fe4120db9db554162934ff4", kill_on_drop: false }` [INFO] [stdout] 2744d20ad52bebea1b033c0d540a57d2f367511d5fe4120db9db554162934ff4 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5/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=warn" "-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:0cd99ca24d8e8c98e67c542213511d985b8778b5bdcbb160e038429496686047" "/opt/rustwide/cargo-home/bin/cargo" "+1.59.0" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] [stdout] bb510c2b98b152219688d2e925d8992c2ca927a98a15953e653f870d8c503173 [INFO] running `Command { std: "docker" "start" "-a" "bb510c2b98b152219688d2e925d8992c2ca927a98a15953e653f870d8c503173", kill_on_drop: false }` [INFO] [stderr] Compiling m_lexer v0.0.4 [INFO] [stderr] Compiling rowan v0.15.3 (/opt/rustwide/workdir) [INFO] [stderr] Finished test [unoptimized + debuginfo] target(s) in 5.67s [INFO] running `Command { std: "docker" "inspect" "bb510c2b98b152219688d2e925d8992c2ca927a98a15953e653f870d8c503173", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "bb510c2b98b152219688d2e925d8992c2ca927a98a15953e653f870d8c503173", kill_on_drop: false }` [INFO] [stdout] bb510c2b98b152219688d2e925d8992c2ca927a98a15953e653f870d8c503173 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5/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=warn" "-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:0cd99ca24d8e8c98e67c542213511d985b8778b5bdcbb160e038429496686047" "/opt/rustwide/cargo-home/bin/cargo" "+1.59.0" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] f02a63acba3f659ee13067d131ffbe24e22a5d47c4a94bb87fa8d1882b17a0a8 [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] running `Command { std: "docker" "start" "-a" "f02a63acba3f659ee13067d131ffbe24e22a5d47c4a94bb87fa8d1882b17a0a8", kill_on_drop: false }` [INFO] [stderr] Finished test [unoptimized + debuginfo] target(s) in 0.02s [INFO] [stdout] [INFO] [stderr] Running unittests (/opt/rustwide/target/debug/deps/rowan-2ee513ab987447bd) [INFO] [stdout] running 3 tests [INFO] [stderr] Running tests/tidy.rs (/opt/rustwide/target/debug/deps/tidy-887bfb4598185a63) [INFO] [stdout] test green::tests::test_size_of ... ok [INFO] [stdout] test syntax_text::tests::test_text_equality ... ok [INFO] [stdout] test green::tests::assert_send_sync ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 1 test [INFO] [stderr] error: test failed, to rerun pass '--test tidy' [INFO] [stdout] test check_code_formatting ... FAILED [INFO] [stdout] [INFO] [stdout] failures: [INFO] [stdout] [INFO] [stdout] ---- check_code_formatting stdout ---- [INFO] [stdout] > rustfmt +stable --version [INFO] [stdout] > cargo +stable fmt -- --check [INFO] [stdout] Diff in /opt/rustwide/workdir/examples/math.rs at line 65: [INFO] [stdout] } [INFO] [stdout] impl> Parser { [INFO] [stdout] fn peek(&mut self) -> Option { [INFO] [stdout] - while self.iter.peek().map(|&(t, _)| t == WHITESPACE).unwrap_or(false) { [INFO] [stdout] + while self [INFO] [stdout] + .iter [INFO] [stdout] + .peek() [INFO] [stdout] + .map(|&(t, _)| t == WHITESPACE) [INFO] [stdout] + .unwrap_or(false) [INFO] [stdout] + { [INFO] [stdout] self.bump(); [INFO] [stdout] } [INFO] [stdout] self.iter.peek().map(|&(t, _)| t) [INFO] [stdout] Diff in /opt/rustwide/workdir/examples/s_expressions.rs at line 121: [INFO] [stdout] self.builder.finish_node(); [INFO] [stdout] [INFO] [stdout] // Turn the builder into a GreenNode [INFO] [stdout] - Parse { green_node: self.builder.finish(), errors: self.errors } [INFO] [stdout] + Parse { [INFO] [stdout] + green_node: self.builder.finish(), [INFO] [stdout] + errors: self.errors, [INFO] [stdout] + } [INFO] [stdout] } [INFO] [stdout] fn list(&mut self) { [INFO] [stdout] assert_eq!(self.current(), Some(L_PAREN)); [INFO] [stdout] Diff in /opt/rustwide/workdir/examples/s_expressions.rs at line 184: [INFO] [stdout] [INFO] [stdout] let mut tokens = lex(text); [INFO] [stdout] tokens.reverse(); [INFO] [stdout] - Parser { tokens, builder: GreenNodeBuilder::new(), errors: Vec::new() }.parse() [INFO] [stdout] + Parser { [INFO] [stdout] + tokens, [INFO] [stdout] + builder: GreenNodeBuilder::new(), [INFO] [stdout] + errors: Vec::new(), [INFO] [stdout] + } [INFO] [stdout] + .parse() [INFO] [stdout] } [INFO] [stdout] [INFO] [stdout] /// To work with the parse results we need a view into the [INFO] [stdout] Diff in /opt/rustwide/workdir/src/api.rs at line 134: [INFO] [stdout] } [INFO] [stdout] [INFO] [stdout] pub fn children(&self) -> SyntaxNodeChildren { [INFO] [stdout] - SyntaxNodeChildren { raw: self.raw.children(), _p: PhantomData } [INFO] [stdout] + SyntaxNodeChildren { [INFO] [stdout] + raw: self.raw.children(), [INFO] [stdout] + _p: PhantomData, [INFO] [stdout] + } [INFO] [stdout] } [INFO] [stdout] [INFO] [stdout] pub fn children_with_tokens(&self) -> SyntaxElementChildren { [INFO] [stdout] Diff in /opt/rustwide/workdir/src/api.rs at line 141: [INFO] [stdout] - SyntaxElementChildren { raw: self.raw.children_with_tokens(), _p: PhantomData } [INFO] [stdout] + SyntaxElementChildren { [INFO] [stdout] + raw: self.raw.children_with_tokens(), [INFO] [stdout] + _p: PhantomData, [INFO] [stdout] + } [INFO] [stdout] } [INFO] [stdout] [INFO] [stdout] pub fn first_child(&self) -> Option> { [INFO] [stdout] Diff in /opt/rustwide/workdir/src/api.rs at line 186: [INFO] [stdout] &self, [INFO] [stdout] direction: Direction, [INFO] [stdout] ) -> impl Iterator> { [INFO] [stdout] - self.raw.siblings_with_tokens(direction).map(SyntaxElement::from) [INFO] [stdout] + self.raw [INFO] [stdout] + .siblings_with_tokens(direction) [INFO] [stdout] + .map(SyntaxElement::from) [INFO] [stdout] } [INFO] [stdout] [INFO] [stdout] pub fn descendants(&self) -> impl Iterator> { [INFO] [stdout] Diff in /opt/rustwide/workdir/src/api.rs at line 200: [INFO] [stdout] /// Traverse the subtree rooted at the current node (including the current [INFO] [stdout] /// node) in preorder, excluding tokens. [INFO] [stdout] pub fn preorder(&self) -> Preorder { [INFO] [stdout] - Preorder { raw: self.raw.preorder(), _p: PhantomData } [INFO] [stdout] + Preorder { [INFO] [stdout] + raw: self.raw.preorder(), [INFO] [stdout] + _p: PhantomData, [INFO] [stdout] + } [INFO] [stdout] } [INFO] [stdout] [INFO] [stdout] /// Traverse the subtree rooted at the current node (including the current [INFO] [stdout] Diff in /opt/rustwide/workdir/src/api.rs at line 207: [INFO] [stdout] /// node) in preorder, including tokens. [INFO] [stdout] pub fn preorder_with_tokens(&self) -> PreorderWithTokens { [INFO] [stdout] - PreorderWithTokens { raw: self.raw.preorder_with_tokens(), _p: PhantomData } [INFO] [stdout] + PreorderWithTokens { [INFO] [stdout] + raw: self.raw.preorder_with_tokens(), [INFO] [stdout] + _p: PhantomData, [INFO] [stdout] + } [INFO] [stdout] } [INFO] [stdout] [INFO] [stdout] /// Find a token in the subtree corresponding to this node, which covers the offset. [INFO] [stdout] Diff in /opt/rustwide/workdir/src/api.rs at line 229: [INFO] [stdout] /// The method uses binary search internally, so it's complexity is [INFO] [stdout] /// `O(log(N))` where `N = self.children_with_tokens().count()`. [INFO] [stdout] pub fn child_or_token_at_range(&self, range: TextRange) -> Option> { [INFO] [stdout] - self.raw.child_or_token_at_range(range).map(SyntaxElement::from) [INFO] [stdout] + self.raw [INFO] [stdout] + .child_or_token_at_range(range) [INFO] [stdout] + .map(SyntaxElement::from) [INFO] [stdout] } [INFO] [stdout] [INFO] [stdout] /// Returns an independent copy of the subtree rooted at this node. [INFO] [stdout] Diff in /opt/rustwide/workdir/src/api.rs at line 249: [INFO] [stdout] } [INFO] [stdout] [INFO] [stdout] pub fn splice_children(&self, to_delete: Range, to_insert: Vec>) { [INFO] [stdout] - let to_insert = to_insert.into_iter().map(cursor::SyntaxElement::from).collect::>(); [INFO] [stdout] + let to_insert = to_insert [INFO] [stdout] + .into_iter() [INFO] [stdout] + .map(cursor::SyntaxElement::from) [INFO] [stdout] + .collect::>(); [INFO] [stdout] self.raw.splice_children(to_delete, to_insert) [INFO] [stdout] } [INFO] [stdout] } [INFO] [stdout] Diff in /opt/rustwide/workdir/src/api.rs at line 301: [INFO] [stdout] &self, [INFO] [stdout] direction: Direction, [INFO] [stdout] ) -> impl Iterator> { [INFO] [stdout] - self.raw.siblings_with_tokens(direction).map(SyntaxElement::from) [INFO] [stdout] + self.raw [INFO] [stdout] + .siblings_with_tokens(direction) [INFO] [stdout] + .map(SyntaxElement::from) [INFO] [stdout] } [INFO] [stdout] [INFO] [stdout] /// Next token in the tree (i.e, not necessary a sibling). [INFO] [stdout] Diff in /opt/rustwide/workdir/src/api.rs at line 439: [INFO] [stdout] [INFO] [stdout] impl From for SyntaxNode { [INFO] [stdout] fn from(raw: cursor::SyntaxNode) -> SyntaxNode { [INFO] [stdout] - SyntaxNode { raw, _p: PhantomData } [INFO] [stdout] + SyntaxNode { [INFO] [stdout] + raw, [INFO] [stdout] + _p: PhantomData, [INFO] [stdout] + } [INFO] [stdout] } [INFO] [stdout] } [INFO] [stdout] [INFO] [stdout] Diff in /opt/rustwide/workdir/src/api.rs at line 451: [INFO] [stdout] [INFO] [stdout] impl From for SyntaxToken { [INFO] [stdout] fn from(raw: cursor::SyntaxToken) -> SyntaxToken { [INFO] [stdout] - SyntaxToken { raw, _p: PhantomData } [INFO] [stdout] + SyntaxToken { [INFO] [stdout] + raw, [INFO] [stdout] + _p: PhantomData, [INFO] [stdout] + } [INFO] [stdout] } [INFO] [stdout] } [INFO] [stdout] [INFO] [stdout] Diff in /opt/rustwide/workdir/src/arc.rs at line 58: [INFO] [stdout] // To find the corresponding pointer to the `ArcInner` we need [INFO] [stdout] // to subtract the offset of the `data` field from the pointer. [INFO] [stdout] let ptr = (ptr as *const u8).sub(offset_of!(ArcInner, data)); [INFO] [stdout] - Arc { p: ptr::NonNull::new_unchecked(ptr as *mut ArcInner), phantom: PhantomData } [INFO] [stdout] + Arc { [INFO] [stdout] + p: ptr::NonNull::new_unchecked(ptr as *mut ArcInner), [INFO] [stdout] + phantom: PhantomData, [INFO] [stdout] + } [INFO] [stdout] } [INFO] [stdout] } [INFO] [stdout] [INFO] [stdout] Diff in /opt/rustwide/workdir/src/arc.rs at line 120: [INFO] [stdout] std::process::abort(); [INFO] [stdout] } [INFO] [stdout] [INFO] [stdout] - unsafe { Arc { p: ptr::NonNull::new_unchecked(self.ptr()), phantom: PhantomData } } [INFO] [stdout] + unsafe { [INFO] [stdout] + Arc { [INFO] [stdout] + p: ptr::NonNull::new_unchecked(self.ptr()), [INFO] [stdout] + phantom: PhantomData, [INFO] [stdout] + } [INFO] [stdout] + } [INFO] [stdout] } [INFO] [stdout] } [INFO] [stdout] [INFO] [stdout] Diff in /opt/rustwide/workdir/src/arc.rs at line 339: [INFO] [stdout] let slice_offset = inner_to_data_offset + data_to_slice_offset; [INFO] [stdout] [INFO] [stdout] // Compute the size of the real payload. [INFO] [stdout] - let slice_size = mem::size_of::().checked_mul(num_items).expect("size overflows"); [INFO] [stdout] - let usable_size = slice_offset.checked_add(slice_size).expect("size overflows"); [INFO] [stdout] + let slice_size = mem::size_of::() [INFO] [stdout] + .checked_mul(num_items) [INFO] [stdout] + .expect("size overflows"); [INFO] [stdout] + let usable_size = slice_offset [INFO] [stdout] + .checked_add(slice_size) [INFO] [stdout] + .expect("size overflows"); [INFO] [stdout] [INFO] [stdout] // Round up size to alignment. [INFO] [stdout] let align = mem::align_of::>>(); [INFO] [stdout] Diff in /opt/rustwide/workdir/src/arc.rs at line 381: [INFO] [stdout] for _ in 0..num_items { [INFO] [stdout] ptr::write( [INFO] [stdout] current, [INFO] [stdout] - items.next().expect("ExactSizeIterator over-reported length"), [INFO] [stdout] + items [INFO] [stdout] + .next() [INFO] [stdout] + .expect("ExactSizeIterator over-reported length"), [INFO] [stdout] ); [INFO] [stdout] current = current.offset(1); [INFO] [stdout] } [INFO] [stdout] Diff in /opt/rustwide/workdir/src/arc.rs at line 388: [INFO] [stdout] - assert!(items.next().is_none(), "ExactSizeIterator under-reported length"); [INFO] [stdout] + assert!( [INFO] [stdout] + items.next().is_none(), [INFO] [stdout] + "ExactSizeIterator under-reported length" [INFO] [stdout] + ); [INFO] [stdout] [INFO] [stdout] // We should have consumed the buffer exactly. [INFO] [stdout] debug_assert_eq!(current as *mut u8, buffer.add(usable_size)); [INFO] [stdout] Diff in /opt/rustwide/workdir/src/arc.rs at line 392: [INFO] [stdout] } [INFO] [stdout] - assert!(items.next().is_none(), "ExactSizeIterator under-reported length"); [INFO] [stdout] + assert!( [INFO] [stdout] + items.next().is_none(), [INFO] [stdout] + "ExactSizeIterator under-reported length" [INFO] [stdout] + ); [INFO] [stdout] } [INFO] [stdout] [INFO] [stdout] - ThinArc { ptr: unsafe { ptr::NonNull::new_unchecked(ptr) }, phantom: PhantomData } [INFO] [stdout] + ThinArc { [INFO] [stdout] + ptr: unsafe { ptr::NonNull::new_unchecked(ptr) }, [INFO] [stdout] + phantom: PhantomData, [INFO] [stdout] + } [INFO] [stdout] } [INFO] [stdout] } [INFO] [stdout] [INFO] [stdout] Diff in /opt/rustwide/workdir/src/arc.rs at line 416: [INFO] [stdout] impl Drop for ThinArc { [INFO] [stdout] #[inline] [INFO] [stdout] fn drop(&mut self) { [INFO] [stdout] - let _ = Arc::from_thin(ThinArc { ptr: self.ptr, phantom: PhantomData }); [INFO] [stdout] + let _ = Arc::from_thin(ThinArc { [INFO] [stdout] + ptr: self.ptr, [INFO] [stdout] + phantom: PhantomData, [INFO] [stdout] + }); [INFO] [stdout] } [INFO] [stdout] } [INFO] [stdout] [INFO] [stdout] Diff in /opt/rustwide/workdir/src/arc.rs at line 425: [INFO] [stdout] /// is not modified. [INFO] [stdout] #[inline] [INFO] [stdout] pub(crate) fn into_thin(a: Self) -> ThinArc { [INFO] [stdout] - assert_eq!(a.length, a.slice.len(), "Length needs to be correct for ThinArc to work"); [INFO] [stdout] + assert_eq!( [INFO] [stdout] + a.length, [INFO] [stdout] + a.slice.len(), [INFO] [stdout] + "Length needs to be correct for ThinArc to work" [INFO] [stdout] + ); [INFO] [stdout] let fat_ptr: *mut ArcInner> = a.ptr(); [INFO] [stdout] mem::forget(a); [INFO] [stdout] let thin_ptr = fat_ptr as *mut [usize] as *mut usize; [INFO] [stdout] Diff in /opt/rustwide/workdir/src/arc.rs at line 443: [INFO] [stdout] pub(crate) fn from_thin(a: ThinArc) -> Self { [INFO] [stdout] let ptr = thin_to_thick(a.ptr.as_ptr()); [INFO] [stdout] mem::forget(a); [INFO] [stdout] - unsafe { Arc { p: ptr::NonNull::new_unchecked(ptr), phantom: PhantomData } } [INFO] [stdout] + unsafe { [INFO] [stdout] + Arc { [INFO] [stdout] + p: ptr::NonNull::new_unchecked(ptr), [INFO] [stdout] + phantom: PhantomData, [INFO] [stdout] + } [INFO] [stdout] + } [INFO] [stdout] } [INFO] [stdout] } [INFO] [stdout] [INFO] [stdout] Diff in /opt/rustwide/workdir/src/ast.rs at line 63: [INFO] [stdout] impl SyntaxNodePtr { [INFO] [stdout] /// Returns a [`SyntaxNodePtr`] for the node. [INFO] [stdout] pub fn new(node: &SyntaxNode) -> Self { [INFO] [stdout] - Self { kind: node.kind(), range: node.text_range() } [INFO] [stdout] + Self { [INFO] [stdout] + kind: node.kind(), [INFO] [stdout] + range: node.text_range(), [INFO] [stdout] + } [INFO] [stdout] } [INFO] [stdout] [INFO] [stdout] /// "Dereferences" the pointer to get the [`SyntaxNode`] it points to. [INFO] [stdout] Diff in /opt/rustwide/workdir/src/ast.rs at line 80: [INFO] [stdout] pub fn to_node(&self, root: &SyntaxNode) -> SyntaxNode { [INFO] [stdout] assert!(root.parent().is_none()); [INFO] [stdout] successors(Some(root.clone()), |node| { [INFO] [stdout] - node.child_or_token_at_range(self.range).and_then(|it| it.into_node()) [INFO] [stdout] + node.child_or_token_at_range(self.range) [INFO] [stdout] + .and_then(|it| it.into_node()) [INFO] [stdout] }) [INFO] [stdout] .find(|it| it.text_range() == self.range && it.kind() == self.kind) [INFO] [stdout] .unwrap_or_else(|| panic!("can't resolve local ptr to SyntaxNode: {:?}", self)) [INFO] [stdout] Diff in /opt/rustwide/workdir/src/ast.rs at line 108: [INFO] [stdout] impl AstPtr { [INFO] [stdout] /// Returns an [`AstPtr`] for the node. [INFO] [stdout] pub fn new(node: &N) -> Self { [INFO] [stdout] - Self { raw: SyntaxNodePtr::new(node.syntax()) } [INFO] [stdout] + Self { [INFO] [stdout] + raw: SyntaxNodePtr::new(node.syntax()), [INFO] [stdout] + } [INFO] [stdout] } [INFO] [stdout] [INFO] [stdout] /// Given the root node containing the node `n` that `self` is a pointer to, [INFO] [stdout] Diff in /opt/rustwide/workdir/src/ast.rs at line 139: [INFO] [stdout] [INFO] [stdout] impl Clone for AstPtr { [INFO] [stdout] fn clone(&self) -> Self { [INFO] [stdout] - Self { raw: self.raw.clone() } [INFO] [stdout] + Self { [INFO] [stdout] + raw: self.raw.clone(), [INFO] [stdout] + } [INFO] [stdout] } [INFO] [stdout] } [INFO] [stdout] [INFO] [stdout] Diff in /opt/rustwide/workdir/src/cursor.rs at line 103: [INFO] [stdout] }; [INFO] [stdout] [INFO] [stdout] enum Green { [INFO] [stdout] - Node { ptr: Cell> }, [INFO] [stdout] - Token { ptr: ptr::NonNull }, [INFO] [stdout] + Node { [INFO] [stdout] + ptr: Cell>, [INFO] [stdout] + }, [INFO] [stdout] + Token { [INFO] [stdout] + ptr: ptr::NonNull, [INFO] [stdout] + }, [INFO] [stdout] } [INFO] [stdout] [INFO] [stdout] struct _SyntaxElement; [INFO] [stdout] Diff in /opt/rustwide/workdir/src/cursor.rs at line 245: [INFO] [stdout] unsafe { [INFO] [stdout] if mutable { [INFO] [stdout] let res_ptr: *const NodeData = &res; [INFO] [stdout] - match sll::init((*res_ptr).parent().map(|it| &it.first), res_ptr.as_ref().unwrap()) [INFO] [stdout] - { [INFO] [stdout] + match sll::init( [INFO] [stdout] + (*res_ptr).parent().map(|it| &it.first), [INFO] [stdout] + res_ptr.as_ref().unwrap(), [INFO] [stdout] + ) { [INFO] [stdout] sll::AddToSllResult::AlreadyInSll(node) => { [INFO] [stdout] if cfg!(debug_assertions) { [INFO] [stdout] assert_eq!((*node).index(), (*res_ptr).index()); [INFO] [stdout] Diff in /opt/rustwide/workdir/src/cursor.rs at line 309: [INFO] [stdout] let parent = self.parent()?; [INFO] [stdout] debug_assert!(matches!(parent.green, Green::Node { .. })); [INFO] [stdout] parent.inc_rc(); [INFO] [stdout] - Some(SyntaxNode { ptr: ptr::NonNull::from(parent) }) [INFO] [stdout] + Some(SyntaxNode { [INFO] [stdout] + ptr: ptr::NonNull::from(parent), [INFO] [stdout] + }) [INFO] [stdout] } [INFO] [stdout] [INFO] [stdout] #[inline] [INFO] [stdout] Diff in /opt/rustwide/workdir/src/cursor.rs at line 356: [INFO] [stdout] let mut node = self; [INFO] [stdout] while let Some(parent) = node.parent() { [INFO] [stdout] let green = parent.green().into_node().unwrap(); [INFO] [stdout] - res += green.children().raw.nth(node.index() as usize).unwrap().rel_offset(); [INFO] [stdout] + res += green [INFO] [stdout] + .children() [INFO] [stdout] + .raw [INFO] [stdout] + .nth(node.index() as usize) [INFO] [stdout] + .unwrap() [INFO] [stdout] + .rel_offset(); [INFO] [stdout] node = parent; [INFO] [stdout] } [INFO] [stdout] [INFO] [stdout] Diff in /opt/rustwide/workdir/src/cursor.rs at line 409: [INFO] [stdout] siblings.nth(index).and_then(|(index, child)| { [INFO] [stdout] let parent = self.parent_node()?; [INFO] [stdout] let offset = parent.offset() + child.rel_offset(); [INFO] [stdout] - Some(SyntaxElement::new(child.as_ref(), parent, index as u32, offset)) [INFO] [stdout] + Some(SyntaxElement::new( [INFO] [stdout] + child.as_ref(), [INFO] [stdout] + parent, [INFO] [stdout] + index as u32, [INFO] [stdout] + offset, [INFO] [stdout] + )) [INFO] [stdout] }) [INFO] [stdout] } [INFO] [stdout] fn prev_sibling_or_token(&self) -> Option { [INFO] [stdout] Diff in /opt/rustwide/workdir/src/cursor.rs at line 419: [INFO] [stdout] siblings.nth(index).and_then(|(index, child)| { [INFO] [stdout] let parent = self.parent_node()?; [INFO] [stdout] let offset = parent.offset() + child.rel_offset(); [INFO] [stdout] - Some(SyntaxElement::new(child.as_ref(), parent, index as u32, offset)) [INFO] [stdout] + Some(SyntaxElement::new( [INFO] [stdout] + child.as_ref(), [INFO] [stdout] + parent, [INFO] [stdout] + index as u32, [INFO] [stdout] + offset, [INFO] [stdout] + )) [INFO] [stdout] }) [INFO] [stdout] } [INFO] [stdout] [INFO] [stdout] Diff in /opt/rustwide/workdir/src/cursor.rs at line 523: [INFO] [stdout] impl SyntaxNode { [INFO] [stdout] pub fn new_root(green: GreenNode) -> SyntaxNode { [INFO] [stdout] let green = GreenNode::into_raw(green); [INFO] [stdout] - let green = Green::Node { ptr: Cell::new(green) }; [INFO] [stdout] - SyntaxNode { ptr: NodeData::new(None, 0, 0.into(), green, false) } [INFO] [stdout] + let green = Green::Node { [INFO] [stdout] + ptr: Cell::new(green), [INFO] [stdout] + }; [INFO] [stdout] + SyntaxNode { [INFO] [stdout] + ptr: NodeData::new(None, 0, 0.into(), green, false), [INFO] [stdout] + } [INFO] [stdout] } [INFO] [stdout] [INFO] [stdout] pub fn new_root_mut(green: GreenNode) -> SyntaxNode { [INFO] [stdout] Diff in /opt/rustwide/workdir/src/cursor.rs at line 531: [INFO] [stdout] let green = GreenNode::into_raw(green); [INFO] [stdout] - let green = Green::Node { ptr: Cell::new(green) }; [INFO] [stdout] - SyntaxNode { ptr: NodeData::new(None, 0, 0.into(), green, true) } [INFO] [stdout] + let green = Green::Node { [INFO] [stdout] + ptr: Cell::new(green), [INFO] [stdout] + }; [INFO] [stdout] + SyntaxNode { [INFO] [stdout] + ptr: NodeData::new(None, 0, 0.into(), green, true), [INFO] [stdout] + } [INFO] [stdout] } [INFO] [stdout] [INFO] [stdout] fn new_child( [INFO] [stdout] Diff in /opt/rustwide/workdir/src/cursor.rs at line 540: [INFO] [stdout] offset: TextSize, [INFO] [stdout] ) -> SyntaxNode { [INFO] [stdout] let mutable = parent.data().mutable; [INFO] [stdout] - let green = Green::Node { ptr: Cell::new(green.into()) }; [INFO] [stdout] - SyntaxNode { ptr: NodeData::new(Some(parent), index, offset, green, mutable) } [INFO] [stdout] + let green = Green::Node { [INFO] [stdout] + ptr: Cell::new(green.into()), [INFO] [stdout] + }; [INFO] [stdout] + SyntaxNode { [INFO] [stdout] + ptr: NodeData::new(Some(parent), index, offset, green, mutable), [INFO] [stdout] + } [INFO] [stdout] } [INFO] [stdout] [INFO] [stdout] pub fn clone_for_update(&self) -> SyntaxNode { [INFO] [stdout] Diff in /opt/rustwide/workdir/src/cursor.rs at line 636: [INFO] [stdout] } [INFO] [stdout] [INFO] [stdout] pub fn first_child(&self) -> Option { [INFO] [stdout] - self.green_ref().children().raw.enumerate().find_map(|(index, child)| { [INFO] [stdout] - child.as_ref().into_node().map(|green| { [INFO] [stdout] - SyntaxNode::new_child( [INFO] [stdout] - green, [INFO] [stdout] - self.clone(), [INFO] [stdout] - index as u32, [INFO] [stdout] - self.offset() + child.rel_offset(), [INFO] [stdout] - ) [INFO] [stdout] + self.green_ref() [INFO] [stdout] + .children() [INFO] [stdout] + .raw [INFO] [stdout] + .enumerate() [INFO] [stdout] + .find_map(|(index, child)| { [INFO] [stdout] + child.as_ref().into_node().map(|green| { [INFO] [stdout] + SyntaxNode::new_child( [INFO] [stdout] + green, [INFO] [stdout] + self.clone(), [INFO] [stdout] + index as u32, [INFO] [stdout] + self.offset() + child.rel_offset(), [INFO] [stdout] + ) [INFO] [stdout] + }) [INFO] [stdout] }) [INFO] [stdout] - }) [INFO] [stdout] } [INFO] [stdout] pub fn last_child(&self) -> Option { [INFO] [stdout] - self.green_ref().children().raw.enumerate().rev().find_map(|(index, child)| { [INFO] [stdout] - child.as_ref().into_node().map(|green| { [INFO] [stdout] - SyntaxNode::new_child( [INFO] [stdout] - green, [INFO] [stdout] - self.clone(), [INFO] [stdout] - index as u32, [INFO] [stdout] - self.offset() + child.rel_offset(), [INFO] [stdout] - ) [INFO] [stdout] + self.green_ref() [INFO] [stdout] + .children() [INFO] [stdout] + .raw [INFO] [stdout] + .enumerate() [INFO] [stdout] + .rev() [INFO] [stdout] + .find_map(|(index, child)| { [INFO] [stdout] + child.as_ref().into_node().map(|green| { [INFO] [stdout] + SyntaxNode::new_child( [INFO] [stdout] + green, [INFO] [stdout] + self.clone(), [INFO] [stdout] + index as u32, [INFO] [stdout] + self.offset() + child.rel_offset(), [INFO] [stdout] + ) [INFO] [stdout] + }) [INFO] [stdout] }) [INFO] [stdout] - }) [INFO] [stdout] } [INFO] [stdout] [INFO] [stdout] pub fn first_child_or_token(&self) -> Option { [INFO] [stdout] Diff in /opt/rustwide/workdir/src/cursor.rs at line 664: [INFO] [stdout] self.green_ref().children().raw.next().map(|child| { [INFO] [stdout] - SyntaxElement::new(child.as_ref(), self.clone(), 0, self.offset() + child.rel_offset()) [INFO] [stdout] - }) [INFO] [stdout] - } [INFO] [stdout] - pub fn last_child_or_token(&self) -> Option { [INFO] [stdout] - self.green_ref().children().raw.enumerate().next_back().map(|(index, child)| { [INFO] [stdout] SyntaxElement::new( [INFO] [stdout] child.as_ref(), [INFO] [stdout] self.clone(), [INFO] [stdout] Diff in /opt/rustwide/workdir/src/cursor.rs at line 673: [INFO] [stdout] - index as u32, [INFO] [stdout] + 0, [INFO] [stdout] self.offset() + child.rel_offset(), [INFO] [stdout] ) [INFO] [stdout] }) [INFO] [stdout] Diff in /opt/rustwide/workdir/src/cursor.rs at line 677: [INFO] [stdout] } [INFO] [stdout] + pub fn last_child_or_token(&self) -> Option { [INFO] [stdout] + self.green_ref() [INFO] [stdout] + .children() [INFO] [stdout] + .raw [INFO] [stdout] + .enumerate() [INFO] [stdout] + .next_back() [INFO] [stdout] + .map(|(index, child)| { [INFO] [stdout] + SyntaxElement::new( [INFO] [stdout] + child.as_ref(), [INFO] [stdout] + self.clone(), [INFO] [stdout] + index as u32, [INFO] [stdout] + self.offset() + child.rel_offset(), [INFO] [stdout] + ) [INFO] [stdout] + }) [INFO] [stdout] + } [INFO] [stdout] [INFO] [stdout] pub fn next_sibling(&self) -> Option { [INFO] [stdout] self.data().next_sibling() [INFO] [stdout] Diff in /opt/rustwide/workdir/src/cursor.rs at line 801: [INFO] [stdout] [INFO] [stdout] pub fn child_or_token_at_range(&self, range: TextRange) -> Option { [INFO] [stdout] let rel_range = range - self.offset(); [INFO] [stdout] - self.green_ref().child_at_range(rel_range).map(|(index, rel_offset, green)| { [INFO] [stdout] - SyntaxElement::new(green, self.clone(), index as u32, self.offset() + rel_offset) [INFO] [stdout] - }) [INFO] [stdout] + self.green_ref() [INFO] [stdout] + .child_at_range(rel_range) [INFO] [stdout] + .map(|(index, rel_offset, green)| { [INFO] [stdout] + SyntaxElement::new( [INFO] [stdout] + green, [INFO] [stdout] + self.clone(), [INFO] [stdout] + index as u32, [INFO] [stdout] + self.offset() + rel_offset, [INFO] [stdout] + ) [INFO] [stdout] + }) [INFO] [stdout] } [INFO] [stdout] [INFO] [stdout] pub fn splice_children(&self, to_delete: Range, to_insert: Vec) { [INFO] [stdout] Diff in /opt/rustwide/workdir/src/cursor.rs at line 845: [INFO] [stdout] ) -> SyntaxToken { [INFO] [stdout] let mutable = parent.data().mutable; [INFO] [stdout] let green = Green::Token { ptr: green.into() }; [INFO] [stdout] - SyntaxToken { ptr: NodeData::new(Some(parent), index, offset, green, mutable) } [INFO] [stdout] + SyntaxToken { [INFO] [stdout] + ptr: NodeData::new(Some(parent), index, offset, green, mutable), [INFO] [stdout] + } [INFO] [stdout] } [INFO] [stdout] [INFO] [stdout] #[inline] [INFO] [stdout] Diff in /opt/rustwide/workdir/src/cursor.rs at line 858: [INFO] [stdout] let parent = self.parent().unwrap(); [INFO] [stdout] let me: u32 = self.data().index(); [INFO] [stdout] [INFO] [stdout] - let new_parent = parent.green_ref().replace_child(me as usize, replacement.into()); [INFO] [stdout] + let new_parent = parent [INFO] [stdout] + .green_ref() [INFO] [stdout] + .replace_child(me as usize, replacement.into()); [INFO] [stdout] parent.replace_with(new_parent) [INFO] [stdout] } [INFO] [stdout] [INFO] [stdout] Diff in /opt/rustwide/workdir/src/cursor.rs at line 1138: [INFO] [stdout] [INFO] [stdout] impl SyntaxNodeChildren { [INFO] [stdout] fn new(parent: SyntaxNode) -> SyntaxNodeChildren { [INFO] [stdout] - SyntaxNodeChildren { next: parent.first_child() } [INFO] [stdout] + SyntaxNodeChildren { [INFO] [stdout] + next: parent.first_child(), [INFO] [stdout] + } [INFO] [stdout] } [INFO] [stdout] } [INFO] [stdout] [INFO] [stdout] Diff in /opt/rustwide/workdir/src/cursor.rs at line 1159: [INFO] [stdout] [INFO] [stdout] impl SyntaxElementChildren { [INFO] [stdout] fn new(parent: SyntaxNode) -> SyntaxElementChildren { [INFO] [stdout] - SyntaxElementChildren { next: parent.first_child_or_token() } [INFO] [stdout] + SyntaxElementChildren { [INFO] [stdout] + next: parent.first_child_or_token(), [INFO] [stdout] + } [INFO] [stdout] } [INFO] [stdout] } [INFO] [stdout] [INFO] [stdout] Diff in /opt/rustwide/workdir/src/cursor.rs at line 1182: [INFO] [stdout] impl Preorder { [INFO] [stdout] fn new(start: SyntaxNode) -> Preorder { [INFO] [stdout] let next = Some(WalkEvent::Enter(start.clone())); [INFO] [stdout] - Preorder { start, next, skip_subtree: false } [INFO] [stdout] + Preorder { [INFO] [stdout] + start, [INFO] [stdout] + next, [INFO] [stdout] + skip_subtree: false, [INFO] [stdout] + } [INFO] [stdout] } [INFO] [stdout] [INFO] [stdout] pub fn skip_subtree(&mut self) { [INFO] [stdout] Diff in /opt/rustwide/workdir/src/cursor.rs at line 1237: [INFO] [stdout] impl PreorderWithTokens { [INFO] [stdout] fn new(start: SyntaxNode) -> PreorderWithTokens { [INFO] [stdout] let next = Some(WalkEvent::Enter(start.clone().into())); [INFO] [stdout] - PreorderWithTokens { start: start.into(), next, skip_subtree: false } [INFO] [stdout] + PreorderWithTokens { [INFO] [stdout] + start: start.into(), [INFO] [stdout] + next, [INFO] [stdout] + skip_subtree: false, [INFO] [stdout] + } [INFO] [stdout] } [INFO] [stdout] [INFO] [stdout] pub fn skip_subtree(&mut self) { [INFO] [stdout] Diff in /opt/rustwide/workdir/src/green/node.rs at line 24: [INFO] [stdout] [INFO] [stdout] #[derive(Debug, Clone, PartialEq, Eq, Hash)] [INFO] [stdout] pub(crate) enum GreenChild { [INFO] [stdout] - Node { rel_offset: TextSize, node: GreenNode }, [INFO] [stdout] - Token { rel_offset: TextSize, token: GreenToken }, [INFO] [stdout] + Node { [INFO] [stdout] + rel_offset: TextSize, [INFO] [stdout] + node: GreenNode, [INFO] [stdout] + }, [INFO] [stdout] + Token { [INFO] [stdout] + rel_offset: TextSize, [INFO] [stdout] + token: GreenToken, [INFO] [stdout] + }, [INFO] [stdout] } [INFO] [stdout] #[cfg(target_pointer_width = "64")] [INFO] [stdout] static_assert!(mem::size_of::() == mem::size_of::() * 2); [INFO] [stdout] Diff in /opt/rustwide/workdir/src/green/node.rs at line 137: [INFO] [stdout] /// Children of this node. [INFO] [stdout] #[inline] [INFO] [stdout] pub fn children(&self) -> Children<'_> { [INFO] [stdout] - Children { raw: self.slice().iter() } [INFO] [stdout] + Children { [INFO] [stdout] + raw: self.slice().iter(), [INFO] [stdout] + } [INFO] [stdout] } [INFO] [stdout] [INFO] [stdout] pub(crate) fn child_at_range( [INFO] [stdout] Diff in /opt/rustwide/workdir/src/green/node.rs at line 152: [INFO] [stdout] }) [INFO] [stdout] // XXX: this handles empty ranges [INFO] [stdout] .unwrap_or_else(|it| it.saturating_sub(1)); [INFO] [stdout] - let child = &self.slice().get(idx).filter(|it| it.rel_range().contains_range(rel_range))?; [INFO] [stdout] + let child = &self [INFO] [stdout] + .slice() [INFO] [stdout] + .get(idx) [INFO] [stdout] + .filter(|it| it.rel_range().contains_range(rel_range))?; [INFO] [stdout] Some((idx, child.rel_offset(), child.as_ref())) [INFO] [stdout] } [INFO] [stdout] [INFO] [stdout] Diff in /opt/rustwide/workdir/src/green/node.rs at line 221: [INFO] [stdout] }); [INFO] [stdout] [INFO] [stdout] let data = ThinArc::from_header_and_iter( [INFO] [stdout] - GreenNodeHead { kind, text_len: 0.into(), _c: Count::new() }, [INFO] [stdout] + GreenNodeHead { [INFO] [stdout] + kind, [INFO] [stdout] + text_len: 0.into(), [INFO] [stdout] + _c: Count::new(), [INFO] [stdout] + }, [INFO] [stdout] children, [INFO] [stdout] ); [INFO] [stdout] [INFO] [stdout] Diff in /opt/rustwide/workdir/src/green/node_cache.rs at line 138: [INFO] [stdout] h.finish() [INFO] [stdout] }; [INFO] [stdout] [INFO] [stdout] - let entry = self [INFO] [stdout] - .tokens [INFO] [stdout] - .raw_entry_mut() [INFO] [stdout] - .from_hash(hash, |token| token.0.kind() == kind && token.0.text() == text); [INFO] [stdout] + let entry = self.tokens.raw_entry_mut().from_hash(hash, |token| { [INFO] [stdout] + token.0.kind() == kind && token.0.text() == text [INFO] [stdout] + }); [INFO] [stdout] [INFO] [stdout] let token = match entry { [INFO] [stdout] RawEntryMut::Occupied(entry) => entry.key().0.clone(), [INFO] [stdout] Diff in /opt/rustwide/workdir/src/green/token.rs at line 112: [INFO] [stdout] /// Creates new Token. [INFO] [stdout] #[inline] [INFO] [stdout] pub fn new(kind: SyntaxKind, text: &str) -> GreenToken { [INFO] [stdout] - let head = GreenTokenHead { kind, _c: Count::new() }; [INFO] [stdout] + let head = GreenTokenHead { [INFO] [stdout] + kind, [INFO] [stdout] + _c: Count::new(), [INFO] [stdout] + }; [INFO] [stdout] let ptr = ThinArc::from_header_and_iter(head, text.bytes()); [INFO] [stdout] GreenToken { ptr } [INFO] [stdout] } [INFO] [stdout] Diff in /opt/rustwide/workdir/src/green.rs at line 1: [INFO] [stdout] -mod node; [INFO] [stdout] -mod token; [INFO] [stdout] -mod element; [INFO] [stdout] mod builder; [INFO] [stdout] +mod element; [INFO] [stdout] +mod node; [INFO] [stdout] mod node_cache; [INFO] [stdout] +mod token; [INFO] [stdout] [INFO] [stdout] use self::element::GreenElement; [INFO] [stdout] [INFO] [stdout] Diff in /opt/rustwide/workdir/src/lib.rs at line 9: [INFO] [stdout] #![deny(unsafe_code)] [INFO] [stdout] [INFO] [stdout] #[allow(unsafe_code)] [INFO] [stdout] -mod green; [INFO] [stdout] -#[allow(unsafe_code)] [INFO] [stdout] pub mod cursor; [INFO] [stdout] +#[allow(unsafe_code)] [INFO] [stdout] +mod green; [INFO] [stdout] [INFO] [stdout] pub mod api; [INFO] [stdout] mod syntax_text; [INFO] [stdout] Diff in /opt/rustwide/workdir/src/lib.rs at line 18: [INFO] [stdout] mod utility_types; [INFO] [stdout] [INFO] [stdout] -mod cow_mut; [INFO] [stdout] #[allow(unsafe_code)] [INFO] [stdout] -mod sll; [INFO] [stdout] -#[allow(unsafe_code)] [INFO] [stdout] mod arc; [INFO] [stdout] +pub mod ast; [INFO] [stdout] +mod cow_mut; [INFO] [stdout] #[cfg(feature = "serde1")] [INFO] [stdout] mod serde_impls; [INFO] [stdout] -pub mod ast; [INFO] [stdout] +#[allow(unsafe_code)] [INFO] [stdout] +mod sll; [INFO] [stdout] [INFO] [stdout] pub use text_size::{TextLen, TextRange, TextSize}; [INFO] [stdout] [INFO] [stdout] Diff in /opt/rustwide/workdir/src/serde_impls.rs at line 57: [INFO] [stdout] S: Serializer, [INFO] [stdout] { [INFO] [stdout] let mut state = serializer.serialize_seq(None)?; [INFO] [stdout] - self.0.children_with_tokens().try_for_each(|element| match element { [INFO] [stdout] - NodeOrToken::Node(it) => state.serialize_element(&it), [INFO] [stdout] - NodeOrToken::Token(it) => state.serialize_element(&it), [INFO] [stdout] - })?; [INFO] [stdout] + self.0 [INFO] [stdout] + .children_with_tokens() [INFO] [stdout] + .try_for_each(|element| match element { [INFO] [stdout] + NodeOrToken::Node(it) => state.serialize_element(&it), [INFO] [stdout] + NodeOrToken::Token(it) => state.serialize_element(&it), [INFO] [stdout] + })?; [INFO] [stdout] state.end() [INFO] [stdout] } [INFO] [stdout] } [INFO] [stdout] Diff in /opt/rustwide/workdir/src/syntax_text.rs at line 26: [INFO] [stdout] } [INFO] [stdout] [INFO] [stdout] pub fn contains_char(&self, c: char) -> bool { [INFO] [stdout] - self.try_for_each_chunk(|chunk| if chunk.contains(c) { Err(()) } else { Ok(()) }).is_err() [INFO] [stdout] + self.try_for_each_chunk(|chunk| if chunk.contains(c) { Err(()) } else { Ok(()) }) [INFO] [stdout] + .is_err() [INFO] [stdout] } [INFO] [stdout] [INFO] [stdout] pub fn find_char(&self, c: char) -> Option { [INFO] [stdout] Diff in /opt/rustwide/workdir/src/syntax_text.rs at line 77: [INFO] [stdout] self.range, [INFO] [stdout] range, [INFO] [stdout] ); [INFO] [stdout] - SyntaxText { node: self.node.clone(), range } [INFO] [stdout] + SyntaxText { [INFO] [stdout] + node: self.node.clone(), [INFO] [stdout] + range, [INFO] [stdout] + } [INFO] [stdout] } [INFO] [stdout] [INFO] [stdout] pub fn try_fold_chunks(&self, init: T, mut f: F) -> Result [INFO] [stdout] Diff in /opt/rustwide/workdir/src/syntax_text.rs at line 85: [INFO] [stdout] F: FnMut(T, &str) -> Result, [INFO] [stdout] { [INFO] [stdout] self.tokens_with_ranges() [INFO] [stdout] - .try_fold(init, move |acc, (token, range)| f(acc, &token.text()[range])) [INFO] [stdout] + .try_fold(init, move |acc, (token, range)| { [INFO] [stdout] + f(acc, &token.text()[range]) [INFO] [stdout] + }) [INFO] [stdout] } [INFO] [stdout] [INFO] [stdout] pub fn try_for_each_chunk Result<(), E>, E>( [INFO] [stdout] Diff in /opt/rustwide/workdir/src/syntax_text.rs at line 105: [INFO] [stdout] [INFO] [stdout] fn tokens_with_ranges(&self) -> impl Iterator { [INFO] [stdout] let text_range = self.range; [INFO] [stdout] - self.node.descendants_with_tokens().filter_map(|element| element.into_token()).filter_map( [INFO] [stdout] - move |token| { [INFO] [stdout] + self.node [INFO] [stdout] + .descendants_with_tokens() [INFO] [stdout] + .filter_map(|element| element.into_token()) [INFO] [stdout] + .filter_map(move |token| { [INFO] [stdout] let token_range = token.text_range(); [INFO] [stdout] let range = text_range.intersect(token_range)?; [INFO] [stdout] Some((token, range - token_range.start())) [INFO] [stdout] Diff in /opt/rustwide/workdir/src/syntax_text.rs at line 113: [INFO] [stdout] - }, [INFO] [stdout] - ) [INFO] [stdout] + }) [INFO] [stdout] } [INFO] [stdout] } [INFO] [stdout] [INFO] [stdout] Diff in /opt/rustwide/workdir/src/syntax_text.rs at line 287: [INFO] [stdout] let t2 = build_tree(t2).text(); [INFO] [stdout] let expected = t1.to_string() == t2.to_string(); [INFO] [stdout] let actual = t1 == t2; [INFO] [stdout] - assert_eq!(expected, actual, "`{}` (SyntaxText) `{}` (SyntaxText)", t1, t2); [INFO] [stdout] + assert_eq!( [INFO] [stdout] + expected, actual, [INFO] [stdout] + "`{}` (SyntaxText) `{}` (SyntaxText)", [INFO] [stdout] + t1, t2 [INFO] [stdout] + ); [INFO] [stdout] let actual = t1 == &*t2.to_string(); [INFO] [stdout] assert_eq!(expected, actual, "`{}` (SyntaxText) `{}` (&str)", t1, t2); [INFO] [stdout] } [INFO] [stdout] thread 'check_code_formatting' panicked at 'code is not properly formatted; please format the code by running `cargo fmt`', tests/tidy.rs:44:9 [INFO] [stdout] stack backtrace: [INFO] [stdout] 0: 0x5592a9f8c0fc - std::backtrace_rs::backtrace::libunwind::trace::h91c465e73bf6c785 [INFO] [stdout] at /rustc/9d1b2106e23b1abd32fce1f17267604a5102f57a/library/std/src/../../backtrace/src/backtrace/libunwind.rs:93:5 [INFO] [stdout] 1: 0x5592a9f8c0fc - std::backtrace_rs::backtrace::trace_unsynchronized::hae9da36f5d58b5f3 [INFO] [stdout] at /rustc/9d1b2106e23b1abd32fce1f17267604a5102f57a/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5 [INFO] [stdout] 2: 0x5592a9f8c0fc - std::sys_common::backtrace::_print_fmt::h7f499fa126a7effb [INFO] [stdout] at /rustc/9d1b2106e23b1abd32fce1f17267604a5102f57a/library/std/src/sys_common/backtrace.rs:67:5 [INFO] [stdout] 3: 0x5592a9f8c0fc - ::fmt::h3e2b509ce2ce6007 [INFO] [stdout] at /rustc/9d1b2106e23b1abd32fce1f17267604a5102f57a/library/std/src/sys_common/backtrace.rs:46:22 [INFO] [stdout] 4: 0x5592a9fb1b8c - core::fmt::write::h753c7571fa063ecb [INFO] [stdout] at /rustc/9d1b2106e23b1abd32fce1f17267604a5102f57a/library/core/src/fmt/mod.rs:1168:17 [INFO] [stdout] 5: 0x5592a9f87333 - std::io::Write::write_fmt::hb649ab67f71b6655 [INFO] [stdout] at /rustc/9d1b2106e23b1abd32fce1f17267604a5102f57a/library/std/src/io/mod.rs:1660:15 [INFO] [stdout] 6: 0x5592a9f8e7d2 - std::sys_common::backtrace::_print::h64941a6fc8b0ed9b [INFO] [stdout] at /rustc/9d1b2106e23b1abd32fce1f17267604a5102f57a/library/std/src/sys_common/backtrace.rs:49:5 [INFO] [stdout] 7: 0x5592a9f8e7d2 - std::sys_common::backtrace::print::hcf25e43e1a9b0766 [INFO] [stdout] at /rustc/9d1b2106e23b1abd32fce1f17267604a5102f57a/library/std/src/sys_common/backtrace.rs:36:9 [INFO] [stdout] 8: 0x5592a9f8e7d2 - std::panicking::default_hook::{{closure}}::h78d3e6cf97fc623d [INFO] [stdout] at /rustc/9d1b2106e23b1abd32fce1f17267604a5102f57a/library/std/src/panicking.rs:211:50 [INFO] [stdout] 9: 0x5592a9f8e421 - std::panicking::default_hook::hda898f8d3ad1a5ae [INFO] [stdout] at /rustc/9d1b2106e23b1abd32fce1f17267604a5102f57a/library/std/src/panicking.rs:225:9 [INFO] [stdout] 10: 0x5592a9f8ee23 - std::panicking::rust_panic_with_hook::h1a5ea2d6c23051aa [INFO] [stdout] at /rustc/9d1b2106e23b1abd32fce1f17267604a5102f57a/library/std/src/panicking.rs:606:17 [INFO] [stdout] 11: 0x5592a9f8eb12 - std::panicking::begin_panic_handler::{{closure}}::h07f549390938b73f [INFO] [stdout] at /rustc/9d1b2106e23b1abd32fce1f17267604a5102f57a/library/std/src/panicking.rs:500:13 [INFO] [stdout] 12: 0x5592a9f8c5a4 - std::sys_common::backtrace::__rust_end_short_backtrace::h5ec3758a92cfb00d [INFO] [stdout] at /rustc/9d1b2106e23b1abd32fce1f17267604a5102f57a/library/std/src/sys_common/backtrace.rs:139:18 [INFO] [stdout] 13: 0x5592a9f8e879 - rust_begin_unwind [INFO] [stdout] at /rustc/9d1b2106e23b1abd32fce1f17267604a5102f57a/library/std/src/panicking.rs:498:5 [INFO] [stdout] 14: 0x5592a9f28e51 - core::panicking::panic_fmt::h3a79a6a99affe1d5 [INFO] [stdout] at /rustc/9d1b2106e23b1abd32fce1f17267604a5102f57a/library/core/src/panicking.rs:116:14 [INFO] [stdout] 15: 0x5592a9f2e488 - tidy::check_code_formatting::hdedb713cf66f862c [INFO] [stdout] at /opt/rustwide/workdir/tests/tidy.rs:44:9 [INFO] [stdout] 16: 0x5592a9f2e33a - tidy::check_code_formatting::{{closure}}::h57e9334bdc1ba7d6 [INFO] [stdout] at /opt/rustwide/workdir/tests/tidy.rs:35:1 [INFO] [stdout] 17: 0x5592a9f3426e - core::ops::function::FnOnce::call_once::hda4ee71d31c02fc3 [INFO] [stdout] at /rustc/9d1b2106e23b1abd32fce1f17267604a5102f57a/library/core/src/ops/function.rs:227:5 [INFO] [stdout] 18: 0x5592a9f62023 - core::ops::function::FnOnce::call_once::h1845a80638abc06e [INFO] [stdout] at /rustc/9d1b2106e23b1abd32fce1f17267604a5102f57a/library/core/src/ops/function.rs:227:5 [INFO] [stdout] 19: 0x5592a9f62023 - test::__rust_begin_short_backtrace::h4f56ccea01b9889f [INFO] [stdout] at /rustc/9d1b2106e23b1abd32fce1f17267604a5102f57a/library/test/src/lib.rs:574:5 [INFO] [stdout] 20: 0x5592a9f60d0f - as core::ops::function::FnOnce>::call_once::h5afedf14a39ffa74 [INFO] [stdout] at /rustc/9d1b2106e23b1abd32fce1f17267604a5102f57a/library/alloc/src/boxed.rs:1854:9 [INFO] [stdout] 21: 0x5592a9f60d0f - as core::ops::function::FnOnce<()>>::call_once::hd5aaa1b551e9ce71 [INFO] [stdout] at /rustc/9d1b2106e23b1abd32fce1f17267604a5102f57a/library/core/src/panic/unwind_safe.rs:271:9 [INFO] [stdout] 22: 0x5592a9f60d0f - std::panicking::try::do_call::h316eebee63f96d32 [INFO] [stdout] at /rustc/9d1b2106e23b1abd32fce1f17267604a5102f57a/library/std/src/panicking.rs:406:40 [INFO] [stdout] 23: 0x5592a9f60d0f - std::panicking::try::h662e31e84dd7ce52 [INFO] [stdout] at /rustc/9d1b2106e23b1abd32fce1f17267604a5102f57a/library/std/src/panicking.rs:370:19 [INFO] [stdout] 24: 0x5592a9f60d0f - std::panic::catch_unwind::h129c1b23f076663f [INFO] [stdout] at /rustc/9d1b2106e23b1abd32fce1f17267604a5102f57a/library/std/src/panic.rs:133:14 [INFO] [stdout] 25: 0x5592a9f60d0f - test::run_test_in_process::h51d800d572f878ef [INFO] [stdout] at /rustc/9d1b2106e23b1abd32fce1f17267604a5102f57a/library/test/src/lib.rs:597:18 [INFO] [stdout] 26: 0x5592a9f60d0f - test::run_test::run_test_inner::{{closure}}::h71a47db430260854 [INFO] [stdout] at /rustc/9d1b2106e23b1abd32fce1f17267604a5102f57a/library/test/src/lib.rs:491:39 [INFO] [stdout] 27: 0x5592a9f6a0d1 - test::run_test::run_test_inner::{{closure}}::h02edd5b3e2dab52a [INFO] [stdout] at /rustc/9d1b2106e23b1abd32fce1f17267604a5102f57a/library/test/src/lib.rs:518:37 [INFO] [stdout] 28: 0x5592a9f6a0d1 - std::sys_common::backtrace::__rust_begin_short_backtrace::h0838cfc8b0e995ec [INFO] [stdout] at /rustc/9d1b2106e23b1abd32fce1f17267604a5102f57a/library/std/src/sys_common/backtrace.rs:123:18 [INFO] [stdout] 29: 0x5592a9f36b5f - std::thread::Builder::spawn_unchecked::{{closure}}::{{closure}}::h4c2725d7078043cd [INFO] [stdout] at /rustc/9d1b2106e23b1abd32fce1f17267604a5102f57a/library/std/src/thread/mod.rs:477:17 [INFO] [stdout] 30: 0x5592a9f36b5f - as core::ops::function::FnOnce<()>>::call_once::hdf1aa612eed87270 [INFO] [stdout] at /rustc/9d1b2106e23b1abd32fce1f17267604a5102f57a/library/core/src/panic/unwind_safe.rs:271:9 [INFO] [stdout] 31: 0x5592a9f36b5f - std::panicking::try::do_call::hc72f8de3706d18d6 [INFO] [stdout] at /rustc/9d1b2106e23b1abd32fce1f17267604a5102f57a/library/std/src/panicking.rs:406:40 [INFO] [stdout] 32: 0x5592a9f36b5f - std::panicking::try::h63f01f54dbd0fb87 [INFO] [stdout] at /rustc/9d1b2106e23b1abd32fce1f17267604a5102f57a/library/std/src/panicking.rs:370:19 [INFO] [stdout] 33: 0x5592a9f36b5f - std::panic::catch_unwind::h58bc464ae9b26453 [INFO] [stdout] at /rustc/9d1b2106e23b1abd32fce1f17267604a5102f57a/library/std/src/panic.rs:133:14 [INFO] [stdout] 34: 0x5592a9f36b5f - std::thread::Builder::spawn_unchecked::{{closure}}::h6c065e19513e33e3 [INFO] [stdout] at /rustc/9d1b2106e23b1abd32fce1f17267604a5102f57a/library/std/src/thread/mod.rs:476:30 [INFO] [stdout] 35: 0x5592a9f36b5f - core::ops::function::FnOnce::call_once{{vtable.shim}}::hd143450c74f35c32 [INFO] [stdout] at /rustc/9d1b2106e23b1abd32fce1f17267604a5102f57a/library/core/src/ops/function.rs:227:5 [INFO] [stdout] 36: 0x5592a9f94b43 - as core::ops::function::FnOnce>::call_once::h49b6c7c5155a2296 [INFO] [stdout] at /rustc/9d1b2106e23b1abd32fce1f17267604a5102f57a/library/alloc/src/boxed.rs:1854:9 [INFO] [stdout] 37: 0x5592a9f94b43 - as core::ops::function::FnOnce>::call_once::ha8b5234bfeb15105 [INFO] [stdout] at /rustc/9d1b2106e23b1abd32fce1f17267604a5102f57a/library/alloc/src/boxed.rs:1854:9 [INFO] [stdout] 38: 0x5592a9f94b43 - std::sys::unix::thread::Thread::new::thread_start::h6f207dd842d64859 [INFO] [stdout] at /rustc/9d1b2106e23b1abd32fce1f17267604a5102f57a/library/std/src/sys/unix/thread.rs:108:17 [INFO] [stdout] 39: 0x7fc1cbd32609 - start_thread [INFO] [stdout] 40: 0x7fc1cbb04293 - clone [INFO] [stdout] 41: 0x0 - [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] failures: [INFO] [stdout] check_code_formatting [INFO] [stdout] [INFO] [stdout] test result: FAILED. 0 passed; 1 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.67s [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "f02a63acba3f659ee13067d131ffbe24e22a5d47c4a94bb87fa8d1882b17a0a8", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "f02a63acba3f659ee13067d131ffbe24e22a5d47c4a94bb87fa8d1882b17a0a8", kill_on_drop: false }` [INFO] [stdout] f02a63acba3f659ee13067d131ffbe24e22a5d47c4a94bb87fa8d1882b17a0a8