diff --git a/src/back/glsl/mod.rs b/src/back/glsl/mod.rs index df1d6de146..38888957eb 100644 --- a/src/back/glsl/mod.rs +++ b/src/back/glsl/mod.rs @@ -418,7 +418,7 @@ pub struct Writer<'a, W> { /// Set of expressions that have associated temporary variables. named_expressions: crate::NamedExpressions, /// Set of expressions that need to be baked to avoid unnecessary repetition in output - need_bake_expressions: crate::NeedBakeExpressions, + need_bake_expressions: back::NeedBakeExpressions, } impl<'a, W: Write> Writer<'a, W> { @@ -469,8 +469,8 @@ impl<'a, W: Write> Writer<'a, W> { entry_point_idx: ep_idx as u16, block_id: IdGenerator::default(), - named_expressions: crate::NamedExpressions::default(), - need_bake_expressions: crate::NeedBakeExpressions::default(), + named_expressions: Default::default(), + need_bake_expressions: Default::default(), }; // Find all features required to print this module @@ -1561,7 +1561,7 @@ impl<'a, W: Write> Writer<'a, W> { // Also, we use sanitized names! It defense backend from generating variable with name from reserved keywords. Some(self.namer.call(name)) } else if self.need_bake_expressions.contains(&handle) { - Some(format!("{}{}", super::BAKE_PREFIX, handle.index())) + Some(format!("{}{}", back::BAKE_PREFIX, handle.index())) } else { None }; @@ -1886,7 +1886,7 @@ impl<'a, W: Write> Writer<'a, W> { } => { write!(self.out, "{}", level)?; if let Some(expr) = result { - let name = format!("{}{}", super::BAKE_PREFIX, expr.index()); + let name = format!("{}{}", back::BAKE_PREFIX, expr.index()); let result = self.module.functions[function].result.as_ref().unwrap(); self.write_type(result.ty)?; write!(self.out, " {} = ", name)?; @@ -1914,7 +1914,7 @@ impl<'a, W: Write> Writer<'a, W> { result, } => { write!(self.out, "{}", level)?; - let res_name = format!("{}{}", super::BAKE_PREFIX, result.index()); + let res_name = format!("{}{}", back::BAKE_PREFIX, result.index()); let res_ty = ctx.info[result].ty.inner_with(&self.module.types); self.write_value_type(res_ty)?; write!(self.out, " {} = ", res_name)?; @@ -2478,7 +2478,7 @@ impl<'a, W: Write> Writer<'a, W> { write!(self.out, "(")?; self.write_expr(left, ctx)?; - write!(self.out, " {} ", super::binary_operation_str(op))?; + write!(self.out, " {} ", back::binary_operation_str(op))?; self.write_expr(right, ctx)?; write!(self.out, ")")?; diff --git a/src/back/mod.rs b/src/back/mod.rs index d69c0463c7..9802e5acfe 100644 --- a/src/back/mod.rs +++ b/src/back/mod.rs @@ -1,6 +1,7 @@ /*! Backend functions that export shader [`Module`](super::Module)s into binary and text formats. */ +#![allow(dead_code)] // can be dead if none of the enabled backends need it #[cfg(feature = "dot-out")] pub mod dot; @@ -15,25 +16,21 @@ pub mod spv; #[cfg(feature = "wgsl-out")] pub mod wgsl; -#[allow(dead_code)] const COMPONENTS: &[char] = &['x', 'y', 'z', 'w']; -#[allow(dead_code)] const INDENT: &str = " "; -#[allow(dead_code)] const BAKE_PREFIX: &str = "_e"; +type NeedBakeExpressions = crate::FastHashSet>; + #[derive(Clone, Copy)] -#[allow(dead_code)] struct Level(usize); -#[allow(dead_code)] impl Level { fn next(&self) -> Self { Level(self.0 + 1) } } -#[allow(dead_code)] impl std::fmt::Display for Level { fn fmt(&self, formatter: &mut std::fmt::Formatter<'_>) -> Result<(), std::fmt::Error> { (0..self.0).try_for_each(|_| formatter.write_str(INDENT)) @@ -43,7 +40,6 @@ impl std::fmt::Display for Level { /// Stores the current function type (either a regular function or an entry point) /// /// Also stores data needed to identify it (handle for a regular function or index for an entry point) -#[allow(dead_code)] enum FunctionType { /// A regular function and it's handle Function(crate::Handle), @@ -52,7 +48,6 @@ enum FunctionType { } /// Helper structure that stores data needed when writing the function -#[allow(dead_code)] struct FunctionCtx<'a> { /// The current function being written ty: FunctionType, @@ -64,7 +59,6 @@ struct FunctionCtx<'a> { named_expressions: &'a crate::NamedExpressions, } -#[allow(dead_code)] impl<'a> FunctionCtx<'_> { /// Helper method that generates a [`NameKey`](crate::proc::NameKey) for a local in the current function fn name_key(&self, local: crate::Handle) -> crate::proc::NameKey { @@ -134,7 +128,6 @@ impl crate::Expression { /// See the [module-level documentation][emit] for details. /// /// [emit]: index.html#expression-evaluation-time - #[allow(dead_code)] fn bake_ref_count(&self) -> usize { match *self { // accesses are never cached, only loads are @@ -156,7 +149,6 @@ impl crate::Expression { /// Helper function that returns the string corresponding to the [`BinaryOperator`](crate::BinaryOperator) /// # Notes /// Used by `glsl-out`, `msl-out`, `wgsl-out`, `hlsl-out`. -#[allow(dead_code)] fn binary_operation_str(op: crate::BinaryOperator) -> &'static str { use crate::BinaryOperator as Bo; match op { @@ -184,7 +176,6 @@ fn binary_operation_str(op: crate::BinaryOperator) -> &'static str { /// Helper function that returns the string corresponding to the [`VectorSize`](crate::VectorSize) /// # Notes /// Used by `msl-out`, `wgsl-out`, `hlsl-out`. -#[allow(dead_code)] fn vector_size_str(size: crate::VectorSize) -> &'static str { match size { crate::VectorSize::Bi => "2", @@ -194,7 +185,6 @@ fn vector_size_str(size: crate::VectorSize) -> &'static str { } impl crate::TypeInner { - #[allow(unused)] fn is_handle(&self) -> bool { match *self { crate::TypeInner::Image { .. } | crate::TypeInner::Sampler { .. } => true, diff --git a/src/back/msl/writer.rs b/src/back/msl/writer.rs index 3b29eaf56a..8ebaf49826 100644 --- a/src/back/msl/writer.rs +++ b/src/back/msl/writer.rs @@ -310,7 +310,7 @@ pub struct Writer { names: FastHashMap, named_expressions: crate::NamedExpressions, /// Set of expressions that need to be baked to avoid unnecessary repetition in output - need_bake_expressions: crate::NeedBakeExpressions, + need_bake_expressions: back::NeedBakeExpressions, namer: proc::Namer, #[cfg(test)] put_expression_stack_pointers: FastHashSet<*const ()>, @@ -526,8 +526,8 @@ impl Writer { Writer { out, names: FastHashMap::default(), - named_expressions: crate::NamedExpressions::default(), - need_bake_expressions: crate::NeedBakeExpressions::default(), + named_expressions: Default::default(), + need_bake_expressions: Default::default(), namer: proc::Namer::default(), #[cfg(test)] put_expression_stack_pointers: Default::default(), diff --git a/src/lib.rs b/src/lib.rs index ca516b2bd4..f384c6ea14 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -233,7 +233,6 @@ pub type FastHashSet = rustc_hash::FxHashSet; /// Map of expressions that have associated variable names pub(crate) type NamedExpressions = FastHashMap, String>; -pub(crate) type NeedBakeExpressions = FastHashSet>; /// Early fragment tests. ///