@@ -757,24 +757,22 @@ impl SpirvBuilder {
757757 let metadata: CompileResult =
758758 rustc_codegen_spirv_types:: serde_json:: from_reader ( BufReader :: new ( metadata_contents) )
759759 . map_err ( SpirvBuilderError :: MetadataFileMalformed ) ?;
760- match & metadata. module {
761- ModuleResult :: SingleModule ( spirv_module) => {
762- assert ! ( !self . multimodule) ;
763- if self . build_script . get_env_shader_spv_path ( ) {
764- let env_var = format ! (
765- "{}.spv" ,
766- at. file_name( )
767- . unwrap( )
768- . to_str( )
769- . unwrap( )
770- . strip_suffix( ARTIFACT_SUFFIX )
771- . unwrap( )
772- ) ;
760+
761+ let is_multimodule = match & metadata. module {
762+ ModuleResult :: SingleModule ( _) => false ,
763+ ModuleResult :: MultiModule ( _) => true ,
764+ } ;
765+ assert_eq ! ( self . multimodule, is_multimodule) ;
766+
767+ if self . build_script . get_env_shader_spv_path ( ) {
768+ match & metadata. module {
769+ ModuleResult :: SingleModule ( spirv_module) => {
770+ let env_var = spirv_module. file_name ( ) . unwrap ( ) . to_str ( ) . unwrap ( ) ;
773771 println ! ( "cargo::rustc-env={}={}" , env_var, spirv_module. display( ) ) ;
774772 }
775- }
776- ModuleResult :: MultiModule ( _ ) => {
777- assert ! ( self . multimodule ) ;
773+ ModuleResult :: MultiModule ( _ ) => {
774+ Err ( SpirvBuilderError :: MultiModuleWithEnvShaderSpvPath ) ? ;
775+ }
778776 }
779777 }
780778 Ok ( metadata)
@@ -849,10 +847,6 @@ fn invoke_rustc(builder: &SpirvBuilder) -> Result<RustcOutput, SpirvBuilderError
849847 . as_ref ( )
850848 . ok_or ( SpirvBuilderError :: MissingTarget ) ?;
851849 target = SpirvTarget :: parse ( target_str) ?;
852-
853- if builder. build_script . get_env_shader_spv_path ( ) && builder. multimodule {
854- return Err ( SpirvBuilderError :: MultiModuleWithEnvShaderSpvPath ) ;
855- }
856850 if !path_to_crate. is_dir ( ) {
857851 return Err ( SpirvBuilderError :: CratePathDoesntExist (
858852 path_to_crate. clone ( ) ,
0 commit comments