Consider making `f64::from_str(src: &str) -> Result<f64, ParseFloatError>` case insensitive due to the following reasons: 1. people may see infinity as a constant and write `"INF"` or `"Inf"` 2. `f64::INFINITY` is all upper case 3. `f64::NAN` is all upper case 4. `is_nan` is all lower case 5. `e` in `"12e3"` is case insensitive, so it seems to be inconsequent 6. `"NaN"` is camel case, but `"inf"` is lower case, which seems to be a little bit inconsistent 7. `to_ascii_lowercase` is slow and will not be of help as `"NaN"` is mixed case 8. `to_ascii_uppercase` is slow and will not be of help as `"NaN"` is mixed case 9. a hypotetical function `to_standard_form(src: &str, dest: &mut str) -> Result<(), ParseFloatError>` is not possible as `str` cannot be mutable So far, only `"inf"` and `"NaN"` are allowed. Cons: * slows parsers down by a minimal amount * increases code size by a minimal amount
Activity
clarfonthey commentedon Mar 9, 2018
Note that you can obtain
&mut strfrom aStringor&mut [u8]. Nonetheless, this makes sense, and I'll work on it.dtolnay commentedon Mar 13, 2018
As discussed in #48886 -- I believe we should keep this the way it is. Thanks anyway!