about summary refs log tree commit diff
path: root/src/libsyntax/parse/parser.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/libsyntax/parse/parser.rs')
-rw-r--r--src/libsyntax/parse/parser.rs7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/libsyntax/parse/parser.rs b/src/libsyntax/parse/parser.rs
index 6e16e4eec1a..e0570c537a7 100644
--- a/src/libsyntax/parse/parser.rs
+++ b/src/libsyntax/parse/parser.rs
@@ -2722,12 +2722,14 @@ impl Parser {
                     self_id: self.get_id(),
                     body: d_body},
              span: d_s}};
+        let _ = self.get_id();  // XXX: Workaround for crazy bug.
         (class_name,
          item_class(@{
              traits: traits,
              fields: move fields,
              methods: move methods,
-             dtor: actual_dtor
+             dtor: actual_dtor,
+             ctor_id: self.get_id()
          }, ty_params),
          None)
     }
@@ -3073,7 +3075,8 @@ impl Parser {
             traits: ~[],
             fields: move fields,
             methods: move methods,
-            dtor: actual_dtor
+            dtor: actual_dtor,
+            ctor_id: self.get_id()
         };
     }