about summary refs log tree commit diff
diff options
context:
space:
mode:
authorbors <bors@rust-lang.org>2015-09-14 20:37:49 +0000
committerbors <bors@rust-lang.org>2015-09-14 20:37:49 +0000
commitbc6c3970a072ced531f39eaa918084acd43c785a (patch)
tree7f8018ae112a2dec1217cec782392dc1bc02a982
parent22071ec6417948e156cbac2dc23d18c3dfaebbd7 (diff)
parentafa905fcf59580ac76b3e3677b5d9c82b4a19169 (diff)
downloadrust-bc6c3970a072ced531f39eaa918084acd43c785a.tar.gz
rust-bc6c3970a072ced531f39eaa918084acd43c785a.zip
Auto merge of #28247 - christopherdumas:fix_28243, r=eddyb
as per #28243.
-rw-r--r--src/libsyntax/parse/parser.rs2
-rw-r--r--src/test/parse-fail/tuple-float-index.rs16
2 files changed, 17 insertions, 1 deletions
diff --git a/src/libsyntax/parse/parser.rs b/src/libsyntax/parse/parser.rs
index 2308787bf67..ff622859cf0 100644
--- a/src/libsyntax/parse/parser.rs
+++ b/src/libsyntax/parse/parser.rs
@@ -2365,7 +2365,7 @@ impl<'a> Parser<'a> {
                         self.fileline_help(last_span,
                             &format!("try parenthesizing the first index; e.g., `(foo.{}){}`",
                                     float.trunc() as usize,
-                                    &float.fract().to_string()[1..]));
+                                    format!(".{}", fstr.splitn(2, ".").last().unwrap())));
                     }
                     self.abort_if_errors();
 
diff --git a/src/test/parse-fail/tuple-float-index.rs b/src/test/parse-fail/tuple-float-index.rs
new file mode 100644
index 00000000000..f3f5e356346
--- /dev/null
+++ b/src/test/parse-fail/tuple-float-index.rs
@@ -0,0 +1,16 @@
+// Copyright 2012 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+// compile-flags: -Z parse-only
+
+fn main () {
+    (1, (2, 3)).1.1; //~ ERROR unexpected token
+                     //~^ HELP try parenthesizing the first index; e.g., `(foo.1).1`
+}