value_traits/
lib.rs

1/*
2 * SPDX-FileCopyrightText: 2025 Tommaso Fontana
3 * SPDX-FileCopyrightText: 2025 Sebastiano Vigna
4 * SPDX-FileCopyrightText: 2025 Inria
5 *
6 * SPDX-License-Identifier: Apache-2.0 OR LGPL-2.1-or-later
7 */
8
9#![cfg_attr(not(feature = "std"), no_std)]
10#![deny(unconditional_recursion)]
11#![doc = include_str!("../README.md")]
12
13#[cfg(all(feature = "alloc", not(feature = "std")))]
14extern crate alloc;
15
16// Impls are not re-exported
17pub mod impls;
18
19// Traits are re-exported
20mod traits;
21pub use traits::*;
22
23#[doc(hidden)]
24#[allow(private_bounds)]
25pub trait ImplBound: ImplBoundPriv {}
26#[doc(hidden)]
27pub(crate) trait ImplBoundPriv {}
28impl<T: ?Sized + ImplBoundPriv> ImplBound for T {}
29#[doc(hidden)]
30pub struct Ref<'a, T: ?Sized>(&'a T);
31impl<T: ?Sized> ImplBoundPriv for Ref<'_, T> {}