From c9d4ad07c4c166d655f11862e03c10100dcb704b Mon Sep 17 00:00:00 2001 From: Daniel Micay Date: Thu, 26 Sep 2013 02:26:09 -0400 Subject: remove the `float` type It is simply defined as `f64` across every platform right now. A use case hasn't been presented for a `float` type defined as the highest precision floating point type implemented in hardware on the platform. Performance-wise, using the smallest precision correct for the use case greatly saves on cache space and allows for fitting more numbers into SSE/AVX registers. If there was a use case, this could be implemented as simply a type alias or a struct thanks to `#[cfg(...)]`. Closes #6592 The mailing list thread, for reference: https://mail.mozilla.org/pipermail/rust-dev/2013-July/004632.html --- src/libsyntax/parse/lexer.rs | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) (limited to 'src/libsyntax/parse') diff --git a/src/libsyntax/parse/lexer.rs b/src/libsyntax/parse/lexer.rs index 640c7c220e5..4a384f864b0 100644 --- a/src/libsyntax/parse/lexer.rs +++ b/src/libsyntax/parse/lexer.rs @@ -530,7 +530,6 @@ fn scan_number(c: char, rdr: @mut StringReader) -> token::Token { None => () } - let mut is_machine_float = false; if rdr.curr == 'f' { bump(rdr); c = rdr.curr; @@ -549,14 +548,10 @@ fn scan_number(c: char, rdr: @mut StringReader) -> token::Token { 32-bit or 64-bit float, it won't be noticed till the back-end. */ } else { - is_float = true; - is_machine_float = true; + fatal_span(rdr, start_bpos, rdr.last_pos, ~"expected `f32` or `f64` suffix"); } } if is_float { - if is_machine_float { - return token::LIT_FLOAT(str_to_ident(num_str), ast::ty_f); - } return token::LIT_FLOAT_UNSUFFIXED(str_to_ident(num_str)); } else { if num_str.len() == 0u { -- cgit 1.4.1-3-g733a5