Skip to content

Commit 7bdeb3e

Browse files
committed
Append .0 to unsuffixed float if it would otherwise become int token
1 parent 21c5f13 commit 7bdeb3e

File tree

1 file changed

+10
-2
lines changed

1 file changed

+10
-2
lines changed

proc_macro/src/lib.rs

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1074,7 +1074,11 @@ impl Literal {
10741074
if !n.is_finite() {
10751075
panic!("Invalid float literal {}", n);
10761076
}
1077-
Literal(bridge::client::Literal::float(&n.to_string()))
1077+
let mut repr = n.to_string();
1078+
if !repr.contains('.') {
1079+
repr.push_str(".0");
1080+
}
1081+
Literal(bridge::client::Literal::float(&repr))
10781082
}
10791083

10801084
/// Creates a new suffixed floating-point literal.
@@ -1115,7 +1119,11 @@ impl Literal {
11151119
if !n.is_finite() {
11161120
panic!("Invalid float literal {}", n);
11171121
}
1118-
Literal(bridge::client::Literal::float(&n.to_string()))
1122+
let mut repr = n.to_string();
1123+
if !repr.contains('.') {
1124+
repr.push_str(".0");
1125+
}
1126+
Literal(bridge::client::Literal::float(&repr))
11191127
}
11201128

11211129
/// Creates a new suffixed floating-point literal.

0 commit comments

Comments
 (0)