Skip to main content

Crate scope_local

Crate scope_local 

Source
Expand description

scope-local

Scope local storage

Crates.io Docs.rs Rust License

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 --open

Online documentation: docs.rs/scope-local

§Contributing

  1. Fork the repository and create a branch
  2. Run local format and checks
  3. Run local tests relevant to this crate
  4. 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§

ActiveScope
Currently active scope.
LocalItem
A scope-local item.
Scope
A scope is a collection of items.
ScopeItem
A reference to a scope-local item within a specific scope.
ScopeItemMut
A mutable reference to a scope-local item within a specific scope.