shithub: mc

Download patch

ref: 606f89e86ad2574ec1875cefbbcbb35dabcad6f6
parent: 82caf37a31be7f2cc513d05309e91452a862a5d6
author: Ori Bernstein <[email protected]>
date: Mon Feb 24 14:30:09 EST 2014

Remove unnecessary endline from trait defn

    This spurious endln was causing parses to fail when the trait
    proto wasn't followed by a blank line.

--- a/parse/gram.y
+++ b/parse/gram.y
@@ -194,6 +194,7 @@
 
 toplev  : package
         | use {lappend(&file->file.uses, &file->file.nuses, $1);}
+        | implstmt {lappend(&file->file.stmts, &file->file.nstmts, $1);}
         | traitdef {
                 size_t i;
                 puttrait(file->file.globls, $1->name, $1);
@@ -200,7 +201,6 @@
                 for (i = 0; i < $1->nfuncs; i++)
                     putdcl(file->file.exports, $1->funcs[i]);
             }
-        | implstmt {lappend(&file->file.stmts, &file->file.nstmts, $1);}
         | tydef {
                 puttype(file->file.globls, mkname($1.line, $1.name), $1.type);
                 installucons(file->file.globls, $1.type);
@@ -335,7 +335,7 @@
             }
         ;
 
-traitdef: Ttrait Tident generictype Tendln /* trait prototype */ {
+traitdef: Ttrait Tident generictype /* trait prototype */ {
                 $$ = mktrait($1->line, mkname($2->line, $2->str), $3, NULL, 0, NULL, 0, 1);
             }
         | Ttrait Tident generictype Tasn traitbody Tendblk /* trait definition */ {