Fix hot reloading spreads (#2750)

This commit is contained in:
Evan Almloff 2024-07-31 00:34:27 +02:00 committed by GitHub
parent 1b0d089d19
commit 74e51b7e0d
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 24 additions and 2 deletions

View file

@ -76,7 +76,7 @@ impl Parse for Element {
// Assemble the new element from the contents of the block
let mut element = Element {
brace,
name,
name: name.clone(),
raw_attributes: block.attributes,
children: block.children,
diagnostics: block.diagnostics,
@ -98,7 +98,7 @@ impl Parse for Element {
value: AttributeValue::AttrExpr(PartialExpr::from_expr(&spread.expr)),
comma: spread.comma,
dyn_idx: spread.dyn_idx.clone(),
el_name: None,
el_name: Some(name.clone()),
});
}

View file

@ -1125,3 +1125,25 @@ fn valid_fill_empty() {
assert!(valid);
}
// We should be able to hot reload spreads
#[test]
fn valid_spread() {
let valid = can_hotreload(
quote! {
div {
..spread
}
},
quote! {
div {
"hello world"
}
h1 {
..spread
}
},
);
assert!(valid);
}