Some checks failed
ci/woodpecker/push/woodpecker Pipeline failed
- .woodpecker.yaml: image paths -> library/autojanet-{agent,dispatcher}
- .woodpecker.yaml: secret names RS_HARBOR_USER / RS_HARBOR_PASS (global)
- container/Dockerfile: restore COPY skills/, skills/ populated from opencode config
- skills/: 84 opencode skills bundled into image
- k8s/manifests: update image refs to library/
2.4 KiB
2.4 KiB
Rust Language Prompt Snippet
Key Concepts
- Ownership and Borrowing: Each value has one owner; references borrow without taking ownership
- Lifetimes: Annotations (
'a) ensuring references remain valid for their required duration - Traits and Trait Objects: Shared behavior definitions;
dyn Traitfor dynamic dispatch - Pattern Matching: Exhaustive
matchexpressions deconstructing enums, structs, and tuples - Enums with Data: Algebraic data types — each variant can carry different associated data
- Result/Option Error Handling:
Result<T, E>for fallible ops;Option<T>for nullable values - Macros: Declarative (
macro_rules!) and procedural (derive, attribute, function-like) code generation - Async/Await with Tokio: Zero-cost async using
Futuretrait and runtime executors - Unsafe Blocks: Opt-in blocks for raw pointer dereferencing, FFI, and bypassing borrow checker
- Generics with Trait Bounds:
<T: Clone + Send>constraining generic parameters - Closures and Fn Traits:
Fn,FnMut,FnOncedetermine how closures capture environment
Import Patterns
use crate::module::Item— import from current crateuse std::collections::HashMap— import from standard libraryuse super::*— import everything from parent modulemod module_name— declare a submodule (loads from file)
File Patterns
mod.rs— module barrel file (older convention) ormodule_name.rs(2018+ edition)lib.rs— library crate root defining the public APImain.rs— binary crate entry pointCargo.toml— project manifest with dependencies and metadatabuild.rs— build script executed before compilation
Common Frameworks
- Actix-web — Actor-based, high-performance web framework
- Axum — Ergonomic web framework built on Tower and Hyper
- Rocket — Type-safe web framework with declarative routing
- Diesel — Safe, composable ORM and query builder
- Tokio — Async runtime providing I/O, timers, and task scheduling
Example Language Notes
Takes
&selfborrow to read state without transferring ownership; returnsResult<T, Error>for explicit error propagation. The?operator propagates errors up the call stack concisely, replacing verbose match blocks.The module system maps to the filesystem:
mod handlers;loads eitherhandlers.rsorhandlers/mod.rs, establishing the module tree at compile time.