[INFO] fetching crate penrose 0.3.6... [INFO] testing penrose-0.3.6 against beta-2025-04-13 for beta-1.87-1 [INFO] extracting crate penrose 0.3.6 into /workspace/builds/worker-7-tc2/source [INFO] validating manifest of crates.io crate penrose 0.3.6 on toolchain beta-2025-04-13 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2025-04-13" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking crates.io crate penrose 0.3.6 [INFO] finished tweaking crates.io crate penrose 0.3.6 [INFO] tweaked toml for crates.io crate penrose 0.3.6 written to /workspace/builds/worker-7-tc2/source/Cargo.toml [INFO] crate crates.io crate penrose 0.3.6 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" "+beta-2025-04-13" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/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:b0b074c097205a61b89e8ad263052f976b2b332c4dc5f02aef1fe52501660d6e" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2025-04-13" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] c3dd0bd41c76d5cbce61a34443c471f07e2733defeb489801dfc2e6fa4566dd6 [INFO] running `Command { std: "docker" "start" "-a" "c3dd0bd41c76d5cbce61a34443c471f07e2733defeb489801dfc2e6fa4566dd6", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "c3dd0bd41c76d5cbce61a34443c471f07e2733defeb489801dfc2e6fa4566dd6", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "c3dd0bd41c76d5cbce61a34443c471f07e2733defeb489801dfc2e6fa4566dd6", kill_on_drop: false }` [INFO] [stdout] c3dd0bd41c76d5cbce61a34443c471f07e2733defeb489801dfc2e6fa4566dd6 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/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" "RUSTDOCFLAGS=--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:b0b074c097205a61b89e8ad263052f976b2b332c4dc5f02aef1fe52501660d6e" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2025-04-13" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 0b3196cf4221a9d7d1b92ba0eb4a3aa30a547c04bbcf87df20199ebd732f1b71 [INFO] running `Command { std: "docker" "start" "-a" "0b3196cf4221a9d7d1b92ba0eb4a3aa30a547c04bbcf87df20199ebd732f1b71", kill_on_drop: false }` [INFO] [stderr] Compiling proc-macro2 v1.0.86 [INFO] [stderr] Compiling unicode-ident v1.0.12 [INFO] [stderr] Compiling serde v1.0.203 [INFO] [stderr] Compiling rustversion v1.0.17 [INFO] [stderr] Compiling heck v0.5.0 [INFO] [stderr] Compiling rustix v0.38.34 [INFO] [stderr] Compiling libc v0.2.155 [INFO] [stderr] Compiling cfg_aliases v0.2.1 [INFO] [stderr] Compiling linux-raw-sys v0.4.14 [INFO] [stderr] Compiling once_cell v1.19.0 [INFO] [stderr] Compiling thiserror v1.0.61 [INFO] [stderr] Compiling pin-project-lite v0.2.14 [INFO] [stderr] Compiling x11rb-protocol v0.13.1 [INFO] [stderr] Compiling cfg-if v1.0.0 [INFO] [stderr] Compiling anymap v0.12.1 [INFO] [stderr] Compiling nix v0.29.0 [INFO] [stderr] Compiling tracing-core v0.1.32 [INFO] [stderr] Compiling quote v1.0.36 [INFO] [stderr] Compiling syn v2.0.68 [INFO] [stderr] Compiling bitflags v2.5.0 [INFO] [stderr] Compiling strum_macros v0.26.4 [INFO] [stderr] Compiling thiserror-impl v1.0.61 [INFO] [stderr] Compiling tracing-attributes v0.1.27 [INFO] [stderr] Compiling x11rb v0.13.1 [INFO] [stderr] Compiling tracing v0.1.40 [INFO] [stderr] Compiling strum v0.26.3 [INFO] [stderr] Compiling penrose_keysyms v0.3.6 [INFO] [stderr] Compiling penrose v0.3.6 (/opt/rustwide/workdir) [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 11.53s [INFO] running `Command { std: "docker" "inspect" "0b3196cf4221a9d7d1b92ba0eb4a3aa30a547c04bbcf87df20199ebd732f1b71", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "0b3196cf4221a9d7d1b92ba0eb4a3aa30a547c04bbcf87df20199ebd732f1b71", kill_on_drop: false }` [INFO] [stdout] 0b3196cf4221a9d7d1b92ba0eb4a3aa30a547c04bbcf87df20199ebd732f1b71 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/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" "RUSTDOCFLAGS=--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:b0b074c097205a61b89e8ad263052f976b2b332c4dc5f02aef1fe52501660d6e" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2025-04-13" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 3add15982e13c852ddc5032a028cae889ee257bea8c86f21b13095a0e8d7e0c5 [INFO] running `Command { std: "docker" "start" "-a" "3add15982e13c852ddc5032a028cae889ee257bea8c86f21b13095a0e8d7e0c5", kill_on_drop: false }` [INFO] [stderr] Compiling serde v1.0.203 [INFO] [stderr] Compiling memchr v2.7.4 [INFO] [stderr] Compiling regex-syntax v0.8.4 [INFO] [stderr] Compiling log v0.4.21 [INFO] [stderr] Compiling tracing-core v0.1.32 [INFO] [stderr] Compiling syn v1.0.109 [INFO] [stderr] Compiling regex-syntax v0.6.29 [INFO] [stderr] Compiling serde_json v1.0.117 [INFO] [stderr] Compiling lazy_static v1.5.0 [INFO] [stderr] Compiling overload v0.1.1 [INFO] [stderr] Compiling thread_local v1.1.8 [INFO] [stderr] Compiling getrandom v0.2.15 [INFO] [stderr] Compiling diff v0.1.13 [INFO] [stderr] Compiling itoa v1.0.11 [INFO] [stderr] Compiling ryu v1.0.18 [INFO] [stderr] Compiling yansi v0.5.1 [INFO] [stderr] Compiling rand_core v0.6.4 [INFO] [stderr] Compiling sharded-slab v0.1.7 [INFO] [stderr] Compiling nu-ansi-term v0.46.0 [INFO] [stderr] Compiling rand v0.8.5 [INFO] [stderr] Compiling smallvec v1.13.2 [INFO] [stderr] Compiling simple_test_case v1.2.0 [INFO] [stderr] Compiling pretty_assertions v1.4.0 [INFO] [stderr] Compiling simple_txtar v1.1.0 [INFO] [stderr] Compiling tracing v0.1.40 [INFO] [stderr] Compiling tracing-log v0.2.0 [INFO] [stderr] Compiling aho-corasick v1.1.3 [INFO] [stderr] Compiling regex-automata v0.4.7 [INFO] [stderr] Compiling regex-automata v0.1.10 [INFO] [stderr] Compiling matchers v0.1.0 [INFO] [stderr] Compiling bitflags v2.5.0 [INFO] [stderr] Compiling rustix v0.38.34 [INFO] [stderr] Compiling nix v0.29.0 [INFO] [stderr] Compiling quickcheck_macros v1.0.0 [INFO] [stderr] Compiling regex v1.10.5 [INFO] [stderr] Compiling env_logger v0.8.4 [INFO] [stderr] Compiling tracing-subscriber v0.3.18 [INFO] [stderr] Compiling quickcheck v1.0.3 [INFO] [stderr] Compiling x11rb v0.13.1 [INFO] [stderr] Compiling penrose v0.3.6 (/opt/rustwide/workdir) [INFO] [stdout] warning: missing documentation for an associated function [INFO] [stdout] --> src/pure/stack_set.rs:1453:9 [INFO] [stdout] | [INFO] [stdout] 1453 | pub fn try_from_arbitrary_vec(mut up: Vec, g: &mut Gen) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: the lint level is defined here [INFO] [stdout] --> src/lib.rs:54:5 [INFO] [stdout] | [INFO] [stdout] 54 | missing_docs, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> src/pure/stack_set.rs:1468:9 [INFO] [stdout] | [INFO] [stdout] 1468 | pub fn minimal_unknown_client(&self) -> Xid { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> src/pure/stack_set.rs:1478:9 [INFO] [stdout] | [INFO] [stdout] 1478 | pub fn first_hidden_tag(&self) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> src/pure/stack_set.rs:1482:9 [INFO] [stdout] | [INFO] [stdout] 1482 | pub fn last_tag(&self) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> src/pure/stack_set.rs:1490:9 [INFO] [stdout] | [INFO] [stdout] 1490 | pub fn last_visible_client(&self) -> Option<&Xid> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> src/x/mock.rs:23:5 [INFO] [stdout] | [INFO] [stdout] 23 | fn mock_root(&self) -> Xid { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> src/x/mock.rs:27:5 [INFO] [stdout] | [INFO] [stdout] 27 | fn mock_screen_details(&self) -> Result> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> src/x/mock.rs:31:5 [INFO] [stdout] | [INFO] [stdout] 31 | fn mock_cursor_position(&self) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> src/x/mock.rs:35:5 [INFO] [stdout] | [INFO] [stdout] 35 | fn mock_grab(&self, key_codes: &[KeyCode], mouse_states: &[MouseState]) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> src/x/mock.rs:39:5 [INFO] [stdout] | [INFO] [stdout] 39 | fn mock_next_event(&self) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> src/x/mock.rs:43:5 [INFO] [stdout] | [INFO] [stdout] 43 | fn mock_flush(&self) {} [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> src/x/mock.rs:45:5 [INFO] [stdout] | [INFO] [stdout] 45 | fn mock_intern_atom(&self, atom: &str) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> src/x/mock.rs:49:5 [INFO] [stdout] | [INFO] [stdout] 49 | fn mock_atom_name(&self, xid: Xid) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> src/x/mock.rs:53:5 [INFO] [stdout] | [INFO] [stdout] 53 | fn mock_client_geometry(&self, client: Xid) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> src/x/mock.rs:57:5 [INFO] [stdout] | [INFO] [stdout] 57 | fn mock_existing_clients(&self) -> Result> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> src/x/mock.rs:61:5 [INFO] [stdout] | [INFO] [stdout] 61 | fn mock_map(&self, client: Xid) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> src/x/mock.rs:65:5 [INFO] [stdout] | [INFO] [stdout] 65 | fn mock_unmap(&self, client: Xid) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> src/x/mock.rs:69:5 [INFO] [stdout] | [INFO] [stdout] 69 | fn mock_kill(&self, client: Xid) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> src/x/mock.rs:73:5 [INFO] [stdout] | [INFO] [stdout] 73 | fn mock_focus(&self, client: Xid) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> src/x/mock.rs:77:5 [INFO] [stdout] | [INFO] [stdout] 77 | fn mock_get_prop(&self, client: Xid, prop_name: &str) -> Result> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> src/x/mock.rs:81:5 [INFO] [stdout] | [INFO] [stdout] 81 | fn mock_list_props(&self, client: Xid) -> Result> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> src/x/mock.rs:85:5 [INFO] [stdout] | [INFO] [stdout] 85 | fn mock_get_wm_state(&self, client: Xid) -> Result> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> src/x/mock.rs:89:5 [INFO] [stdout] | [INFO] [stdout] 89 | fn mock_get_window_attributes(&self, client: Xid) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> src/x/mock.rs:93:5 [INFO] [stdout] | [INFO] [stdout] 93 | fn mock_set_wm_state(&self, client: Xid, wm_state: WmState) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> src/x/mock.rs:97:5 [INFO] [stdout] | [INFO] [stdout] 97 | fn mock_set_prop(&self, client: Xid, name: &str, val: Prop) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> src/x/mock.rs:101:5 [INFO] [stdout] | [INFO] [stdout] 101 | fn mock_delete_prop(&self, client: Xid, prop_name: &str) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> src/x/mock.rs:105:5 [INFO] [stdout] | [INFO] [stdout] 105 | fn mock_set_client_attributes(&self, client: Xid, attrs: &[ClientAttr]) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> src/x/mock.rs:109:5 [INFO] [stdout] | [INFO] [stdout] 109 | fn mock_set_client_config(&self, client: Xid, data: &[ClientConfig]) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> src/x/mock.rs:113:5 [INFO] [stdout] | [INFO] [stdout] 113 | fn mock_send_client_message(&self, msg: ClientMessage) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> src/x/mock.rs:117:5 [INFO] [stdout] | [INFO] [stdout] 117 | fn mock_warp_pointer(&self, id: Xid, x: i16, y: i16) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 19.36s [INFO] running `Command { std: "docker" "inspect" "3add15982e13c852ddc5032a028cae889ee257bea8c86f21b13095a0e8d7e0c5", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "3add15982e13c852ddc5032a028cae889ee257bea8c86f21b13095a0e8d7e0c5", kill_on_drop: false }` [INFO] [stdout] 3add15982e13c852ddc5032a028cae889ee257bea8c86f21b13095a0e8d7e0c5 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/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" "RUSTDOCFLAGS=--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:b0b074c097205a61b89e8ad263052f976b2b332c4dc5f02aef1fe52501660d6e" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2025-04-13" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] 7db8d8610f527bd67ce3fb7c8935c6908bebe26ecb41049adb2a1936e658ba91 [INFO] running `Command { std: "docker" "start" "-a" "7db8d8610f527bd67ce3fb7c8935c6908bebe26ecb41049adb2a1936e658ba91", kill_on_drop: false }` [INFO] [stderr] warning: missing documentation for an associated function [INFO] [stderr] --> src/pure/stack_set.rs:1453:9 [INFO] [stderr] | [INFO] [stderr] 1453 | pub fn try_from_arbitrary_vec(mut up: Vec, g: &mut Gen) -> Option { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: the lint level is defined here [INFO] [stderr] --> src/lib.rs:54:5 [INFO] [stderr] | [INFO] [stderr] 54 | missing_docs, [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: missing documentation for a method [INFO] [stderr] --> src/pure/stack_set.rs:1468:9 [INFO] [stderr] | [INFO] [stderr] 1468 | pub fn minimal_unknown_client(&self) -> Xid { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: missing documentation for a method [INFO] [stderr] --> src/pure/stack_set.rs:1478:9 [INFO] [stderr] | [INFO] [stderr] 1478 | pub fn first_hidden_tag(&self) -> Option { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: missing documentation for a method [INFO] [stderr] --> src/pure/stack_set.rs:1482:9 [INFO] [stderr] | [INFO] [stderr] 1482 | pub fn last_tag(&self) -> String { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: missing documentation for a method [INFO] [stderr] --> src/pure/stack_set.rs:1490:9 [INFO] [stderr] | [INFO] [stderr] 1490 | pub fn last_visible_client(&self) -> Option<&Xid> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: missing documentation for a method [INFO] [stderr] --> src/x/mock.rs:23:5 [INFO] [stderr] | [INFO] [stderr] 23 | fn mock_root(&self) -> Xid { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: missing documentation for a method [INFO] [stderr] --> src/x/mock.rs:27:5 [INFO] [stderr] | [INFO] [stderr] 27 | fn mock_screen_details(&self) -> Result> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: missing documentation for a method [INFO] [stderr] --> src/x/mock.rs:31:5 [INFO] [stderr] | [INFO] [stderr] 31 | fn mock_cursor_position(&self) -> Result { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: missing documentation for a method [INFO] [stderr] --> src/x/mock.rs:35:5 [INFO] [stderr] | [INFO] [stderr] 35 | fn mock_grab(&self, key_codes: &[KeyCode], mouse_states: &[MouseState]) -> Result<()> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: missing documentation for a method [INFO] [stderr] --> src/x/mock.rs:39:5 [INFO] [stderr] | [INFO] [stderr] 39 | fn mock_next_event(&self) -> Result { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: missing documentation for a method [INFO] [stderr] --> src/x/mock.rs:43:5 [INFO] [stderr] | [INFO] [stderr] 43 | fn mock_flush(&self) {} [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: missing documentation for a method [INFO] [stderr] --> src/x/mock.rs:45:5 [INFO] [stderr] | [INFO] [stderr] 45 | fn mock_intern_atom(&self, atom: &str) -> Result { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: missing documentation for a method [INFO] [stderr] --> src/x/mock.rs:49:5 [INFO] [stderr] | [INFO] [stderr] 49 | fn mock_atom_name(&self, xid: Xid) -> Result { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: missing documentation for a method [INFO] [stderr] --> src/x/mock.rs:53:5 [INFO] [stderr] | [INFO] [stderr] 53 | fn mock_client_geometry(&self, client: Xid) -> Result { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: missing documentation for a method [INFO] [stderr] --> src/x/mock.rs:57:5 [INFO] [stderr] | [INFO] [stderr] 57 | fn mock_existing_clients(&self) -> Result> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: missing documentation for a method [INFO] [stderr] --> src/x/mock.rs:61:5 [INFO] [stderr] | [INFO] [stderr] 61 | fn mock_map(&self, client: Xid) -> Result<()> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: missing documentation for a method [INFO] [stderr] --> src/x/mock.rs:65:5 [INFO] [stderr] | [INFO] [stderr] 65 | fn mock_unmap(&self, client: Xid) -> Result<()> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: missing documentation for a method [INFO] [stderr] --> src/x/mock.rs:69:5 [INFO] [stderr] | [INFO] [stderr] 69 | fn mock_kill(&self, client: Xid) -> Result<()> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: missing documentation for a method [INFO] [stderr] --> src/x/mock.rs:73:5 [INFO] [stderr] | [INFO] [stderr] 73 | fn mock_focus(&self, client: Xid) -> Result<()> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: missing documentation for a method [INFO] [stderr] --> src/x/mock.rs:77:5 [INFO] [stderr] | [INFO] [stderr] 77 | fn mock_get_prop(&self, client: Xid, prop_name: &str) -> Result> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: missing documentation for a method [INFO] [stderr] --> src/x/mock.rs:81:5 [INFO] [stderr] | [INFO] [stderr] 81 | fn mock_list_props(&self, client: Xid) -> Result> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: missing documentation for a method [INFO] [stderr] --> src/x/mock.rs:85:5 [INFO] [stderr] | [INFO] [stderr] 85 | fn mock_get_wm_state(&self, client: Xid) -> Result> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: missing documentation for a method [INFO] [stderr] --> src/x/mock.rs:89:5 [INFO] [stderr] | [INFO] [stderr] 89 | fn mock_get_window_attributes(&self, client: Xid) -> Result { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: missing documentation for a method [INFO] [stderr] --> src/x/mock.rs:93:5 [INFO] [stderr] | [INFO] [stderr] 93 | fn mock_set_wm_state(&self, client: Xid, wm_state: WmState) -> Result<()> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: missing documentation for a method [INFO] [stderr] --> src/x/mock.rs:97:5 [INFO] [stderr] | [INFO] [stderr] 97 | fn mock_set_prop(&self, client: Xid, name: &str, val: Prop) -> Result<()> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: missing documentation for a method [INFO] [stderr] --> src/x/mock.rs:101:5 [INFO] [stderr] | [INFO] [stderr] 101 | fn mock_delete_prop(&self, client: Xid, prop_name: &str) -> Result<()> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: missing documentation for a method [INFO] [stderr] --> src/x/mock.rs:105:5 [INFO] [stderr] | [INFO] [stderr] 105 | fn mock_set_client_attributes(&self, client: Xid, attrs: &[ClientAttr]) -> Result<()> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: missing documentation for a method [INFO] [stderr] --> src/x/mock.rs:109:5 [INFO] [stderr] | [INFO] [stderr] 109 | fn mock_set_client_config(&self, client: Xid, data: &[ClientConfig]) -> Result<()> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: missing documentation for a method [INFO] [stderr] --> src/x/mock.rs:113:5 [INFO] [stderr] | [INFO] [stderr] 113 | fn mock_send_client_message(&self, msg: ClientMessage) -> Result<()> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: missing documentation for a method [INFO] [stderr] --> src/x/mock.rs:117:5 [INFO] [stderr] | [INFO] [stderr] 117 | fn mock_warp_pointer(&self, id: Xid, x: i16, y: i16) -> Result<()> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: `penrose` (lib test) generated 30 warnings [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.10s [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/penrose-1bf1fa362f867a5e) [INFO] [stdout] [INFO] [stdout] running 263 tests [INFO] [stdout] test builtin::layout::transformers::tests::reflect_horizontal::crossing_midpoint ... ok [INFO] [stdout] test builtin::layout::tests::message_handling ... ok [INFO] [stdout] test builtin::layout::quickcheck_tests::grid_doesnt_panic ... ok [INFO] [stdout] test builtin::layout::quickcheck_tests::main_and_stack::bottom_doesnt_panic ... ok [INFO] [stdout] test builtin::layout::transformers::tests::reflect_vertical::crossing_midpoint ... ok [INFO] [stdout] test builtin::layout::transformers::tests::reflect_horizontal::on_midpoint ... ok [INFO] [stdout] test builtin::layout::transformers::tests::reflect_vertical::fullscreen_is_idempotent ... ok [INFO] [stdout] test builtin::layout::transformers::tests::reflect_vertical::not_crossing_midpoint_below ... ok [INFO] [stdout] test builtin::layout::transformers::tests::reflect_vertical::not_crossing_midpoint_above ... ok [INFO] [stdout] test builtin::layout::transformers::tests::reflect_horizontal::not_crossing_midpoint_left ... ok [INFO] [stdout] test builtin::layout::quickcheck_tests::centered_main::horizontal_doesnt_panic ... ok [INFO] [stdout] test builtin::layout::transformers::tests::reflect_horizontal::fullscreen_is_idempotent ... ok [INFO] [stdout] test builtin::layout::transformers::tests::reflect_vertical::on_midpoint ... ok [INFO] [stdout] test core::tests::floating_clients_stay_on_their_assigned_screen ... ok [INFO] [stdout] test core::tests::newly_added_windows_are_below_floating ... ok [INFO] [stdout] test builtin::layout::quickcheck_tests::transformers::reflect_h_doesnt_panic ... ok [INFO] [stdout] test builtin::layout::quickcheck_tests::main_and_stack::bottom_mirrored_doesnt_panic ... ok [INFO] [stdout] test builtin::layout::quickcheck_tests::main_and_stack::side_doesnt_panic ... ok [INFO] [stdout] test core::tests::floating_client_positions_are_respected ... ok [INFO] [stdout] test core::tests::floating_clients_dont_break_insert_focus ... ok [INFO] [stdout] test builtin::layout::quickcheck_tests::monocle_doesnt_panic ... ok [INFO] [stdout] test builtin::layout::transformers::tests::reflect_horizontal::not_crossing_midpoint_right ... ok [INFO] [stdout] test core::tests::floating_windows_are_returned_last ... ok [INFO] [stdout] test builtin::layout::quickcheck_tests::main_and_stack::side_mirrored_doesnt_panic ... ok [INFO] [stdout] test builtin::layout::quickcheck_tests::centered_main::vertical_doesnt_panic ... ok [INFO] [stdout] test extensions::util::dmenu::tests::dmenu_rs_config_test ... ok [INFO] [stdout] test extensions::util::dmenu::tests::dmenu_suckless_config_test ... ok [INFO] [stdout] test pure::diff::tests::client_changed_position_works::unchanged ... ok [INFO] [stdout] test pure::geometry::tests::apply_as_rect_reposition ... ok [INFO] [stdout] test pure::geometry::tests::as_columns::awkward_even ... ok [INFO] [stdout] test pure::geometry::tests::as_columns::awkward_odd ... ok [INFO] [stdout] test pure::diff::tests::drag_workspace_generates_correct_diff ... ok [INFO] [stdout] test pure::geometry::tests::apply_as_rect_resize ... ok [INFO] [stdout] test pure::geometry::tests::as_columns::awkward_single ... ok [INFO] [stdout] test pure::geometry::tests::as_columns::simple_even ... ok [INFO] [stdout] test pure::geometry::tests::as_columns::simple_single ... ok [INFO] [stdout] test pure::geometry::tests::as_rows::awkward_even ... ok [INFO] [stdout] test pure::geometry::tests::as_rows::awkward_single ... ok [INFO] [stdout] test pure::geometry::tests::as_rows::simple_even ... ok [INFO] [stdout] test pure::geometry::tests::as_rows::simple_odd ... ok [INFO] [stdout] test pure::geometry::tests::as_rows::simple_single ... ok [INFO] [stdout] test pure::geometry::tests::centered_in::doesn_t_fit ... ok [INFO] [stdout] test pure::geometry::tests::centered_in::fits ... ok [INFO] [stdout] test pure::geometry::tests::centered_in::fits_but_not_contained ... ok [INFO] [stdout] test pure::geometry::tests::centered_in::fits_overlaping ... ok [INFO] [stdout] test pure::geometry::tests::contains_point::bottom_left ... ok [INFO] [stdout] test pure::geometry::tests::contains_point::bottom_right ... ok [INFO] [stdout] test pure::geometry::tests::contains_point::inside ... ok [INFO] [stdout] test pure::geometry::tests::contains_point::outside ... ok [INFO] [stdout] test pure::geometry::tests::contains_point::top_left ... ok [INFO] [stdout] test pure::geometry::tests::contains_point::top_right ... ok [INFO] [stdout] test pure::geometry::tests::contains_rect ... ok [INFO] [stdout] test pure::geometry::tests::corners_works ... ok [INFO] [stdout] test pure::geometry::tests::midpoint_works::even_both ... ok [INFO] [stdout] test pure::geometry::tests::midpoint_works::even_height ... ok [INFO] [stdout] test pure::geometry::tests::midpoint_works::odd_both ... ok [INFO] [stdout] test pure::geometry::tests::midpoint_works::even_width ... ok [INFO] [stdout] test pure::diff::tests::diff_of_unchanged_stackset_is_empty ... ok [INFO] [stdout] test pure::geometry::tests::relative_to_rect::fullscreen ... ok [INFO] [stdout] test pure::geometry::tests::relative_to_rect::subregion_with_different_xy ... ok [INFO] [stdout] test pure::geometry::tests::relative_to_rect::subregion_with_same_xy ... ok [INFO] [stdout] test pure::geometry::tests::reposition_works::clamp_at_0x0 ... ok [INFO] [stdout] test pure::geometry::tests::reposition_works::decrease_by_max ... ok [INFO] [stdout] test pure::geometry::tests::reposition_works::increase ... ok [INFO] [stdout] test pure::geometry::tests::resize_works::clamp_at_1x1 ... ok [INFO] [stdout] test pure::geometry::tests::resize_works::decrease ... ok [INFO] [stdout] test pure::geometry::tests::resize_works::decrease_by_max ... ok [INFO] [stdout] test pure::geometry::tests::resize_works::increase ... ok [INFO] [stdout] test pure::geometry::tests::scale_h::scale_down ... ok [INFO] [stdout] test pure::geometry::tests::scale_h::scale_up ... ok [INFO] [stdout] test pure::geometry::tests::scale_h::unchanged ... ok [INFO] [stdout] test pure::geometry::tests::scale_w::scale_down ... ok [INFO] [stdout] test pure::geometry::tests::scale_w::unchanged ... ok [INFO] [stdout] test pure::geometry::tests::as_columns::simple_odd ... ok [INFO] [stdout] test pure::diff::tests::client_changed_position_works::changed ... ok [INFO] [stdout] test pure::geometry::tests::reposition_works::decrease ... ok [INFO] [stdout] test pure::geometry::tests::as_rows::awkward_odd ... ok [INFO] [stdout] test pure::geometry::tests::relative_to_rect::subregion_with_different_xy_and_parent_not_at_origin ... ok [INFO] [stdout] test pure::geometry::tests::shrink_in_works::massive_border ... ok [INFO] [stdout] test pure::geometry::tests::shrink_in_works::small_border ... ok [INFO] [stdout] test pure::geometry::tests::split_at_height::at_height ... ok [INFO] [stdout] test builtin::layout::quickcheck_tests::transformers::reflect_v_doesnt_panic ... ok [INFO] [stdout] test pure::geometry::tests::split_at_height::offset_half_height ... ok [INFO] [stdout] test pure::geometry::tests::split_at_height::out_of_range ... ok [INFO] [stdout] test pure::geometry::tests::split_at_width::at_width ... ok [INFO] [stdout] test pure::geometry::tests::split_at_width::half_width ... ok [INFO] [stdout] test pure::geometry::tests::split_at_width::out_of_range ... ok [INFO] [stdout] test pure::geometry::tests::split_at_width::offset_half_width ... ok [INFO] [stdout] test pure::geometry::tests::scale_w::scale_up ... ok [INFO] [stdout] test extensions::layout::quickcheck_tests::tatami_doesnt_panic ... ok [INFO] [stdout] test pure::geometry::tests::shrink_in_works::border_half_of_height ... ok [INFO] [stdout] test pure::geometry::tests::split_at_height::half_height ... ok [INFO] [stdout] test pure::geometry::tests::shrink_in_works::border_half_of_width ... ok [INFO] [stdout] test pure::stack::quickcheck_tests::inverses::rev_down ... ok [INFO] [stdout] test extensions::layout::quickcheck_tests::fibonacci_doesnt_panic ... ok [INFO] [stdout] test pure::stack::quickcheck_tests::inverses::focus_down_up ... ok [INFO] [stdout] test pure::stack::quickcheck_tests::inverses::focus_up_down ... ok [INFO] [stdout] test pure::diff::quickcheck_tests::moving_client_to_hidden_workspace_sets_hidden_in_diff ... ok [INFO] [stdout] test pure::stack::quickcheck_tests::inverses::rotate_down_up ... ok [INFO] [stdout] test pure::stack::quickcheck_tests::inverses::rev_up ... ok [INFO] [stdout] test pure::stack::quickcheck_tests::focus_down_from_focus_up ... ok [INFO] [stdout] test pure::stack::tests::extract::moves_focus_to_end_of_up_if_down_is_empty ... ok [INFO] [stdout] test pure::stack::tests::extract::moves_focus_to_top_of_down_when_possible ... ok [INFO] [stdout] test pure::stack::quickcheck_tests::inverses::reverse ... ok [INFO] [stdout] test pure::stack::quickcheck_tests::inverses::swap_up_down ... ok [INFO] [stdout] test pure::stack::tests::extract::holds_focus_with_predicate ... ok [INFO] [stdout] test pure::stack::tests::filter::moves_focus_to_end_of_up_if_down_is_empty ... ok [INFO] [stdout] test pure::stack::tests::extract::no_elements_satisfy_the_predicate ... ok [INFO] [stdout] test pure::stack::tests::filter::returns_none_if_no_elements_satisfy_the_predicate ... ok [INFO] [stdout] test pure::stack::tests::focus_down::items_down_only ... ok [INFO] [stdout] test pure::stack::tests::filter::holds_focus_with_predicate ... ok [INFO] [stdout] test pure::stack::tests::focus_down::items_up_and_down ... ok [INFO] [stdout] test pure::stack::tests::focus_down::only_focused ... ok [INFO] [stdout] test pure::stack::tests::filter::moves_focus_to_top_of_down_when_possible ... ok [INFO] [stdout] test pure::stack::quickcheck_tests::remove_and_re_insert_is_idempotent ... ok [INFO] [stdout] test pure::stack::tests::flatten_is_correctly_ordered ... ok [INFO] [stdout] test pure::stack::tests::focus_element_by::current_focus ... ok [INFO] [stdout] test pure::stack::tests::focus_element_by::in_head ... ok [INFO] [stdout] test pure::stack::tests::focus_down::items_up_only ... ok [INFO] [stdout] test pure::stack::quickcheck_tests::rotate_up_from_swap_up ... ok [INFO] [stdout] test pure::stack::quickcheck_tests::swap_down_from_swap_up ... ok [INFO] [stdout] test pure::diff::quickcheck_tests::killing_focused_client_sets_killed_withdrawn_and_hidden_in_diff ... ok [INFO] [stdout] test pure::stack::tests::focus_head::items_up ... ok [INFO] [stdout] test pure::stack::tests::focus_head::items_up_and_down ... ok [INFO] [stdout] test pure::stack::tests::focus_up::items_down_only ... ok [INFO] [stdout] test pure::stack::tests::focus_element_by::in_head_multiple_matches ... ok [INFO] [stdout] test pure::stack::tests::focus_element_by::in_tail ... ok [INFO] [stdout] test pure::stack::tests::focus_element_by::not_found ... ok [INFO] [stdout] test pure::stack::tests::focus_element_by::not_found_with_current_focus_duplicated ... ok [INFO] [stdout] test pure::stack::tests::focus_up::items_up_only ... ok [INFO] [stdout] test pure::stack::tests::focus_up::items_up_and_down ... ok [INFO] [stdout] test pure::stack::tests::focus_head::items_down ... ok [INFO] [stdout] test pure::stack::tests::focus_up::only_focused ... ok [INFO] [stdout] test pure::stack::tests::focused ... ok [INFO] [stdout] test pure::stack::tests::focus_head::focus_only ... ok [INFO] [stdout] test pure::stack::quickcheck_tests::rotate_down_from_rotate_up ... ok [INFO] [stdout] test pure::stack::tests::head ... ok [INFO] [stdout] test pure::stack::tests::insert_at::before ... ok [INFO] [stdout] test pure::stack::tests::insert_at::focus ... ok [INFO] [stdout] test pure::stack::tests::insert_at::head ... ok [INFO] [stdout] test pure::stack::tests::into_iter_yields_all_elements_in_order ... ok [INFO] [stdout] test pure::stack::tests::iter_yields_all_elements_in_order ... ok [INFO] [stdout] test pure::stack::tests::iter_mut_yields_all_elements_in_order ... ok [INFO] [stdout] test pure::stack::tests::insert_at::after ... ok [INFO] [stdout] test pure::stack::quickcheck_tests::rotate_down_from_swap_up ... ok [INFO] [stdout] test pure::stack::tests::insert_at::tail ... ok [INFO] [stdout] test pure::stack::tests::rotate_focus_to_head::items_down ... ok [INFO] [stdout] test pure::stack::tests::rotate_focus_to_head::items_up ... ok [INFO] [stdout] test pure::stack::tests::rotate_focus_to_head::items_up_and_down ... ok [INFO] [stdout] test pure::stack::tests::reverse_holds_focus ... ok [INFO] [stdout] test pure::stack::tests::rotate_down::items_up_and_down ... ok [INFO] [stdout] test pure::stack::tests::rotate_down::only_focused ... ok [INFO] [stdout] test pure::stack::tests::rotate_up::items_down_only ... ok [INFO] [stdout] test pure::stack::quickcheck_tests::inverses::swap_down_up ... ok [INFO] [stdout] test pure::diff::quickcheck_tests::adding_a_client_is_new_in_diff ... ok [INFO] [stdout] test pure::stack::tests::rotate_focus_to_head::focus_only ... ok [INFO] [stdout] test pure::stack::tests::rotate_up::items_up_and_down ... ok [INFO] [stdout] test pure::stack::tests::map_preserves_structure ... ok [INFO] [stdout] test pure::stack::tests::rotate_up::items_up_only ... ok [INFO] [stdout] test pure::stack::tests::rotate_up::only_focused ... ok [INFO] [stdout] test pure::stack::tests::swap_down::items_up_and_down ... ok [INFO] [stdout] test pure::stack::tests::swap_down::only_focused ... ok [INFO] [stdout] test pure::stack::tests::swap_focus_and_head::focus_only ... ok [INFO] [stdout] test pure::stack::tests::swap_focus_and_head::items_down ... ok [INFO] [stdout] test pure::stack::tests::swap_up::items_down_only ... ok [INFO] [stdout] test pure::stack::tests::swap_up::items_up_only ... ok [INFO] [stdout] test pure::stack::tests::swap_up::only_focused ... ok [INFO] [stdout] test pure::stack::tests::swap_up_chained ... ok [INFO] [stdout] test pure::stack::tests::swap_down::items_down_only ... ok [INFO] [stdout] test pure::stack::tests::swap_focus_and_head::items_up ... ok [INFO] [stdout] test pure::stack::tests::swap_up::items_up_and_down ... ok [INFO] [stdout] test pure::stack::tests::try_from_iter_after_flatten_with_empty_up_is_inverse ... ok [INFO] [stdout] test pure::stack::tests::try_from_iter_is_correctly_ordered ... ok [INFO] [stdout] test pure::stack_set::tests::changing_workspace_retains_clients ... ok [INFO] [stdout] test pure::stack_set::tests::contains::current_stack_with_down ... ok [INFO] [stdout] test pure::stack::tests::swap_down::items_up_only ... ok [INFO] [stdout] test pure::stack_set::tests::contains::current_stack_with_one_element ... ok [INFO] [stdout] test pure::stack::quickcheck_tests::inverses::rotate_up_down ... ok [INFO] [stdout] test pure::stack::tests::rotate_down::items_down_only ... ok [INFO] [stdout] test pure::stack::tests::rotate_down::items_up_only ... ok [INFO] [stdout] test pure::stack::tests::swap_focus_and_head::items_up_and_down ... ok [INFO] [stdout] test pure::stack_set::tests::drag_workspace_focuses_new_screen::backward ... ok [INFO] [stdout] test pure::stack_set::tests::contains::current_stack_with_up_and_down ... ok [INFO] [stdout] test pure::stack_set::tests::contains::current_stack_with_up ... ok [INFO] [stdout] test pure::stack_set::tests::drag_workspace_focuses_new_screen::forward ... ok [INFO] [stdout] test pure::stack_set::tests::drag_workspace_maintains_previous_tag::single_screen_forward ... ok [INFO] [stdout] test pure::stack_set::tests::drag_workspace_maintains_previous_tag::two_screens_forward ... ok [INFO] [stdout] test pure::stack_set::tests::drag_workspace_maintains_previous_tag::two_screens_backward ... ok [INFO] [stdout] test pure::stack_set::tests::focus_next_prev_workspace_identifies_the_correct_tag::forward_non_wrapping ... ok [INFO] [stdout] test pure::stack_set::tests::floating_layer_clients_hold_focus ... ok [INFO] [stdout] test pure::stack_set::tests::focus_next_prev_workspace_identifies_the_correct_tag::backward_wrapping ... ok [INFO] [stdout] test pure::stack_set::tests::focus_next_prev_workspace_identifies_the_correct_tag::forward_wrapping ... ok [INFO] [stdout] test pure::stack_set::tests::focus_tag_sets_correct_visible_workspaces::visible_on_other_screen ... ok [INFO] [stdout] test pure::stack_set::tests::drag_workspace_maintains_previous_tag::single_screen_backward ... ok [INFO] [stdout] test pure::stack_set::tests::focus_tag_sets_correct_visible_workspaces::current_focused_workspace ... ok [INFO] [stdout] test pure::diff::quickcheck_tests::diff_of_unchanged_stackset_is_empty ... ok [INFO] [stdout] test pure::stack_set::tests::focus_next_prev_workspace_identifies_the_correct_tag::backward_non_wrapping ... ok [INFO] [stdout] test pure::stack_set::tests::insert::current_stack_with_one_element ... ok [INFO] [stdout] test pure::stack_set::tests::insert::current_stack_with_down ... ok [INFO] [stdout] test pure::stack_set::tests::iter_clients_returns_all_clients ... ok [INFO] [stdout] test pure::stack_set::tests::insert::current_stack_with_up_and_down ... ok [INFO] [stdout] test pure::stack_set::tests::insert::empty_current_stack ... ok [INFO] [stdout] test pure::stack_set::tests::focus_tag_sets_correct_visible_workspaces::currently_hidden ... ok [INFO] [stdout] test pure::stack_set::tests::insert::current_stack_with_up ... ok [INFO] [stdout] test pure::stack_set::tests::iter_screens_mut_returns_all_screens ... ok [INFO] [stdout] test pure::stack_set::tests::iter_screens_returns_all_screens ... ok [INFO] [stdout] test pure::stack_set::quickcheck_tests::focus_client_focused_the_enclosing_workspace ... ok [INFO] [stdout] test pure::stack_set::tests::iter_workspaces_mut_returns_all_workspaces ... ok [INFO] [stdout] test pure::stack_set::quickcheck_tests::focus_next_workspace_always_changes_workspace ... ok [INFO] [stdout] test pure::stack_set::tests::iter_workspaces_returns_all_workspaces ... ok [INFO] [stdout] test pure::stack_set::tests::move_client_to_tag::from_current_tag_to_current_tag ... ok [INFO] [stdout] test pure::stack_set::tests::move_client_to_tag::current_focus_to_current_tag ... ok [INFO] [stdout] test pure::stack_set::quickcheck_tests::focus_previous_workspace_always_changes_workspace ... ok [INFO] [stdout] test pure::stack_set::tests::move_client_to_tag::from_other_tag_to_empty_tag ... ok [INFO] [stdout] test pure::stack_set::tests::move_client_to_tag::from_other_tag_to_other_tag ... ok [INFO] [stdout] test pure::stack_set::tests::move_client_to_tag::from_other_tag_to_current_tag ... ok [INFO] [stdout] test pure::stack::tests::try_from_iter_of_empty_iterable_is_none ... ok [INFO] [stdout] test pure::stack_set::tests::move_client_to_tag::from_other_tag_to_same_tag ... ok [INFO] [stdout] test pure::diff::quickcheck_tests::focusing_new_workspace_hides_old_clients_and_tag_in_diff ... ok [INFO] [stdout] test pure::stack_set::tests::move_client_to_tag::from_current_tag_to_other_tag ... ok [INFO] [stdout] test pure::stack_set::tests::screen_change_focuses_new_screen::backward ... ok [INFO] [stdout] test pure::stack_set::tests::screen_change_sets_expected_previous_tag::single_screen_forward ... ok [INFO] [stdout] test pure::stack_set::tests::screen_change_sets_expected_previous_tag::two_screens_backward ... ok [INFO] [stdout] test pure::stack_set::tests::screen_change_sets_expected_previous_tag::two_screens_forward ... ok [INFO] [stdout] test pure::stack_set::tests::tag_for_client_works::in_down ... ok [INFO] [stdout] test pure::stack_set::tests::tag_for_screen_works::initial_focus ... ok [INFO] [stdout] test pure::stack_set::tests::tag_for_screen_works::other_screen ... ok [INFO] [stdout] test pure::stack_set::tests::toggle_floating_state::floating_visible ... ok [INFO] [stdout] test pure::stack_set::tests::toggle_floating_state::non_floating_client_not_visible ... ok [INFO] [stdout] test pure::stack_set::tests::tag_for_client_works::unknown ... ok [INFO] [stdout] test pure::stack_set::tests::update_screens::multiple_to_more_with_padding ... ok [INFO] [stdout] test pure::stack_set::tests::update_screens::multiple_to_same_count ... ok [INFO] [stdout] test pure::stack_set::tests::update_screens::multiple_to_single ... ok [INFO] [stdout] test pure::stack_set::tests::update_screens::single_to_single ... ok [INFO] [stdout] test pure::stack_set::tests::toggle_floating_state::non_floating_visible ... ok [INFO] [stdout] test pure::stack_set::tests::update_screens::single_to_multiple_no_padding ... ok [INFO] [stdout] test pure::stack_set::tests::toggle_floating_state::unknown_client ... ok [INFO] [stdout] test pure::stack_set::tests::update_screens::single_to_multiple_with_padding ... ok [INFO] [stdout] test pure::workspace::tests::check_workspace_invariants_works::multiple_duplicates_sorted ... ok [INFO] [stdout] test pure::stack_set::tests::update_screens_with_empty_vec_is_an_error ... ok [INFO] [stdout] test pure::workspace::tests::check_workspace_invariants_works::multiple_duplicates ... ok [INFO] [stdout] test pure::stack_set::tests::screen_change_sets_expected_previous_tag::single_screen_backward ... ok [INFO] [stdout] test pure::stack_set::tests::screen_change_focuses_new_screen::forward ... ok [INFO] [stdout] test pure::stack_set::tests::toggle_floating_state::floating_client_not_visible ... ok [INFO] [stdout] test pure::stack_set::tests::tag_for_client_works::focus ... ok [INFO] [stdout] test pure::stack_set::tests::tag_for_client_works::in_up ... ok [INFO] [stdout] test pure::stack_set::tests::tag_for_screen_works::out_of_bounds ... ok [INFO] [stdout] test pure::workspace::tests::check_workspace_invariants_works::no_duplicate_tags ... ok [INFO] [stdout] test pure::workspace::tests::check_workspace_invariants_works::single_duplicate ... ok [INFO] [stdout] test pure::workspace::tests::remove_returns_as_expected::known_in_stack ... ok [INFO] [stdout] test tests::as_rgb_hex_string_is_correct::black_works ... ok [INFO] [stdout] test tests::as_rgb_hex_string_is_correct::leading_0s_are_preserved ... ok [INFO] [stdout] test tests::as_rgb_hex_string_is_correct::r_g_and_b_are_correct ... ok [INFO] [stdout] test x::tests::manage_without_refresh_transient::fit_inside_parent ... ok [INFO] [stdout] test pure::workspace::tests::remove_returns_as_expected::empty_stack ... ok [INFO] [stdout] test x::tests::manage_without_refresh_transient::larger_than_parent ... ok [INFO] [stdout] test pure::workspace::tests::remove_returns_as_expected::unknown ... ok [INFO] [stdout] test x::tests::manage_without_refresh_transient::larger_than_parent_screen ... ok [INFO] [stdout] test pure::stack_set::quickcheck_tests::move_focused_to_tag ... ok [INFO] [stdout] test pure::workspace::tests::remove_returns_as_expected::known_focus_only ... ok [INFO] [stdout] test pure::diff::quickcheck_tests::removing_focused_client_sets_withdrawn_and_hidden_in_diff ... ok [INFO] [stdout] test pure::stack_set::quickcheck_tests::insert_pushes_to_current_stack ... ok [INFO] [stdout] test pure::stack_set::quickcheck_tests::move_client_to_tag ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 263 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.13s [INFO] [stdout] [INFO] [stderr] Doc-tests penrose [INFO] [stdout] [INFO] [stdout] running 18 tests [INFO] [stdout] test src/extensions/util/dmenu.rs - extensions::util::dmenu::DMenuConfig (line 38) - compile ... ok [INFO] [stdout] test src/extensions/util/dmenu.rs - extensions::util::dmenu::DMenu::build_menu (line 250) - compile ... ok [INFO] [stdout] test src/core/layout/transformers.rs - core::layout::transformers::simple_transformer (line 127) - compile ... ok [INFO] [stdout] test src/builtin/layout/messages.rs - builtin::layout::messages::impl_message (line 11) ... ok [INFO] [stdout] test src/core/layout/messages.rs - core::layout::messages::IntoMessage (line 28) ... ok [INFO] [stdout] test src/macros.rs - macros::custom_error (line 4) ... ok [INFO] [stdout] test src/pure/stack.rs - pure::stack::Stack::unravel (line 166) ... ok [INFO] [stdout] test src/pure/geometry.rs - pure::geometry::Rect::scale_w (line 238) ... ok [INFO] [stdout] test src/pure/stack.rs - pure::stack::stack (line 11) ... ok [INFO] [stdout] test src/macros.rs - macros::manage_hooks (line 59) ... ok [INFO] [stdout] test src/macros.rs - macros::map (line 24) ... ok [INFO] [stdout] test src/pure/geometry.rs - pure::geometry::Rect::resize (line 273) ... ok [INFO] [stdout] test src/pure/geometry.rs - pure::geometry::Rect::corners (line 169) ... ok [INFO] [stdout] test src/pure/geometry.rs - pure::geometry::Rect::midpoint (line 199) ... ok [INFO] [stdout] test src/pure/geometry.rs - pure::geometry::Rect::shrink_in (line 214) ... ok [INFO] [stdout] test src/pure/geometry.rs - pure::geometry::Rect::scale_h (line 253) ... ok [INFO] [stdout] test src/core/bindings.rs - core::bindings::click_handler (line 158) ... ok [INFO] [stdout] test src/pure/geometry.rs - pure::geometry::Rect::reposition (line 294) ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 18 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 2.96s [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "7db8d8610f527bd67ce3fb7c8935c6908bebe26ecb41049adb2a1936e658ba91", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "7db8d8610f527bd67ce3fb7c8935c6908bebe26ecb41049adb2a1936e658ba91", kill_on_drop: false }` [INFO] [stdout] 7db8d8610f527bd67ce3fb7c8935c6908bebe26ecb41049adb2a1936e658ba91