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:
[]
= "0.3.2"
Run Check and Test
# Enter the crate directory
# Format code
# Run clippy
# Run tests
# Build documentation
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 _;
Documentation
Generate and view API documentation:
Online 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.