desugars operator overloading
add cast
bendn 5 months ago
parent 6fe9915 · commit 56da820
-rw-r--r--Cargo.toml2
-rw-r--r--src/lib.rs6
2 files changed, 7 insertions, 1 deletions
diff --git a/Cargo.toml b/Cargo.toml
index efe08ea..d21ac46 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -1,6 +1,6 @@
[package]
name = "lower-macros"
-version = "0.2.8"
+version = "0.2.9"
authors = ["bend-n <[email protected]>"]
description = "desugar math where the compiler wont"
edition = "2021"
diff --git a/src/lib.rs b/src/lib.rs
index 2e9ac8f..3a47a82 100644
--- a/src/lib.rs
+++ b/src/lib.rs
@@ -355,6 +355,12 @@ fn walk(sub: &impl Sub, e: Expr) -> TokenStream {
quote! { #label: #b }
}
Expr::Block(ExprBlock { block, .. }) => map_block(block),
+ Expr::Cast(ExprCast {
+ expr, as_token, ty, ..
+ }) => {
+ let e = walk(*expr);
+ quote! { #e #as_token #ty }
+ }
e => quote!(#e),
}
}