From c522170983576c533b8a378040648612aeee7953 Mon Sep 17 00:00:00 2001 From: Hackerpilot Date: Mon, 4 Nov 2013 12:40:23 -0800 Subject: [PATCH] Fix #54 --- stdx/d/parser.d | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/stdx/d/parser.d b/stdx/d/parser.d index 6964743..043d38e 100644 --- a/stdx/d/parser.d +++ b/stdx/d/parser.d @@ -1683,7 +1683,23 @@ class ClassFour(A, B) if (someTest()) : Super {}}c; if (peekIs(TokenType.template_)) node.mixinTemplateDeclaration = parseMixinTemplateDeclaration(); else - node.mixinDeclaration = parseMixinDeclaration(); + { + auto b = setBookmark(); + advance(); + auto t = peekPastParens(); + if (t !is null && t.type == TokenType.semicolon) + { + goToBookmark(b); + node.mixinDeclaration = parseMixinDeclaration(); + } + else + { + goToBookmark(b); + error("Declaration expected"); + advance(); + return null; + } + } break; case pragma_: node.pragmaDeclaration = parsePragmaDeclaration();