From 254875de29bdb7896ff4e90e36f480ab14fcd1e0 Mon Sep 17 00:00:00 2001 From: chyyran Date: Mon, 21 Nov 2022 18:19:43 -0500 Subject: [PATCH] reflect: desugar rpitit into tait to avoid incomplete feature warning --- librashader-common/src/image.rs | 4 ++-- librashader-reflect/src/back/cross.rs | 12 ++++-------- librashader-reflect/src/back/mod.rs | 4 +++- librashader-reflect/src/lib.rs | 2 +- librashader-runtime-gl/src/error.rs | 4 ++-- librashader-runtime-gl/src/lib.rs | 2 +- 6 files changed, 13 insertions(+), 15 deletions(-) diff --git a/librashader-common/src/image.rs b/librashader-common/src/image.rs index c30f3de..7cdb76a 100644 --- a/librashader-common/src/image.rs +++ b/librashader-common/src/image.rs @@ -7,7 +7,7 @@ pub struct Image { } impl Image { - pub fn load(path: impl AsRef) -> Result { + pub fn load(path: impl AsRef) -> Result { let image = image::open(path.as_ref())?.flipv().to_rgba8(); let height = image.height(); @@ -21,4 +21,4 @@ impl Image { } } -pub use image::ImageError; \ No newline at end of file +pub use image::ImageError as ImageError; \ No newline at end of file diff --git a/librashader-reflect/src/back/cross.rs b/librashader-reflect/src/back/cross.rs index 15b7a7c..2691ec2 100644 --- a/librashader-reflect/src/back/cross.rs +++ b/librashader-reflect/src/back/cross.rs @@ -15,14 +15,12 @@ impl FromCompilation for GLSL { type Target = GLSL; type Options = GlVersion; type Context = GlslangGlslContext; + type Output = impl CompileShader + ReflectShader; fn from_compilation( compile: GlslangCompilation, ) -> Result< - CompilerBackend< - impl CompileShader - + ReflectShader, - >, + CompilerBackend, ShaderReflectError, > { Ok(CompilerBackend { @@ -35,14 +33,12 @@ impl FromCompilation for HLSL { type Target = HLSL; type Options = Option<()>; type Context = (); + type Output = impl CompileShader + ReflectShader; fn from_compilation( compile: GlslangCompilation, ) -> Result< - CompilerBackend< - impl CompileShader - + ReflectShader, - >, + CompilerBackend, ShaderReflectError, > { Ok(CompilerBackend { diff --git a/librashader-reflect/src/back/mod.rs b/librashader-reflect/src/back/mod.rs index b543532..da919ff 100644 --- a/librashader-reflect/src/back/mod.rs +++ b/librashader-reflect/src/back/mod.rs @@ -45,10 +45,12 @@ pub trait FromCompilation { type Options; type Context; + type Output: CompileShader + ReflectShader; + fn from_compilation( compile: T, ) -> Result< - CompilerBackend + ReflectShader>, + CompilerBackend, ShaderReflectError, >; } diff --git a/librashader-reflect/src/lib.rs b/librashader-reflect/src/lib.rs index 855bc46..ae951fb 100644 --- a/librashader-reflect/src/lib.rs +++ b/librashader-reflect/src/lib.rs @@ -1,4 +1,4 @@ -#![feature(return_position_impl_trait_in_trait)] +#![feature(type_alias_impl_trait)] pub mod back; pub mod error; diff --git a/librashader-runtime-gl/src/error.rs b/librashader-runtime-gl/src/error.rs index 8211f52..c2d187c 100644 --- a/librashader-runtime-gl/src/error.rs +++ b/librashader-runtime-gl/src/error.rs @@ -1,5 +1,5 @@ use gl::types::GLenum; -use librashader_common::image; +use librashader_common::image::ImageError; use librashader_preprocess::PreprocessError; use librashader_presets::ParsePresetError; use librashader_reflect::error::{ShaderCompileError, ShaderReflectError}; @@ -20,7 +20,7 @@ pub enum FilterChainError { #[error("shader reflect error")] ShaderReflectError(#[from] ShaderReflectError), #[error("lut loading error")] - LutLoadError(#[from] image::ImageError) + LutLoadError(#[from] ImageError) } pub type Result = std::result::Result; \ No newline at end of file diff --git a/librashader-runtime-gl/src/lib.rs b/librashader-runtime-gl/src/lib.rs index a916196..1e9fe88 100644 --- a/librashader-runtime-gl/src/lib.rs +++ b/librashader-runtime-gl/src/lib.rs @@ -9,7 +9,7 @@ mod hello_triangle; mod quad_render; mod render_target; mod util; -mod error; +pub mod error; pub use filter_chain::FilterChain; pub use framebuffer::Framebuffer;