about summary refs log tree commit diff
path: root/src/libsyntax/parse
diff options
context:
space:
mode:
authorDaniel Micay <danielmicay@gmail.com>2013-09-26 02:26:09 -0400
committerDaniel Micay <danielmicay@gmail.com>2013-10-01 14:54:10 -0400
commitc9d4ad07c4c166d655f11862e03c10100dcb704b (patch)
tree53a506f27ce5d9e192ef540ae3ad4010eba10fee /src/libsyntax/parse
parent24a253778aa26222cae97e3b57f85e5054a39977 (diff)
downloadrust-c9d4ad07c4c166d655f11862e03c10100dcb704b.tar.gz
rust-c9d4ad07c4c166d655f11862e03c10100dcb704b.zip
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
Diffstat (limited to 'src/libsyntax/parse')
-rw-r--r--src/libsyntax/parse/lexer.rs7
1 files changed, 1 insertions, 6 deletions
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 {