Skip to content

Commit faef52a

Browse files
committed
Fix for #23150
1 parent e4f9ddb commit faef52a

File tree

2 files changed

+18
-1
lines changed

2 files changed

+18
-1
lines changed

src/libcore/fmt/float.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -242,7 +242,7 @@ pub fn float_to_str_bytes_common<T: Float, U, F>(
242242
if i < 0
243243
|| buf[i as usize] == b'-'
244244
|| buf[i as usize] == b'+' {
245-
for j in (i as usize + 1..end).rev() {
245+
for j in ((i + 1) as usize..end).rev() {
246246
buf[j + 1] = buf[j];
247247
}
248248
buf[(i + 1) as usize] = value2ascii(1);

src/libcoretest/fmt/float.rs

+17
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
// Copyright 2014 The Rust Project Developers. See the COPYRIGHT
2+
// file at the top-level directory of this distribution and at
3+
// http://rust-lang.org/COPYRIGHT.
4+
//
5+
// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
6+
// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
7+
// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
8+
// option. This file may not be copied, modified, or distributed
9+
// except according to those terms.
10+
11+
#[test]
12+
fn test_format_float() {
13+
assert!("1" == format!("{:.0}", 1.0f64));
14+
assert!("9" == format!("{:.0}", 9.4f64));
15+
assert!("10" == format!("{:.0}", 9.9f64));
16+
assert!("9.9" == format!("{:.1}", 9.85f64));
17+
}

0 commit comments

Comments
 (0)