difftreelog
fix std.format freezes with '%g' % 0
in: master
Upstream issue: https://github.com/google/go-jsonnet/issues/554
1 file changed
crates/jrsonnet-evaluator/src/stdlib/format.rsdiffbeforeafterboth430 for b in frac_str.as_bytes().iter().rev() {430 for b in frac_str.as_bytes().iter().rev() {431 if *b == b'0' {431 if *b == b'0' {432 trim -= 1;432 trim -= 1;433 }433 } else {434 break;435 }434 }436 }435 }437 }436 out.push_str(&frac_str[..trim]);438 out.push_str(&frac_str[..trim]);556 }558 }557 ConvTypeV::Shorter => {559 ConvTypeV::Shorter => {558 let value = f64::from_untyped(value.clone())?;560 let value = f64::from_untyped(value.clone())?;559 let exponent = value.log10().floor();561 let exponent = if value == 0.0 {562 0.0563 } else {564 value.abs().log10().floor()565 };560 if exponent < -4.0 || exponent >= fpprec as f64 {566 if exponent < -4.0 || exponent >= fpprec as f64 {561 render_float_sci(567 render_float_sci(562 &mut tmp_out,568 &mut tmp_out,