1#![cfg_attr(not(feature = "use_std"), no_std)]
4#![feature(staged_api)]
5#![feature(min_specialization)]
6#![feature(custom_test_frameworks)]
7#![feature(type_changing_struct_update)]
8#![feature(step_trait)]
9#![feature(generic_const_items)]
10#![feature(generic_const_exprs)]
11#![feature(type_alias_impl_trait)]
12#![feature(extern_types)]
13#![feature(new_uninit)]
14#![feature(doc_auto_cfg)]
15#![feature(doc_cfg_hide)]
16#![feature(let_chains)]
17#![cfg_attr(feature = "use_std", feature(lazy_cell))]
18#![warn(missing_docs)]
19#![feature(unsize)]
20#![feature(dispatch_from_dyn)]
21#![feature(coerce_unsized)]
22#![feature(impl_trait_in_assoc_type)]
23
24#![doc(issue_tracker_base_url = "https://github.com/popcorn-2/popcorn-2/issues/")]
25#![doc(cfg_hide(all(not(feature = "use_std"), feature = "full")))]
26#![doc(cfg_hide(feature = "full"))]
27#![doc(cfg_hide(not(feature = "use_std")))]
28
29#![stable(feature = "kernel_core_api", since = "1.0.0")]
30
31extern crate alloc;
32
33#[unstable(feature = "kernel_export_macro", issue = "none")]
34pub use kernel_module_macros::module_export;
35
36pub mod memory;
37#[cfg(feature = "full")]
38pub mod sync;
39
40#[cfg(all(not(feature = "use_std"), feature = "full"))]
41pub mod bridge;
42
43pub mod ptr;
44
45#[cfg(all(not(feature = "use_std"), feature = "full"))]
46pub mod time;
47
48#[cfg(all(not(feature = "use_std"), feature = "full"))]
49pub mod detect;
50
51#[stable(feature = "help", since = "2.0.0")]
52#[macro_export]
53macro_rules! dbg {
54 ($val:expr $(,)?) => {
55 match $val {
58 tmp => {
59 ::log::debug!("{} = {:#?}",
60 ::core::stringify!($val), &tmp);
61 tmp
62 }
63 }
64 };
65 ($($val:expr),+ $(,)?) => {
66 ($($crate::dbg!($val)),+,)
67 };
68}