Rollup merge of #94838 - antonok-edm:float-parse-docs, r=Dylan-DPC
Make float parsing docs more comprehensive I was working on some code with some specialized restrictions on float parsing. I noticed the doc comments for `f32::from_str` and `f64::from_str` were missing several cases of valid inputs that are otherwise difficult to discover without looking at source code. I'm not sure if the doc comments were initially intended to contain a comprehensive description of valid inputs, but I figured it's useful to include these extra cases for reference.
This commit is contained in:
commit
ad513548ce
@ -112,21 +112,24 @@ impl FromStr for $t {
|
|||||||
/// * '2.5E-10'
|
/// * '2.5E-10'
|
||||||
/// * '5.'
|
/// * '5.'
|
||||||
/// * '.5', or, equivalently, '0.5'
|
/// * '.5', or, equivalently, '0.5'
|
||||||
/// * 'inf', '-inf', 'NaN'
|
/// * 'inf', '-inf', '+infinity', 'NaN'
|
||||||
|
///
|
||||||
|
/// Note that alphabetical characters are not case-sensitive.
|
||||||
///
|
///
|
||||||
/// Leading and trailing whitespace represent an error.
|
/// Leading and trailing whitespace represent an error.
|
||||||
///
|
///
|
||||||
/// # Grammar
|
/// # Grammar
|
||||||
///
|
///
|
||||||
/// All strings that adhere to the following [EBNF] grammar
|
/// All strings that adhere to the following [EBNF] grammar when
|
||||||
/// will result in an [`Ok`] being returned:
|
/// lowercased will result in an [`Ok`] being returned:
|
||||||
///
|
///
|
||||||
/// ```txt
|
/// ```txt
|
||||||
/// Float ::= Sign? ( 'inf' | 'NaN' | Number )
|
/// Float ::= Sign? ( 'inf' | 'infinity' | 'nan' | Number )
|
||||||
/// Number ::= ( Digit+ |
|
/// Number ::= ( Digit+ |
|
||||||
|
/// '.' Digit* |
|
||||||
/// Digit+ '.' Digit* |
|
/// Digit+ '.' Digit* |
|
||||||
/// Digit* '.' Digit+ ) Exp?
|
/// Digit* '.' Digit+ ) Exp?
|
||||||
/// Exp ::= [eE] Sign? Digit+
|
/// Exp ::= 'e' Sign? Digit+
|
||||||
/// Sign ::= [+-]
|
/// Sign ::= [+-]
|
||||||
/// Digit ::= [0-9]
|
/// Digit ::= [0-9]
|
||||||
/// ```
|
/// ```
|
||||||
|
Loading…
Reference in New Issue
Block a user