#![cfg_attr(all(feature = "wgsl-in", feature = "glsl-out"), doc = "```")]
#![cfg_attr(not(all(feature = "wgsl-in", feature = "glsl-out")), doc = "```ignore")]
#![allow(
clippy::new_without_default,
clippy::unneeded_field_pattern,
clippy::match_like_matches_macro,
clippy::collapsible_if,
clippy::derive_partial_eq_without_eq,
clippy::needless_borrowed_reference,
clippy::single_match,
clippy::enum_variant_names
)]
#![warn(
trivial_casts,
trivial_numeric_casts,
unused_extern_crates,
unused_qualifications,
clippy::large_stack_frames,
clippy::match_wildcard_for_single_variants,
clippy::missing_const_for_fn,
clippy::pattern_type_mismatch,
clippy::rest_pat_in_fully_bound_structs
)]
#![deny(clippy::exit)]
#![cfg_attr(
not(test),
warn(
clippy::dbg_macro,
clippy::panic,
clippy::print_stderr,
clippy::print_stdout,
clippy::todo
)
)]
#![no_std]
#![forbid(unsafe_code)]
#[cfg(std)]
extern crate std;
extern crate alloc;
extern crate naga_types as nt;
mod arena;
pub mod back;
pub mod common;
pub mod compact;
pub mod diagnostic_filter;
pub mod error;
pub mod front;
pub mod ir;
pub mod keywords;
mod non_max_u32;
pub mod proc;
mod racy_lock;
mod span;
pub mod valid;
use alloc::string::String;
pub use crate::arena::{Arena, Handle, Range, UniqueArena};
pub use crate::span::{SourceLocation, Span, SpanContext, WithSpan};
pub use nt::{FastHashMap, FastHashSet, FastIndexMap, FastIndexSet};
pub use ir::*;
pub const BOOL_WIDTH: Bytes = 1;
pub const ABSTRACT_WIDTH: Bytes = 8;
pub(crate) type NamedExpressions = FastIndexMap<Handle<Expression>, String>;