@@ -17,6 +17,7 @@ use crate::{
1717 UntypedUseAssignment , Use , UseAssignment ,
1818 } ,
1919 build:: Target ,
20+ parse:: LiteralFloatValue ,
2021 type_:: error:: VariableOrigin ,
2122} ;
2223
@@ -258,7 +259,11 @@ pub trait UntypedExprFolder: TypeAstFolder + UntypedConstantFolder + PatternFold
258259 value,
259260 int_value,
260261 } => self . fold_int ( location, value, int_value) ,
261- UntypedExpr :: Float { location, value } => self . fold_float ( location, value) ,
262+ UntypedExpr :: Float {
263+ location,
264+ value,
265+ float_value,
266+ } => self . fold_float ( location, value, float_value) ,
262267 UntypedExpr :: String { location, value } => self . fold_string ( location, value) ,
263268
264269 UntypedExpr :: Block {
@@ -714,8 +719,17 @@ pub trait UntypedExprFolder: TypeAstFolder + UntypedConstantFolder + PatternFold
714719 }
715720 }
716721
717- fn fold_float ( & mut self , location : SrcSpan , value : EcoString ) -> UntypedExpr {
718- UntypedExpr :: Float { location, value }
722+ fn fold_float (
723+ & mut self ,
724+ location : SrcSpan ,
725+ value : EcoString ,
726+ float_value : LiteralFloatValue ,
727+ ) -> UntypedExpr {
728+ UntypedExpr :: Float {
729+ location,
730+ value,
731+ float_value,
732+ }
719733 }
720734
721735 fn fold_string ( & mut self , location : SrcSpan , value : EcoString ) -> UntypedExpr {
@@ -937,7 +951,11 @@ pub trait UntypedConstantFolder {
937951 int_value,
938952 } => self . fold_constant_int ( location, value, int_value) ,
939953
940- Constant :: Float { location, value } => self . fold_constant_float ( location, value) ,
954+ Constant :: Float {
955+ location,
956+ value,
957+ float_value,
958+ } => self . fold_constant_float ( location, value, float_value) ,
941959
942960 Constant :: String { location, value } => self . fold_constant_string ( location, value) ,
943961
@@ -998,8 +1016,17 @@ pub trait UntypedConstantFolder {
9981016 }
9991017 }
10001018
1001- fn fold_constant_float ( & mut self , location : SrcSpan , value : EcoString ) -> UntypedConstant {
1002- Constant :: Float { location, value }
1019+ fn fold_constant_float (
1020+ & mut self ,
1021+ location : SrcSpan ,
1022+ value : EcoString ,
1023+ float_value : LiteralFloatValue ,
1024+ ) -> UntypedConstant {
1025+ Constant :: Float {
1026+ location,
1027+ value,
1028+ float_value,
1029+ }
10031030 }
10041031
10051032 fn fold_constant_string ( & mut self , location : SrcSpan , value : EcoString ) -> UntypedConstant {
@@ -1188,7 +1215,11 @@ pub trait PatternFolder {
11881215 int_value,
11891216 } => self . fold_pattern_int ( location, value, int_value) ,
11901217
1191- Pattern :: Float { location, value } => self . fold_pattern_float ( location, value) ,
1218+ Pattern :: Float {
1219+ location,
1220+ value,
1221+ float_value,
1222+ } => self . fold_pattern_float ( location, value, float_value) ,
11921223
11931224 Pattern :: String { location, value } => self . fold_pattern_string ( location, value) ,
11941225
@@ -1277,8 +1308,17 @@ pub trait PatternFolder {
12771308 }
12781309 }
12791310
1280- fn fold_pattern_float ( & mut self , location : SrcSpan , value : EcoString ) -> UntypedPattern {
1281- Pattern :: Float { location, value }
1311+ fn fold_pattern_float (
1312+ & mut self ,
1313+ location : SrcSpan ,
1314+ value : EcoString ,
1315+ float_value : LiteralFloatValue ,
1316+ ) -> UntypedPattern {
1317+ Pattern :: Float {
1318+ location,
1319+ value,
1320+ float_value,
1321+ }
12821322 }
12831323
12841324 fn fold_pattern_string ( & mut self , location : SrcSpan , value : EcoString ) -> UntypedPattern {
0 commit comments