limen_platform/lib.rs
1// Copyright © 2025–present Arlo Louis Byrne (idky137)
2// SPDX-License-Identifier: Apache-2.0
3//
4// Licensed under the Apache License, Version 2.0.
5// See the LICENSE-APACHE file in the project root for license terms.
6
7#![cfg_attr(not(feature = "std"), no_std)]
8#![warn(missing_docs)]
9#![deny(unsafe_code)]
10//! # limen-platform
11//!
12//! **Limen Platform** provides concrete implementations of the platform
13//! abstractions defined in `limen-core::platform` ([`PlatformClock`],
14//! [`Timers`], [`Affinity`]).
15//!
16//! > **Status: stub.** The platform contract traits are defined and stable in
17//! > `limen-core`. This crate is the intended home for target-specific
18//! > adapters. The `linux` module skeleton exists but is not yet implemented.
19//! > The `P1` planned item tracks full `PlatformBackend` finalisation.
20//!
21//! ## Modules
22//!
23//! - [`linux`] — Linux / desktop platform adapters (stub; see module docs).
24//!
25//! ## Feature Flags
26//!
27//! | Flag | Effect |
28//! |------|--------|
29//! | *(default)* | `no_std`, no heap |
30//! | `alloc` | enables `alloc`-backed adapters |
31//! | `std` | implies `alloc`; enables `std::time`-backed clock and OS primitives |
32//!
33//! [`PlatformClock`]: limen_core::platform::PlatformClock
34//! [`Timers`]: limen_core::platform::Timers
35//! [`Affinity`]: limen_core::platform::Affinity
36
37#[cfg(feature = "alloc")]
38extern crate alloc;
39
40pub mod linux;