Merge consecutive string literals
Dependencies
- [2]
RAWT2FQSNest Xilem tuples longer than 10 elements - [3]
BA5Y6VSEOutput Rust code using `syn` - [4]
2N3KOCP7Create MVP Pandoc->Rust compiler - [5]
FLIMM2YMReturn `syn::Expr` instead of `&str` from `transform_inline`
Change contents
- edit in crates/typst_rust_gen/src/lib.rs at line 401
}fn extract_literal_string(expression: &syn::ExprLit) -> String {if let syn::Lit::Str(lit_str) = &expression.lit {lit_str.value()} else {unreachable!()} - replacement in crates/typst_rust_gen/src/lib.rs at line 412
let expressions = inlines.into_iter().map(transform_inline).collect::<Vec<_>>();let expressions =inlines.into_iter().map(transform_inline).fold(Vec::new(), |mut state, inline| {if let syn::Expr::Lit(current_literal) = &inline {if let Some(syn::Expr::Lit(ref mut prev_literal)) = state.last_mut() {let prev_string = extract_literal_string(&prev_literal);let current_string = extract_literal_string(¤t_literal);let merged_string = prev_string + ¤t_string;*prev_literal = literal_string(merged_string.as_str());return state;}} - edit in crates/typst_rust_gen/src/lib.rs at line 427
state.push(inline);state});