diff options
| author | bors <bors@rust-lang.org> | 2019-01-25 01:18:13 +0000 |
|---|---|---|
| committer | bors <bors@rust-lang.org> | 2019-01-25 01:18:13 +0000 |
| commit | a41ade7bc37360db40ab3111ce95acdfd9d0bcb3 (patch) | |
| tree | ed703bb2e268afcba45781c78f06fce045a0c086 /src/libcore | |
| parent | 278067d34d1535a840cf9c99bcb8b538bf5b109a (diff) | |
| parent | a6fa7de8e7e06b132ecda6945746a416a972c763 (diff) | |
| download | rust-a41ade7bc37360db40ab3111ce95acdfd9d0bcb3.tar.gz rust-a41ade7bc37360db40ab3111ce95acdfd9d0bcb3.zip | |
Auto merge of #57888 - Centril:rollup, r=Centril
Rollup of 5 pull requests
Successful merges:
- #56217 (Add grammar in docs for {f32,f64}::from_str, mention known bug.)
- #57294 (When using value after move, point at span of local)
- #57652 (Update/remove some old readmes)
- #57802 (Print visible name for types as well as modules.)
- #57865 (Don't ICE when logging unusual types)
Failed merges:
r? @ghost
Diffstat (limited to 'src/libcore')
| -rw-r--r-- | src/libcore/num/dec2flt/mod.rs | 26 |
1 files changed, 25 insertions, 1 deletions
diff --git a/src/libcore/num/dec2flt/mod.rs b/src/libcore/num/dec2flt/mod.rs index 58b196a6eac..14a912872be 100644 --- a/src/libcore/num/dec2flt/mod.rs +++ b/src/libcore/num/dec2flt/mod.rs @@ -112,11 +112,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 [EBNF] grammar + /// will result in an [`Ok`] being returned: + /// + /// ```txt + /// Float ::= Sign? ( 'inf' | 'NaN' | Number ) + /// Number ::= ( Digit+ | + /// Digit+ '.' Digit* | + /// Digit* '.' Digit+ ) Exp? + /// Exp ::= [eE] Sign? Digit+ + /// Sign ::= [+-] + /// Digit ::= [0-9] + /// ``` + /// + /// [EBNF]: https://www.w3.org/TR/REC-xml/#sec-notation + /// + /// # Known bugs + /// + /// In some situations, some strings that should create a valid float + /// instead return an error. See [issue #31407] for details. + /// + /// [issue #31407]: https://github.com/rust-lang/rust/issues/31407 + /// /// # Arguments /// /// * src - A string |
