[INFO] fetching crate kql-language-tools 0.1.0... [INFO] testing kql-language-tools-0.1.0 against try#dec9417b8611e34e787a3e4c37686b5131f9e5c5 for pr-154210-1 [INFO] extracting crate kql-language-tools 0.1.0 into /workspace/builds/worker-7-tc2/source [INFO] started tweaking crates.io crate kql-language-tools 0.1.0 [INFO] removed 0 missing examples [INFO] finished tweaking crates.io crate kql-language-tools 0.1.0 [INFO] tweaked toml for crates.io crate kql-language-tools 0.1.0 written to /workspace/builds/worker-7-tc2/source/Cargo.toml [INFO] validating manifest of crates.io crate kql-language-tools 0.1.0 on toolchain dec9417b8611e34e787a3e4c37686b5131f9e5c5 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+dec9417b8611e34e787a3e4c37686b5131f9e5c5" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate crates.io crate kql-language-tools 0.1.0 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" "+dec9417b8611e34e787a3e4c37686b5131f9e5c5" "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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+dec9417b8611e34e787a3e4c37686b5131f9e5c5" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 27c9d520bf54c1015709b68644e14c16607d61ab3bdf8ff83b10a6b250f0b89e [INFO] running `Command { std: "docker" "start" "-a" "27c9d520bf54c1015709b68644e14c16607d61ab3bdf8ff83b10a6b250f0b89e", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "27c9d520bf54c1015709b68644e14c16607d61ab3bdf8ff83b10a6b250f0b89e", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "27c9d520bf54c1015709b68644e14c16607d61ab3bdf8ff83b10a6b250f0b89e", kill_on_drop: false }` [INFO] [stdout] 27c9d520bf54c1015709b68644e14c16607d61ab3bdf8ff83b10a6b250f0b89e [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=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+dec9417b8611e34e787a3e4c37686b5131f9e5c5" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 1181999ae5a063c52a2505b4fe545dd1f9d76e87d50bd29ff853e0b3f904be11 [INFO] running `Command { std: "docker" "start" "-a" "1181999ae5a063c52a2505b4fe545dd1f9d76e87d50bd29ff853e0b3f904be11", kill_on_drop: false }` [INFO] [stderr] Compiling kql-language-tools v0.1.0 (/opt/rustwide/workdir) [INFO] [stderr] Compiling libloading v0.8.9 [INFO] [stderr] Compiling syn v2.0.111 [INFO] [stderr] warning: kql-language-tools@0.1.0: Native library not found, attempting to build... [INFO] [stderr] warning: kql-language-tools@0.1.0: [INFO] [stderr] warning: kql-language-tools@0.1.0: ===================================================== [INFO] [stderr] warning: kql-language-tools@0.1.0: .NET SDK not found - cannot build native library [INFO] [stderr] warning: kql-language-tools@0.1.0: ===================================================== [INFO] [stderr] warning: kql-language-tools@0.1.0: [INFO] [stderr] warning: kql-language-tools@0.1.0: The kql-language-tools crate requires a native library built from .NET. [INFO] [stderr] warning: kql-language-tools@0.1.0: [INFO] [stderr] warning: kql-language-tools@0.1.0: Options: [INFO] [stderr] warning: kql-language-tools@0.1.0: [INFO] [stderr] warning: kql-language-tools@0.1.0: 1. Install .NET 8.0+ SDK and rebuild: [INFO] [stderr] warning: kql-language-tools@0.1.0: - macOS: brew install dotnet [INFO] [stderr] warning: kql-language-tools@0.1.0: - Linux: https://docs.microsoft.com/dotnet/core/install/linux [INFO] [stderr] warning: kql-language-tools@0.1.0: - Windows: https://dotnet.microsoft.com/download [INFO] [stderr] warning: kql-language-tools@0.1.0: [INFO] [stderr] warning: kql-language-tools@0.1.0: 2. Set KQL_LANGUAGE_TOOLS_PATH to a pre-built library: [INFO] [stderr] warning: kql-language-tools@0.1.0: export KQL_LANGUAGE_TOOLS_PATH=/path/to/KqlLanguageFfiNE.so [INFO] [stderr] warning: kql-language-tools@0.1.0: [INFO] [stderr] warning: kql-language-tools@0.1.0: 3. Download pre-built binaries from releases (if available) [INFO] [stderr] warning: kql-language-tools@0.1.0: [INFO] [stderr] warning: kql-language-tools@0.1.0: Target platform: linux-x64 (KqlLanguageFfiNE.so) [INFO] [stderr] warning: kql-language-tools@0.1.0: ===================================================== [INFO] [stderr] Compiling thiserror-impl v2.0.17 [INFO] [stderr] Compiling serde_derive v1.0.228 [INFO] [stderr] Compiling thiserror v2.0.17 [INFO] [stderr] Compiling serde v1.0.228 [INFO] [stdout] warning: implementation of an `unsafe` trait [INFO] [stdout] --> src/loader.rs:178:1 [INFO] [stdout] | [INFO] [stdout] 178 | unsafe impl Send for LoadedLibrary {} [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: requested on the command line with `-W unsafe-code` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: implementation of an `unsafe` trait [INFO] [stdout] --> src/loader.rs:186:1 [INFO] [stdout] | [INFO] [stdout] 186 | unsafe impl Sync for LoadedLibrary {} [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: usage of an `unsafe` block [INFO] [stdout] --> src/loader.rs:199:13 [INFO] [stdout] | [INFO] [stdout] 199 | unsafe { Library::new(path) }.map_err(|e| Error::library_load_failed(path, e))?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: usage of an `unsafe` block [INFO] [stdout] --> src/loader.rs:208:31 [INFO] [stdout] | [INFO] [stdout] 208 | let init: KqlInitFn = unsafe { [INFO] [stdout] | _______________________________^ [INFO] [stdout] 209 | | *library [INFO] [stdout] 210 | | .get(symbols::KQL_INIT.as_bytes()) [INFO] [stdout] 211 | | .map_err(|_| Error::SymbolNotFound { [INFO] [stdout] 212 | | symbol: symbols::KQL_INIT.to_string(), [INFO] [stdout] 213 | | })? [INFO] [stdout] 214 | | }; [INFO] [stdout] | |_________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: usage of an `unsafe` block [INFO] [stdout] --> src/loader.rs:216:37 [INFO] [stdout] | [INFO] [stdout] 216 | let cleanup: KqlCleanupFn = unsafe { [INFO] [stdout] | _____________________________________^ [INFO] [stdout] 217 | | *library [INFO] [stdout] 218 | | .get(symbols::KQL_CLEANUP.as_bytes()) [INFO] [stdout] 219 | | .map_err(|_| Error::SymbolNotFound { [INFO] [stdout] 220 | | symbol: symbols::KQL_CLEANUP.to_string(), [INFO] [stdout] 221 | | })? [INFO] [stdout] 222 | | }; [INFO] [stdout] | |_________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: usage of an `unsafe` block [INFO] [stdout] --> src/loader.rs:224:52 [INFO] [stdout] | [INFO] [stdout] 224 | let validate_syntax: KqlValidateSyntaxFn = unsafe { [INFO] [stdout] | ____________________________________________________^ [INFO] [stdout] 225 | | *library [INFO] [stdout] 226 | | .get(symbols::KQL_VALIDATE_SYNTAX.as_bytes()) [INFO] [stdout] 227 | | .map_err(|_| Error::SymbolNotFound { [INFO] [stdout] 228 | | symbol: symbols::KQL_VALIDATE_SYNTAX.to_string(), [INFO] [stdout] 229 | | })? [INFO] [stdout] 230 | | }; [INFO] [stdout] | |_________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: usage of an `unsafe` block [INFO] [stdout] --> src/loader.rs:232:49 [INFO] [stdout] | [INFO] [stdout] 232 | let get_last_error: KqlGetLastErrorFn = unsafe { [INFO] [stdout] | _________________________________________________^ [INFO] [stdout] 233 | | *library [INFO] [stdout] 234 | | .get(symbols::KQL_GET_LAST_ERROR.as_bytes()) [INFO] [stdout] 235 | | .map_err(|_| Error::SymbolNotFound { [INFO] [stdout] 236 | | symbol: symbols::KQL_GET_LAST_ERROR.to_string(), [INFO] [stdout] 237 | | })? [INFO] [stdout] 238 | | }; [INFO] [stdout] | |_________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: usage of an `unsafe` block [INFO] [stdout] --> src/loader.rs:241:69 [INFO] [stdout] | [INFO] [stdout] 241 | let validate_with_schema: Option = unsafe { [INFO] [stdout] | _____________________________________________________________________^ [INFO] [stdout] 242 | | library [INFO] [stdout] 243 | | .get(symbols::KQL_VALIDATE_WITH_SCHEMA.as_bytes()) [INFO] [stdout] 244 | | .ok() [INFO] [stdout] 245 | | .map(|s| *s) [INFO] [stdout] 246 | | }; [INFO] [stdout] | |_________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: usage of an `unsafe` block [INFO] [stdout] --> src/loader.rs:248:60 [INFO] [stdout] | [INFO] [stdout] 248 | let get_completions: Option = unsafe { [INFO] [stdout] | ____________________________________________________________^ [INFO] [stdout] 249 | | library [INFO] [stdout] 250 | | .get(symbols::KQL_GET_COMPLETIONS.as_bytes()) [INFO] [stdout] 251 | | .ok() [INFO] [stdout] 252 | | .map(|s| *s) [INFO] [stdout] 253 | | }; [INFO] [stdout] | |_________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: usage of an `unsafe` block [INFO] [stdout] --> src/loader.rs:255:68 [INFO] [stdout] | [INFO] [stdout] 255 | let get_classifications: Option = unsafe { [INFO] [stdout] | ____________________________________________________________________^ [INFO] [stdout] 256 | | library [INFO] [stdout] 257 | | .get(symbols::KQL_GET_CLASSIFICATIONS.as_bytes()) [INFO] [stdout] 258 | | .ok() [INFO] [stdout] 259 | | .map(|s| *s) [INFO] [stdout] 260 | | }; [INFO] [stdout] | |_________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: usage of an `unsafe` block [INFO] [stdout] --> src/loader.rs:303:9 [INFO] [stdout] | [INFO] [stdout] 303 | unsafe { (self.cleanup)() }; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: usage of an `unsafe` block [INFO] [stdout] --> src/loader.rs:413:22 [INFO] [stdout] | [INFO] [stdout] 413 | let result = unsafe { (lib.init)() }; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: usage of an `unsafe` block [INFO] [stdout] --> src/loader.rs:419:17 [INFO] [stdout] | [INFO] [stdout] 419 | unsafe { (lib.get_last_error)(error_buf.as_mut_ptr(), error_buf.len() as i32) }; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: usage of an `unsafe` block [INFO] [stdout] --> src/validator.rs:94:13 [INFO] [stdout] | [INFO] [stdout] 94 | / unsafe { [INFO] [stdout] 95 | | (self.lib.validate_syntax)( [INFO] [stdout] 96 | | query_bytes.as_ptr(), [INFO] [stdout] 97 | | query_len, [INFO] [stdout] ... | [INFO] [stdout] 101 | | } [INFO] [stdout] | |_____________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: usage of an `unsafe` block [INFO] [stdout] --> src/validator.rs:152:13 [INFO] [stdout] | [INFO] [stdout] 152 | / unsafe { [INFO] [stdout] 153 | | validate_fn( [INFO] [stdout] 154 | | query_bytes.as_ptr(), [INFO] [stdout] 155 | | query_len, [INFO] [stdout] ... | [INFO] [stdout] 161 | | } [INFO] [stdout] | |_____________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: usage of an `unsafe` block [INFO] [stdout] --> src/validator.rs:218:13 [INFO] [stdout] | [INFO] [stdout] 218 | / unsafe { [INFO] [stdout] 219 | | classify_fn( [INFO] [stdout] 220 | | query_bytes.as_ptr(), [INFO] [stdout] 221 | | query_len, [INFO] [stdout] ... | [INFO] [stdout] 225 | | } [INFO] [stdout] | |_____________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: usage of an `unsafe` block [INFO] [stdout] --> src/validator.rs:272:13 [INFO] [stdout] | [INFO] [stdout] 272 | / unsafe { [INFO] [stdout] 273 | | let (schema_ptr, schema_len) = match &schema_json { [INFO] [stdout] 274 | | Some(json) => (json.as_ptr(), json.len() as c_int), [INFO] [stdout] 275 | | None => (std::ptr::null(), 0), [INFO] [stdout] ... | [INFO] [stdout] 287 | | } [INFO] [stdout] | |_____________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: usage of an `unsafe` block [INFO] [stdout] --> src/validator.rs:402:13 [INFO] [stdout] | [INFO] [stdout] 402 | unsafe { (self.lib.get_last_error)(buffer.as_mut_ptr(), buffer.len() as c_int) }; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 7.97s [INFO] running `Command { std: "docker" "inspect" "1181999ae5a063c52a2505b4fe545dd1f9d76e87d50bd29ff853e0b3f904be11", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "1181999ae5a063c52a2505b4fe545dd1f9d76e87d50bd29ff853e0b3f904be11", kill_on_drop: false }` [INFO] [stdout] 1181999ae5a063c52a2505b4fe545dd1f9d76e87d50bd29ff853e0b3f904be11 [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=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+dec9417b8611e34e787a3e4c37686b5131f9e5c5" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] d62dc625245132c643828af14a1192ed65b9ec55505b459c9401b0d8efa92bc2 [INFO] running `Command { std: "docker" "start" "-a" "d62dc625245132c643828af14a1192ed65b9ec55505b459c9401b0d8efa92bc2", kill_on_drop: false }` [INFO] [stderr] Compiling regex-syntax v0.8.8 [INFO] [stderr] Compiling aho-corasick v1.1.4 [INFO] [stderr] Compiling jiff v0.2.16 [INFO] [stderr] warning: kql-language-tools@0.1.0: Native library not found, attempting to build... [INFO] [stderr] warning: kql-language-tools@0.1.0: [INFO] [stderr] warning: kql-language-tools@0.1.0: ===================================================== [INFO] [stderr] warning: kql-language-tools@0.1.0: .NET SDK not found - cannot build native library [INFO] [stderr] warning: kql-language-tools@0.1.0: ===================================================== [INFO] [stderr] warning: kql-language-tools@0.1.0: [INFO] [stderr] warning: kql-language-tools@0.1.0: The kql-language-tools crate requires a native library built from .NET. [INFO] [stderr] warning: kql-language-tools@0.1.0: [INFO] [stderr] warning: kql-language-tools@0.1.0: Options: [INFO] [stderr] warning: kql-language-tools@0.1.0: [INFO] [stderr] warning: kql-language-tools@0.1.0: 1. Install .NET 8.0+ SDK and rebuild: [INFO] [stderr] warning: kql-language-tools@0.1.0: - macOS: brew install dotnet [INFO] [stderr] warning: kql-language-tools@0.1.0: - Linux: https://docs.microsoft.com/dotnet/core/install/linux [INFO] [stderr] warning: kql-language-tools@0.1.0: - Windows: https://dotnet.microsoft.com/download [INFO] [stderr] warning: kql-language-tools@0.1.0: [INFO] [stderr] warning: kql-language-tools@0.1.0: 2. Set KQL_LANGUAGE_TOOLS_PATH to a pre-built library: [INFO] [stderr] warning: kql-language-tools@0.1.0: export KQL_LANGUAGE_TOOLS_PATH=/path/to/KqlLanguageFfiNE.so [INFO] [stderr] warning: kql-language-tools@0.1.0: [INFO] [stderr] warning: kql-language-tools@0.1.0: 3. Download pre-built binaries from releases (if available) [INFO] [stderr] warning: kql-language-tools@0.1.0: [INFO] [stderr] warning: kql-language-tools@0.1.0: Target platform: linux-x64 (KqlLanguageFfiNE.so) [INFO] [stderr] warning: kql-language-tools@0.1.0: ===================================================== [INFO] [stderr] Compiling anstream v0.6.21 [INFO] [stderr] Compiling kql-language-tools v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: implementation of an `unsafe` trait [INFO] [stdout] --> src/loader.rs:178:1 [INFO] [stdout] | [INFO] [stdout] 178 | unsafe impl Send for LoadedLibrary {} [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: requested on the command line with `-W unsafe-code` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: implementation of an `unsafe` trait [INFO] [stdout] --> src/loader.rs:186:1 [INFO] [stdout] | [INFO] [stdout] 186 | unsafe impl Sync for LoadedLibrary {} [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: usage of an `unsafe` block [INFO] [stdout] --> src/loader.rs:199:13 [INFO] [stdout] | [INFO] [stdout] 199 | unsafe { Library::new(path) }.map_err(|e| Error::library_load_failed(path, e))?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: usage of an `unsafe` block [INFO] [stdout] --> src/loader.rs:208:31 [INFO] [stdout] | [INFO] [stdout] 208 | let init: KqlInitFn = unsafe { [INFO] [stdout] | _______________________________^ [INFO] [stdout] 209 | | *library [INFO] [stdout] 210 | | .get(symbols::KQL_INIT.as_bytes()) [INFO] [stdout] 211 | | .map_err(|_| Error::SymbolNotFound { [INFO] [stdout] 212 | | symbol: symbols::KQL_INIT.to_string(), [INFO] [stdout] 213 | | })? [INFO] [stdout] 214 | | }; [INFO] [stdout] | |_________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: usage of an `unsafe` block [INFO] [stdout] --> src/loader.rs:216:37 [INFO] [stdout] | [INFO] [stdout] 216 | let cleanup: KqlCleanupFn = unsafe { [INFO] [stdout] | _____________________________________^ [INFO] [stdout] 217 | | *library [INFO] [stdout] 218 | | .get(symbols::KQL_CLEANUP.as_bytes()) [INFO] [stdout] 219 | | .map_err(|_| Error::SymbolNotFound { [INFO] [stdout] 220 | | symbol: symbols::KQL_CLEANUP.to_string(), [INFO] [stdout] 221 | | })? [INFO] [stdout] 222 | | }; [INFO] [stdout] | |_________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: usage of an `unsafe` block [INFO] [stdout] --> src/loader.rs:224:52 [INFO] [stdout] | [INFO] [stdout] 224 | let validate_syntax: KqlValidateSyntaxFn = unsafe { [INFO] [stdout] | ____________________________________________________^ [INFO] [stdout] 225 | | *library [INFO] [stdout] 226 | | .get(symbols::KQL_VALIDATE_SYNTAX.as_bytes()) [INFO] [stdout] 227 | | .map_err(|_| Error::SymbolNotFound { [INFO] [stdout] 228 | | symbol: symbols::KQL_VALIDATE_SYNTAX.to_string(), [INFO] [stdout] 229 | | })? [INFO] [stdout] 230 | | }; [INFO] [stdout] | |_________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: usage of an `unsafe` block [INFO] [stdout] --> src/loader.rs:232:49 [INFO] [stdout] | [INFO] [stdout] 232 | let get_last_error: KqlGetLastErrorFn = unsafe { [INFO] [stdout] | _________________________________________________^ [INFO] [stdout] 233 | | *library [INFO] [stdout] 234 | | .get(symbols::KQL_GET_LAST_ERROR.as_bytes()) [INFO] [stdout] 235 | | .map_err(|_| Error::SymbolNotFound { [INFO] [stdout] 236 | | symbol: symbols::KQL_GET_LAST_ERROR.to_string(), [INFO] [stdout] 237 | | })? [INFO] [stdout] 238 | | }; [INFO] [stdout] | |_________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: usage of an `unsafe` block [INFO] [stdout] --> src/loader.rs:241:69 [INFO] [stdout] | [INFO] [stdout] 241 | let validate_with_schema: Option = unsafe { [INFO] [stdout] | _____________________________________________________________________^ [INFO] [stdout] 242 | | library [INFO] [stdout] 243 | | .get(symbols::KQL_VALIDATE_WITH_SCHEMA.as_bytes()) [INFO] [stdout] 244 | | .ok() [INFO] [stdout] 245 | | .map(|s| *s) [INFO] [stdout] 246 | | }; [INFO] [stdout] | |_________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: usage of an `unsafe` block [INFO] [stdout] --> src/loader.rs:248:60 [INFO] [stdout] | [INFO] [stdout] 248 | let get_completions: Option = unsafe { [INFO] [stdout] | ____________________________________________________________^ [INFO] [stdout] 249 | | library [INFO] [stdout] 250 | | .get(symbols::KQL_GET_COMPLETIONS.as_bytes()) [INFO] [stdout] 251 | | .ok() [INFO] [stdout] 252 | | .map(|s| *s) [INFO] [stdout] 253 | | }; [INFO] [stdout] | |_________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: usage of an `unsafe` block [INFO] [stdout] --> src/loader.rs:255:68 [INFO] [stdout] | [INFO] [stdout] 255 | let get_classifications: Option = unsafe { [INFO] [stdout] | ____________________________________________________________________^ [INFO] [stdout] 256 | | library [INFO] [stdout] 257 | | .get(symbols::KQL_GET_CLASSIFICATIONS.as_bytes()) [INFO] [stdout] 258 | | .ok() [INFO] [stdout] 259 | | .map(|s| *s) [INFO] [stdout] 260 | | }; [INFO] [stdout] | |_________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: usage of an `unsafe` block [INFO] [stdout] --> src/loader.rs:303:9 [INFO] [stdout] | [INFO] [stdout] 303 | unsafe { (self.cleanup)() }; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: usage of an `unsafe` block [INFO] [stdout] --> src/loader.rs:413:22 [INFO] [stdout] | [INFO] [stdout] 413 | let result = unsafe { (lib.init)() }; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: usage of an `unsafe` block [INFO] [stdout] --> src/loader.rs:419:17 [INFO] [stdout] | [INFO] [stdout] 419 | unsafe { (lib.get_last_error)(error_buf.as_mut_ptr(), error_buf.len() as i32) }; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: usage of an `unsafe` block [INFO] [stdout] --> src/validator.rs:94:13 [INFO] [stdout] | [INFO] [stdout] 94 | / unsafe { [INFO] [stdout] 95 | | (self.lib.validate_syntax)( [INFO] [stdout] 96 | | query_bytes.as_ptr(), [INFO] [stdout] 97 | | query_len, [INFO] [stdout] ... | [INFO] [stdout] 101 | | } [INFO] [stdout] | |_____________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: usage of an `unsafe` block [INFO] [stdout] --> src/validator.rs:152:13 [INFO] [stdout] | [INFO] [stdout] 152 | / unsafe { [INFO] [stdout] 153 | | validate_fn( [INFO] [stdout] 154 | | query_bytes.as_ptr(), [INFO] [stdout] 155 | | query_len, [INFO] [stdout] ... | [INFO] [stdout] 161 | | } [INFO] [stdout] | |_____________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: usage of an `unsafe` block [INFO] [stdout] --> src/validator.rs:218:13 [INFO] [stdout] | [INFO] [stdout] 218 | / unsafe { [INFO] [stdout] 219 | | classify_fn( [INFO] [stdout] 220 | | query_bytes.as_ptr(), [INFO] [stdout] 221 | | query_len, [INFO] [stdout] ... | [INFO] [stdout] 225 | | } [INFO] [stdout] | |_____________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: usage of an `unsafe` block [INFO] [stdout] --> src/validator.rs:272:13 [INFO] [stdout] | [INFO] [stdout] 272 | / unsafe { [INFO] [stdout] 273 | | let (schema_ptr, schema_len) = match &schema_json { [INFO] [stdout] 274 | | Some(json) => (json.as_ptr(), json.len() as c_int), [INFO] [stdout] 275 | | None => (std::ptr::null(), 0), [INFO] [stdout] ... | [INFO] [stdout] 287 | | } [INFO] [stdout] | |_____________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: usage of an `unsafe` block [INFO] [stdout] --> src/validator.rs:402:13 [INFO] [stdout] | [INFO] [stdout] 402 | unsafe { (self.lib.get_last_error)(buffer.as_mut_ptr(), buffer.len() as c_int) }; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Compiling regex-automata v0.4.13 [INFO] [stderr] Compiling regex v1.12.2 [INFO] [stderr] Compiling env_filter v0.1.4 [INFO] [stderr] Compiling env_logger v0.11.8 [INFO] [stdout] warning: implementation of an `unsafe` trait [INFO] [stdout] --> src/loader.rs:178:1 [INFO] [stdout] | [INFO] [stdout] 178 | unsafe impl Send for LoadedLibrary {} [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: requested on the command line with `-W unsafe-code` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: implementation of an `unsafe` trait [INFO] [stdout] --> src/loader.rs:186:1 [INFO] [stdout] | [INFO] [stdout] 186 | unsafe impl Sync for LoadedLibrary {} [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: usage of an `unsafe` block [INFO] [stdout] --> src/loader.rs:199:13 [INFO] [stdout] | [INFO] [stdout] 199 | unsafe { Library::new(path) }.map_err(|e| Error::library_load_failed(path, e))?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: usage of an `unsafe` block [INFO] [stdout] --> src/loader.rs:208:31 [INFO] [stdout] | [INFO] [stdout] 208 | let init: KqlInitFn = unsafe { [INFO] [stdout] | _______________________________^ [INFO] [stdout] 209 | | *library [INFO] [stdout] 210 | | .get(symbols::KQL_INIT.as_bytes()) [INFO] [stdout] 211 | | .map_err(|_| Error::SymbolNotFound { [INFO] [stdout] 212 | | symbol: symbols::KQL_INIT.to_string(), [INFO] [stdout] 213 | | })? [INFO] [stdout] 214 | | }; [INFO] [stdout] | |_________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: usage of an `unsafe` block [INFO] [stdout] --> src/loader.rs:216:37 [INFO] [stdout] | [INFO] [stdout] 216 | let cleanup: KqlCleanupFn = unsafe { [INFO] [stdout] | _____________________________________^ [INFO] [stdout] 217 | | *library [INFO] [stdout] 218 | | .get(symbols::KQL_CLEANUP.as_bytes()) [INFO] [stdout] 219 | | .map_err(|_| Error::SymbolNotFound { [INFO] [stdout] 220 | | symbol: symbols::KQL_CLEANUP.to_string(), [INFO] [stdout] 221 | | })? [INFO] [stdout] 222 | | }; [INFO] [stdout] | |_________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: usage of an `unsafe` block [INFO] [stdout] --> src/loader.rs:224:52 [INFO] [stdout] | [INFO] [stdout] 224 | let validate_syntax: KqlValidateSyntaxFn = unsafe { [INFO] [stdout] | ____________________________________________________^ [INFO] [stdout] 225 | | *library [INFO] [stdout] 226 | | .get(symbols::KQL_VALIDATE_SYNTAX.as_bytes()) [INFO] [stdout] 227 | | .map_err(|_| Error::SymbolNotFound { [INFO] [stdout] 228 | | symbol: symbols::KQL_VALIDATE_SYNTAX.to_string(), [INFO] [stdout] 229 | | })? [INFO] [stdout] 230 | | }; [INFO] [stdout] | |_________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: usage of an `unsafe` block [INFO] [stdout] --> src/loader.rs:232:49 [INFO] [stdout] | [INFO] [stdout] 232 | let get_last_error: KqlGetLastErrorFn = unsafe { [INFO] [stdout] | _________________________________________________^ [INFO] [stdout] 233 | | *library [INFO] [stdout] 234 | | .get(symbols::KQL_GET_LAST_ERROR.as_bytes()) [INFO] [stdout] 235 | | .map_err(|_| Error::SymbolNotFound { [INFO] [stdout] 236 | | symbol: symbols::KQL_GET_LAST_ERROR.to_string(), [INFO] [stdout] 237 | | })? [INFO] [stdout] 238 | | }; [INFO] [stdout] | |_________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: usage of an `unsafe` block [INFO] [stdout] --> src/loader.rs:241:69 [INFO] [stdout] | [INFO] [stdout] 241 | let validate_with_schema: Option = unsafe { [INFO] [stdout] | _____________________________________________________________________^ [INFO] [stdout] 242 | | library [INFO] [stdout] 243 | | .get(symbols::KQL_VALIDATE_WITH_SCHEMA.as_bytes()) [INFO] [stdout] 244 | | .ok() [INFO] [stdout] 245 | | .map(|s| *s) [INFO] [stdout] 246 | | }; [INFO] [stdout] | |_________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: usage of an `unsafe` block [INFO] [stdout] --> src/loader.rs:248:60 [INFO] [stdout] | [INFO] [stdout] 248 | let get_completions: Option = unsafe { [INFO] [stdout] | ____________________________________________________________^ [INFO] [stdout] 249 | | library [INFO] [stdout] 250 | | .get(symbols::KQL_GET_COMPLETIONS.as_bytes()) [INFO] [stdout] 251 | | .ok() [INFO] [stdout] 252 | | .map(|s| *s) [INFO] [stdout] 253 | | }; [INFO] [stdout] | |_________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: usage of an `unsafe` block [INFO] [stdout] --> src/loader.rs:255:68 [INFO] [stdout] | [INFO] [stdout] 255 | let get_classifications: Option = unsafe { [INFO] [stdout] | ____________________________________________________________________^ [INFO] [stdout] 256 | | library [INFO] [stdout] 257 | | .get(symbols::KQL_GET_CLASSIFICATIONS.as_bytes()) [INFO] [stdout] 258 | | .ok() [INFO] [stdout] 259 | | .map(|s| *s) [INFO] [stdout] 260 | | }; [INFO] [stdout] | |_________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: usage of an `unsafe` block [INFO] [stdout] --> src/loader.rs:303:9 [INFO] [stdout] | [INFO] [stdout] 303 | unsafe { (self.cleanup)() }; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: usage of an `unsafe` block [INFO] [stdout] --> src/loader.rs:413:22 [INFO] [stdout] | [INFO] [stdout] 413 | let result = unsafe { (lib.init)() }; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: usage of an `unsafe` block [INFO] [stdout] --> src/loader.rs:419:17 [INFO] [stdout] | [INFO] [stdout] 419 | unsafe { (lib.get_last_error)(error_buf.as_mut_ptr(), error_buf.len() as i32) }; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: usage of an `unsafe` block [INFO] [stdout] --> src/validator.rs:94:13 [INFO] [stdout] | [INFO] [stdout] 94 | / unsafe { [INFO] [stdout] 95 | | (self.lib.validate_syntax)( [INFO] [stdout] 96 | | query_bytes.as_ptr(), [INFO] [stdout] 97 | | query_len, [INFO] [stdout] ... | [INFO] [stdout] 101 | | } [INFO] [stdout] | |_____________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: usage of an `unsafe` block [INFO] [stdout] --> src/validator.rs:152:13 [INFO] [stdout] | [INFO] [stdout] 152 | / unsafe { [INFO] [stdout] 153 | | validate_fn( [INFO] [stdout] 154 | | query_bytes.as_ptr(), [INFO] [stdout] 155 | | query_len, [INFO] [stdout] ... | [INFO] [stdout] 161 | | } [INFO] [stdout] | |_____________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: usage of an `unsafe` block [INFO] [stdout] --> src/validator.rs:218:13 [INFO] [stdout] | [INFO] [stdout] 218 | / unsafe { [INFO] [stdout] 219 | | classify_fn( [INFO] [stdout] 220 | | query_bytes.as_ptr(), [INFO] [stdout] 221 | | query_len, [INFO] [stdout] ... | [INFO] [stdout] 225 | | } [INFO] [stdout] | |_____________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: usage of an `unsafe` block [INFO] [stdout] --> src/validator.rs:272:13 [INFO] [stdout] | [INFO] [stdout] 272 | / unsafe { [INFO] [stdout] 273 | | let (schema_ptr, schema_len) = match &schema_json { [INFO] [stdout] 274 | | Some(json) => (json.as_ptr(), json.len() as c_int), [INFO] [stdout] 275 | | None => (std::ptr::null(), 0), [INFO] [stdout] ... | [INFO] [stdout] 287 | | } [INFO] [stdout] | |_____________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: usage of an `unsafe` block [INFO] [stdout] --> src/validator.rs:402:13 [INFO] [stdout] | [INFO] [stdout] 402 | unsafe { (self.lib.get_last_error)(buffer.as_mut_ptr(), buffer.len() as c_int) }; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 12.62s [INFO] running `Command { std: "docker" "inspect" "d62dc625245132c643828af14a1192ed65b9ec55505b459c9401b0d8efa92bc2", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "d62dc625245132c643828af14a1192ed65b9ec55505b459c9401b0d8efa92bc2", kill_on_drop: false }` [INFO] [stdout] d62dc625245132c643828af14a1192ed65b9ec55505b459c9401b0d8efa92bc2 [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=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+dec9417b8611e34e787a3e4c37686b5131f9e5c5" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] 02490331a94ec4f0f12dd5ed2d5036ffec43c818e743dd2ee4ccb057360819f9 [INFO] running `Command { std: "docker" "start" "-a" "02490331a94ec4f0f12dd5ed2d5036ffec43c818e743dd2ee4ccb057360819f9", kill_on_drop: false }` [INFO] [stderr] warning: kql-language-tools@0.1.0: Native library not found, attempting to build... [INFO] [stderr] warning: kql-language-tools@0.1.0: [INFO] [stderr] warning: kql-language-tools@0.1.0: ===================================================== [INFO] [stderr] warning: kql-language-tools@0.1.0: .NET SDK not found - cannot build native library [INFO] [stderr] warning: kql-language-tools@0.1.0: ===================================================== [INFO] [stderr] warning: kql-language-tools@0.1.0: [INFO] [stderr] warning: kql-language-tools@0.1.0: The kql-language-tools crate requires a native library built from .NET. [INFO] [stderr] warning: kql-language-tools@0.1.0: [INFO] [stderr] warning: kql-language-tools@0.1.0: Options: [INFO] [stderr] warning: kql-language-tools@0.1.0: [INFO] [stderr] warning: kql-language-tools@0.1.0: 1. Install .NET 8.0+ SDK and rebuild: [INFO] [stderr] warning: kql-language-tools@0.1.0: - macOS: brew install dotnet [INFO] [stderr] warning: kql-language-tools@0.1.0: - Linux: https://docs.microsoft.com/dotnet/core/install/linux [INFO] [stderr] warning: kql-language-tools@0.1.0: - Windows: https://dotnet.microsoft.com/download [INFO] [stderr] warning: kql-language-tools@0.1.0: [INFO] [stderr] warning: kql-language-tools@0.1.0: 2. Set KQL_LANGUAGE_TOOLS_PATH to a pre-built library: [INFO] [stderr] warning: kql-language-tools@0.1.0: export KQL_LANGUAGE_TOOLS_PATH=/path/to/KqlLanguageFfiNE.so [INFO] [stderr] warning: kql-language-tools@0.1.0: [INFO] [stderr] warning: kql-language-tools@0.1.0: 3. Download pre-built binaries from releases (if available) [INFO] [stderr] warning: kql-language-tools@0.1.0: [INFO] [stderr] warning: kql-language-tools@0.1.0: Target platform: linux-x64 (KqlLanguageFfiNE.so) [INFO] [stderr] warning: kql-language-tools@0.1.0: ===================================================== [INFO] [stderr] warning: implementation of an `unsafe` trait [INFO] [stderr] --> src/loader.rs:178:1 [INFO] [stderr] | [INFO] [stderr] 178 | unsafe impl Send for LoadedLibrary {} [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: requested on the command line with `-W unsafe-code` [INFO] [stderr] [INFO] [stderr] warning: implementation of an `unsafe` trait [INFO] [stderr] --> src/loader.rs:186:1 [INFO] [stderr] | [INFO] [stderr] 186 | unsafe impl Sync for LoadedLibrary {} [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: usage of an `unsafe` block [INFO] [stderr] --> src/loader.rs:199:13 [INFO] [stderr] | [INFO] [stderr] 199 | unsafe { Library::new(path) }.map_err(|e| Error::library_load_failed(path, e))?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: usage of an `unsafe` block [INFO] [stderr] --> src/loader.rs:208:31 [INFO] [stderr] | [INFO] [stderr] 208 | let init: KqlInitFn = unsafe { [INFO] [stderr] | _______________________________^ [INFO] [stderr] 209 | | *library [INFO] [stderr] 210 | | .get(symbols::KQL_INIT.as_bytes()) [INFO] [stderr] 211 | | .map_err(|_| Error::SymbolNotFound { [INFO] [stderr] 212 | | symbol: symbols::KQL_INIT.to_string(), [INFO] [stderr] 213 | | })? [INFO] [stderr] 214 | | }; [INFO] [stderr] | |_________^ [INFO] [stderr] [INFO] [stderr] warning: usage of an `unsafe` block [INFO] [stderr] --> src/loader.rs:216:37 [INFO] [stderr] | [INFO] [stderr] 216 | let cleanup: KqlCleanupFn = unsafe { [INFO] [stderr] | _____________________________________^ [INFO] [stderr] 217 | | *library [INFO] [stderr] 218 | | .get(symbols::KQL_CLEANUP.as_bytes()) [INFO] [stderr] 219 | | .map_err(|_| Error::SymbolNotFound { [INFO] [stderr] 220 | | symbol: symbols::KQL_CLEANUP.to_string(), [INFO] [stderr] 221 | | })? [INFO] [stderr] 222 | | }; [INFO] [stderr] | |_________^ [INFO] [stderr] [INFO] [stderr] warning: usage of an `unsafe` block [INFO] [stderr] --> src/loader.rs:224:52 [INFO] [stderr] | [INFO] [stderr] 224 | let validate_syntax: KqlValidateSyntaxFn = unsafe { [INFO] [stderr] | ____________________________________________________^ [INFO] [stderr] 225 | | *library [INFO] [stderr] 226 | | .get(symbols::KQL_VALIDATE_SYNTAX.as_bytes()) [INFO] [stderr] 227 | | .map_err(|_| Error::SymbolNotFound { [INFO] [stderr] 228 | | symbol: symbols::KQL_VALIDATE_SYNTAX.to_string(), [INFO] [stderr] 229 | | })? [INFO] [stderr] 230 | | }; [INFO] [stderr] | |_________^ [INFO] [stderr] [INFO] [stderr] warning: usage of an `unsafe` block [INFO] [stderr] --> src/loader.rs:232:49 [INFO] [stderr] | [INFO] [stderr] 232 | let get_last_error: KqlGetLastErrorFn = unsafe { [INFO] [stderr] | _________________________________________________^ [INFO] [stderr] 233 | | *library [INFO] [stderr] 234 | | .get(symbols::KQL_GET_LAST_ERROR.as_bytes()) [INFO] [stderr] 235 | | .map_err(|_| Error::SymbolNotFound { [INFO] [stderr] 236 | | symbol: symbols::KQL_GET_LAST_ERROR.to_string(), [INFO] [stderr] 237 | | })? [INFO] [stderr] 238 | | }; [INFO] [stderr] | |_________^ [INFO] [stderr] [INFO] [stderr] warning: usage of an `unsafe` block [INFO] [stderr] --> src/loader.rs:241:69 [INFO] [stderr] | [INFO] [stderr] 241 | let validate_with_schema: Option = unsafe { [INFO] [stderr] | _____________________________________________________________________^ [INFO] [stderr] 242 | | library [INFO] [stderr] 243 | | .get(symbols::KQL_VALIDATE_WITH_SCHEMA.as_bytes()) [INFO] [stderr] 244 | | .ok() [INFO] [stderr] 245 | | .map(|s| *s) [INFO] [stderr] 246 | | }; [INFO] [stderr] | |_________^ [INFO] [stderr] [INFO] [stderr] warning: usage of an `unsafe` block [INFO] [stderr] --> src/loader.rs:248:60 [INFO] [stderr] | [INFO] [stderr] 248 | let get_completions: Option = unsafe { [INFO] [stderr] | ____________________________________________________________^ [INFO] [stderr] 249 | | library [INFO] [stderr] 250 | | .get(symbols::KQL_GET_COMPLETIONS.as_bytes()) [INFO] [stderr] 251 | | .ok() [INFO] [stderr] 252 | | .map(|s| *s) [INFO] [stderr] 253 | | }; [INFO] [stderr] | |_________^ [INFO] [stderr] [INFO] [stderr] warning: usage of an `unsafe` block [INFO] [stderr] --> src/loader.rs:255:68 [INFO] [stderr] | [INFO] [stderr] 255 | let get_classifications: Option = unsafe { [INFO] [stderr] | ____________________________________________________________________^ [INFO] [stderr] 256 | | library [INFO] [stderr] 257 | | .get(symbols::KQL_GET_CLASSIFICATIONS.as_bytes()) [INFO] [stderr] 258 | | .ok() [INFO] [stderr] 259 | | .map(|s| *s) [INFO] [stderr] 260 | | }; [INFO] [stderr] | |_________^ [INFO] [stderr] [INFO] [stderr] warning: usage of an `unsafe` block [INFO] [stderr] --> src/loader.rs:303:9 [INFO] [stderr] | [INFO] [stderr] 303 | unsafe { (self.cleanup)() }; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: usage of an `unsafe` block [INFO] [stderr] --> src/loader.rs:413:22 [INFO] [stderr] | [INFO] [stderr] 413 | let result = unsafe { (lib.init)() }; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: usage of an `unsafe` block [INFO] [stderr] --> src/loader.rs:419:17 [INFO] [stderr] | [INFO] [stderr] 419 | unsafe { (lib.get_last_error)(error_buf.as_mut_ptr(), error_buf.len() as i32) }; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: usage of an `unsafe` block [INFO] [stderr] --> src/validator.rs:94:13 [INFO] [stderr] | [INFO] [stderr] 94 | / unsafe { [INFO] [stderr] 95 | | (self.lib.validate_syntax)( [INFO] [stderr] 96 | | query_bytes.as_ptr(), [INFO] [stderr] 97 | | query_len, [INFO] [stderr] ... | [INFO] [stderr] 101 | | } [INFO] [stderr] | |_____________^ [INFO] [stderr] [INFO] [stderr] warning: usage of an `unsafe` block [INFO] [stderr] --> src/validator.rs:152:13 [INFO] [stderr] | [INFO] [stderr] 152 | / unsafe { [INFO] [stderr] 153 | | validate_fn( [INFO] [stderr] 154 | | query_bytes.as_ptr(), [INFO] [stderr] 155 | | query_len, [INFO] [stderr] ... | [INFO] [stderr] 161 | | } [INFO] [stderr] | |_____________^ [INFO] [stderr] [INFO] [stderr] warning: usage of an `unsafe` block [INFO] [stderr] --> src/validator.rs:218:13 [INFO] [stderr] | [INFO] [stderr] 218 | / unsafe { [INFO] [stderr] 219 | | classify_fn( [INFO] [stderr] 220 | | query_bytes.as_ptr(), [INFO] [stderr] 221 | | query_len, [INFO] [stderr] ... | [INFO] [stderr] 225 | | } [INFO] [stderr] | |_____________^ [INFO] [stderr] [INFO] [stderr] warning: usage of an `unsafe` block [INFO] [stderr] --> src/validator.rs:272:13 [INFO] [stderr] | [INFO] [stderr] 272 | / unsafe { [INFO] [stderr] 273 | | let (schema_ptr, schema_len) = match &schema_json { [INFO] [stderr] 274 | | Some(json) => (json.as_ptr(), json.len() as c_int), [INFO] [stderr] 275 | | None => (std::ptr::null(), 0), [INFO] [stderr] ... | [INFO] [stderr] 287 | | } [INFO] [stderr] | |_____________^ [INFO] [stderr] [INFO] [stderr] warning: usage of an `unsafe` block [INFO] [stderr] --> src/validator.rs:402:13 [INFO] [stderr] | [INFO] [stderr] 402 | unsafe { (self.lib.get_last_error)(buffer.as_mut_ptr(), buffer.len() as c_int) }; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: `kql-language-tools` (lib) generated 18 warnings [INFO] [stderr] warning: `kql-language-tools` (lib test) generated 18 warnings (18 duplicates) [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.08s [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/kql_language_tools-96e63e514eefe0c6) [INFO] [stdout] [INFO] [stdout] running 11 tests [INFO] [stdout] test loader::tests::test_current_rid ... ok [INFO] [stdout] test schema::tests::test_schema_builder ... ok [INFO] [stdout] test validator::tests::test_get_classifications ... ignored, requires native library [INFO] [stdout] test validator::tests::test_get_completions_after_pipe ... ignored, requires native library [INFO] [stdout] test validator::tests::test_get_completions_with_schema ... ignored, requires native library [INFO] [stdout] test validator::tests::test_validate_syntax_invalid ... ignored, requires native library [INFO] [stdout] test validator::tests::test_validate_syntax_valid ... ignored, requires native library [INFO] [stdout] test validator::tests::test_validate_with_schema ... ignored, requires native library [INFO] [stdout] test validator::tests::test_validate_with_schema_unknown_column ... ignored, requires native library [INFO] [stdout] test schema::tests::test_schema_serialization ... ok [INFO] [stdout] test loader::tests::test_searched_paths_not_empty ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 4 passed; 0 failed; 7 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stderr] Doc-tests kql_language_tools [INFO] [stdout] [INFO] [stdout] running 2 tests [INFO] [stdout] test src/validator.rs - validator::KqlValidator (line 20) - compile ... ok [INFO] [stdout] test src/lib.rs - (line 16) - compile ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.09s [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "02490331a94ec4f0f12dd5ed2d5036ffec43c818e743dd2ee4ccb057360819f9", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "02490331a94ec4f0f12dd5ed2d5036ffec43c818e743dd2ee4ccb057360819f9", kill_on_drop: false }` [INFO] [stdout] 02490331a94ec4f0f12dd5ed2d5036ffec43c818e743dd2ee4ccb057360819f9