Expand description
scope-local
Scope local storage
English | 中文
§Introduction
scope-local provides Scope local storage. It is maintained as part of the TGOSKits component set and is intended for Rust projects that integrate with ArceOS, AxVisor, or related low-level systems software.
§Quick Start
§Installation
Add this crate to your Cargo.toml:
[dependencies]
scope-local = "0.3.2"§Run Check and Test
# Enter the crate directory
cd components/scope-local
# Format code
cargo fmt --all
# Run clippy
cargo clippy --all-targets --all-features
# Run tests
cargo test --all-features
# Build documentation
cargo doc --no-deps§Integration
§Initialization contract
Scope::new eagerly initializes every registered scope-local item in the
caller’s ordinary context. Pinned access only reads an already initialized
scope and never allocates or invokes an item initializer. The first unpinned
access to the global scope initializes it before entering the pinned section;
recursive access from the initializing execution context fails immediately
with a diagnostic, while competing contexts wait for the published scope.
§Example
use scope_local as _;
fn main() {
// Integrate `scope-local` into your project here.
}§Documentation
Generate and view API documentation:
cargo doc --no-deps --openOnline documentation: docs.rs/scope-local
§Contributing
- Fork the repository and create a branch
- Run local format and checks
- Run local tests relevant to this crate
- Submit a PR and ensure CI passes
§License
Licensed under the Apache License, Version 2.0. See LICENSE for details.
Macros§
- scope_
local - Define a scope-local item.
Structs§
- Active
Scope - Currently active scope.
- Local
Item - A scope-local item.
- Scope
- A scope is a collection of items.
- Scope
Item - A reference to a scope-local item within a specific scope.
- Scope
Item Mut - A mutable reference to a scope-local item within a specific scope.