fix(derive): keep components incremental

Let #[slhx::component] preserve inline modules when generated symbols are absent, while still enforcing handler completeness when slhx.syms exists.

req: component/005

req: test/002
This commit is contained in:
slhx agent
2026-05-25 22:33:56 +02:00
parent d223a1d215
commit 102e3247bc
2 changed files with 13 additions and 15 deletions
+2 -14
View File
@@ -89,22 +89,10 @@ pub fn component(_attr: TokenStream, item: TokenStream) -> TokenStream {
.into();
};
let Some(syms_path) = syms_path() else {
return quote!(
#module
compile_error!("#[slhx::component] requires OUT_DIR; run inside a Cargo crate with slhx_build::app() in build.rs");
)
.into();
return quote!(#module).into();
};
if !syms_path.exists() {
let message = format!(
"#[slhx::component] could not find {}; add slhx_build::app().run()? to build.rs or check template generation",
syms_path.display()
);
return quote!(
#module
compile_error!(#message);
)
.into();
return quote!(#module).into();
}
let missing = missing_component_handlers(&syms_path, items);
if !missing.is_empty() {