rust/library/core/src/fmt
bors 90442458ac Auto merge of #86048 - nbdd0121:no_floating_point, r=Amanieu
core: add unstable no_fp_fmt_parse to disable float formatting code

In some projects (e.g. kernel), floating point is forbidden. They can disable
hardware floating point support and use `+soft-float` to avoid fp instructions
from being generated, but as libcore contains the formatting code for `f32`
and `f64`, some fp intrinsics are depended. One could define stubs for these
intrinsics that just panic [1], but it means that if any formatting functions
are accidentally used, mistake can only be caught during the runtime rather
than during compile-time or link-time, and they consume a lot of space without
LTO.

This patch provides an unstable cfg `no_fp_fmt_parse` to disable these.
A panicking stub is still provided for the `Debug` implementation (unfortunately)
because there are some SIMD types that use `#[derive(Debug)]`.

[1]: https://lkml.org/lkml/2021/4/14/1028
2021-07-04 14:18:57 +00:00
..
rt mv std libs to library/ 2020-07-27 19:51:13 -05:00
builders.rs Format Struct { .. } on one line even with {:#?}. 2021-04-21 13:50:56 +02:00
float.rs Move flt2dec::{Formatted, Part} to dedicated module 2021-06-06 02:54:51 +01:00
mod.rs Auto merge of #86048 - nbdd0121:no_floating_point, r=Amanieu 2021-07-04 14:18:57 +00:00
nofloat.rs core: add unstable no_fp_fmt_parse to disable float fmt/parse code 2021-07-02 22:52:37 +01:00
num.rs Move flt2dec::{Formatted, Part} to dedicated module 2021-06-06 02:54:51 +01:00