1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
#![deny(warnings, clippy::all)]
#![allow(clippy::len_without_is_empty)]

mod action;
pub mod error;
mod loader;
mod parser;
mod span;
mod string;
pub mod token;
pub mod type_trait;
pub mod types;

pub use crate::{loader::LogixLoader, parser::LogixParser};
pub use logix_type_derive::LogixType;
pub use type_trait::LogixType;

// NOTE(2023.10): This is a work-around to test that compilation works
/// ```
/// use logix_type::LogixType;
///
/// #[derive(LogixType)]
/// struct Hello {
///     a: u32,
///     b: u32,
/// }
///```
// NOTE(2023.10): This is a work-around to test that compilation fails
/// ```compile_fail
/// use logix_type::LogixType;
///
/// #[derive(LogixType)]
/// union Hello {
///     a: u32,
///     b: u32,
/// }
/// ```
struct _Dummy;