Make Rust error message mention the field name
authorTom Tromey <tom@tromey.com>
Thu, 13 Sep 2018 16:56:34 +0000 (10:56 -0600)
committerTom Tromey <tom@tromey.com>
Thu, 13 Sep 2018 16:57:40 +0000 (10:57 -0600)
I noticed a spot in rust-lang.c where the placeholder "foo" was used
instead of the actual field name.  This patch fixes the bug.

gdb/ChangeLog
2018-09-13  Tom Tromey  <tom@tromey.com>

PR rust/23650:
* rust-lang.c (rust_evaluate_subexp): Use field name, not "foo".

gdb/testsuite/ChangeLog
2018-09-13  Tom Tromey  <tom@tromey.com>

PR rust/23650:
* gdb.rust/simple.exp: Add test for enum field access error.

gdb/ChangeLog
gdb/rust-lang.c
gdb/testsuite/ChangeLog
gdb/testsuite/gdb.rust/simple.exp

index 1613808a6ce9bdaa9756e1ebf59fa4469ffc624d..5783e7cb0a346c3e0d108d7551945adac9e10259 100644 (file)
@@ -1,3 +1,8 @@
+2018-09-13  Tom Tromey  <tom@tromey.com>
+
+       PR rust/23650:
+       * rust-lang.c (rust_evaluate_subexp): Use field name, not "foo".
+
 2018-09-13  Tom Tromey  <tom@tromey.com>
 
        PR rust/23626:
index b77738979f3fbc5bcec0a82a69da829d5129c010..43db722142b87aeb2069c50979f269da4c590de0 100644 (file)
@@ -1726,9 +1726,9 @@ tuple structs, and tuple-like enum variants"));
            struct type *outer_type = type;
            type = value_type (lhs);
            if (rust_tuple_type_p (type) || rust_tuple_struct_type_p (type))
-               error (_("Attempting to access named field foo of tuple "
+               error (_("Attempting to access named field %s of tuple "
                         "variant %s::%s, which has only anonymous fields"),
-                      TYPE_NAME (outer_type),
+                      field_name, TYPE_NAME (outer_type),
                       rust_last_path_segment (TYPE_NAME (type)));
 
            TRY
index c356d0287a1d4205c8b2f354556f0d9e77f47ea3..7d6a2ecbf07d13d4d3d3a78e9070260fee2d584d 100644 (file)
@@ -1,3 +1,8 @@
+2018-09-13  Tom Tromey  <tom@tromey.com>
+
+       PR rust/23650:
+       * gdb.rust/simple.exp: Add test for enum field access error.
+
 2018-09-13  Tom Tromey  <tom@tromey.com>
 
        PR rust/23626:
index 07b25122200c804bb3a536bc83c016f1ede33e78..956a6ca6fee6034b766302973904903fff6765fb 100644 (file)
@@ -134,6 +134,8 @@ gdb_test "print univariant" " = simple::Univariant::Foo{a: 1}"
 gdb_test "print univariant.a" " = 1"
 gdb_test "print univariant_anon" " = simple::UnivariantAnon::Foo\\(1\\)"
 gdb_test "print univariant_anon.0" " = 1"
+gdb_test "print univariant_anon.sss" \
+    "Attempting to access named field sss of tuple variant simple::UnivariantAnon::Foo, which has only anonymous fields"
 
 gdb_test_sequence "ptype simple::Univariant" "" {
     "type = enum simple::Univariant \\{"