Add grammar for {f32,f64}::from_str, mention known bug.

- Original bug about documenting grammar
  - https://github.com/rust-lang/rust/issues/32243
- Known bug with parsing
  - https://github.com/rust-lang/rust/issues/31407
This commit is contained in:
Corey Farwell 2018-11-25 11:35:38 -05:00
parent e9bca7a993
commit 1798d51da6

View file

@ -122,11 +122,35 @@ macro_rules! from_str_float_impl {
/// * '2.5E10', or equivalently, '2.5e10'
/// * '2.5E-10'
/// * '5.'
/// * '.5', or, equivalently, '0.5'
/// * '.5', or, equivalently, '0.5'
/// * 'inf', '-inf', 'NaN'
///
/// Leading and trailing whitespace represent an error.
///
/// # Grammar
///
/// All strings that adhere to the following regular expression
/// will result in an [`Ok`] being returned:
///
/// ```txt
/// (\+|-)?
/// (inf|
/// NaN|
/// ([0-9]+|
/// [0-9]+\.[0-9]*|
/// [0-9]*\.[0-9]+)
/// ((e|E)
/// (\+|-)?
/// [0-9]+)?)
/// ```
///
/// # Known bugs
///
/// * [#31407]: Some strings that adhere to the regular expression
/// above will incorrectly return an [`Err`].
///
/// [#31407]: https://github.com/rust-lang/rust/issues/31407
///
/// # Arguments
///
/// * src - A string