thread-ast-engine 0.1.1

Core AST engine for Thread - parsing, matching, and transforming code using AST patterns. Forked from ast-grep-core.
Documentation
Build #2955784 2026-03-02 16:37:36

# rustc version rustc 1.96.0-nightly (80381278a 2026-03-01)

# docs.rs version docsrs 0.0.0 (91dcccd9 2026-02-13 )

# build log [INFO] running `Command { std: "docker" "create" "-v" "/home/cratesfyi/workspace-builder/builds/thread-ast-engine-0.1.1/target:/opt/rustwide/target:rw,Z" "-v" "/home/cratesfyi/workspace-builder/builds/thread-ast-engine-0.1.1/source:/opt/rustwide/workdir:ro,Z" "-v" "/home/cratesfyi/workspace-builder/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/home/cratesfyi/workspace-builder/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "DOCS_RS=1" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "6442450944" "--cpus" "6" "--user" "1001:1001" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:61361fe0aef631f17e9d025a70c5a647956f8c671dd02950a60ad3f5cc5526d7" "/opt/rustwide/cargo-home/bin/cargo" "+nightly" "rustdoc" "--lib" "-Zrustdoc-map" "--config" "build.rustdocflags=[\"--cfg\", \"docsrs\", \"-Z\", \"unstable-options\", \"--emit=invocation-specific\", \"--resource-suffix\", \"-20260301-1.96.0-nightly-80381278a\", \"--static-root-path\", \"/-/rustdoc.static/\", \"--cap-lints\", \"warn\", \"--extern-html-root-takes-precedence\"]" "--offline" "-Zunstable-options" "--config=doc.extern-map.registries.crates-io=\"https://docs.rs/{pkg_name}/{version}/x86_64-unknown-linux-gnu\"" "-Zrustdoc-scrape-examples" "-j6" "--target" "x86_64-unknown-linux-gnu", kill_on_drop: false }` [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] [stdout] 65f1a5d3a5180b061ed25f923287503977a6761b3b10624947cdc50aeb95d2ca [INFO] running `Command { std: "docker" "start" "-a" "65f1a5d3a5180b061ed25f923287503977a6761b3b10624947cdc50aeb95d2ca", kill_on_drop: false }` [INFO] [stderr] warning: target filter specified, but no targets matched; this is a no-op [INFO] [stderr] Documenting thread-ast-engine v0.1.1 (/opt/rustwide/workdir) [INFO] [stderr] warning: unresolved link to `Replacer` [INFO] [stderr] --> src/lib.rs:104:11 [INFO] [stderr] | [INFO] [stderr] 104 | //! ### [`Replacer`] - Code Transformation [INFO] [stderr] | ^^^^^^^^ no item named `Replacer` in scope [INFO] [stderr] | [INFO] [stderr] = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]` [INFO] [stderr] = note: `#[warn(rustdoc::broken_intra_doc_links)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unresolved link to `Deref` [INFO] [stderr] --> src/matchers/types.rs:154:66 [INFO] [stderr] | [INFO] [stderr] 154 | /// pattern matching. It acts like a regular [`Node`] (through [`Deref`]) while [INFO] [stderr] | ^^^^^ no item named `Deref` in scope [INFO] [stderr] | [INFO] [stderr] = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]` [INFO] [stderr] [INFO] [stderr] warning: unresolved link to `get_env` [INFO] [stderr] --> src/matchers/types.rs:155:59 [INFO] [stderr] | [INFO] [stderr] 155 | /// also providing access to captured variables through [`get_env`]. [INFO] [stderr] | ^^^^^^^ no item named `get_env` in scope [INFO] [stderr] | [INFO] [stderr] = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]` [INFO] [stderr] [INFO] [stderr] warning: could not parse code block as Rust code [INFO] [stderr] --> src/matchers/mod.rs:29:9 [INFO] [stderr] | [INFO] [stderr] 29 | //! ```rust,ignore [INFO] [stderr] | _________^ [INFO] [stderr] 30 | | //! use thread_ast_engine::{ [INFO] [stderr] 31 | | //! Matcher, MatcherExt, Pattern, MatchStrictness, [INFO] [stderr] 32 | | //! NodeMatch, PatternNode, PatternBuilder, PatternError, [INFO] [stderr] 33 | | //! }; [INFO] [stderr] 34 | | //! ``` [INFO] [stderr] 35 | | //! - [`Matcher`] trait - Interface for all pattern matchers [INFO] [stderr] | |____^ [INFO] [stderr] | [INFO] [stderr] help: `ignore` code blocks require valid Rust code for syntax highlighting; mark blocks that do not contain Rust code as text: ```text [INFO] [stderr] --> src/matchers/mod.rs:29:9 [INFO] [stderr] | [INFO] [stderr] 29 | //! ```rust,ignore [INFO] [stderr] | ^^^ [INFO] [stderr] = note: error from rustc: unknown start of token: ` [INFO] [stderr] = note: `#[warn(rustdoc::invalid_rust_codeblocks)]` on by default [INFO] [stderr] [INFO] [stderr] warning: Rust code block is empty [INFO] [stderr] --> src/matchers/types.rs:199:5 [INFO] [stderr] | [INFO] [stderr] 199 | /// ```rust,ignore [INFO] [stderr] | _____^ [INFO] [stderr] 200 | | /// // With Cst strictness, these would be different: [INFO] [stderr] 201 | | /// // "let x=42;" vs "let x = 42;" [INFO] [stderr] 202 | | /// // [INFO] [stderr] 203 | | /// // With Ast strictness, they match the same pattern: [INFO] [stderr] 204 | | /// // "let $VAR = $VALUE" [INFO] [stderr] 205 | | /// ``` [INFO] [stderr] | |_______^ [INFO] [stderr] | [INFO] [stderr] help: `ignore` code blocks require valid Rust code for syntax highlighting; mark blocks that do not contain Rust code as text: ```text [INFO] [stderr] --> src/matchers/types.rs:199:5 [INFO] [stderr] | [INFO] [stderr] 199 | /// ```rust,ignore [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: `thread-ast-engine` (lib doc) generated 5 warnings [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.70s [INFO] [stderr] Generated /opt/rustwide/target/x86_64-unknown-linux-gnu/doc/thread_ast_engine/index.html [INFO] running `Command { std: "docker" "inspect" "65f1a5d3a5180b061ed25f923287503977a6761b3b10624947cdc50aeb95d2ca", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "65f1a5d3a5180b061ed25f923287503977a6761b3b10624947cdc50aeb95d2ca", kill_on_drop: false }` [INFO] [stdout] 65f1a5d3a5180b061ed25f923287503977a6761b3b10624947cdc50aeb95d2ca