[Issue 7744] Forward reference in string mixin

d-bugmail at puremagic.com d-bugmail at puremagic.com
Fri Nov 22 00:27:31 PST 2013


https://d.puremagic.com/issues/show_bug.cgi?id=7744


Kenji Hara <k.hara.pg at gmail.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Keywords|                            |pull, rejects-valid
           Platform|x86                         |All
            Summary|Crash with forward          |Forward reference in string
                   |reference in string mixin   |mixin
         OS/Version|Windows                     |All


--- Comment #1 from Kenji Hara <k.hara.pg at gmail.com> 2013-11-22 00:27:30 PST ---
(In reply to comment #0)
> Hi, I was working on a grammar with Pegged and dmd crashed. I reduced it to:
> 
> class ZeroOrMore(Expr)
> {
>     enum name = "ZeroOrMore!("~Expr.name~")";
> }
> class Range(char begin, char end)
> {
>     enum name = "Range!("~begin~","~end~")";
> }
> mixin(q{
>     class RubySource : ZeroOrMore!(DecLiteral)
>     {
>     }
>     class DecLiteral : Range!('0','9')
>     {
>     }
> });
> void main() {
> }
> 
> I get this error, followed by dmd crashing:
> 
> dmd_crash.d(13): Error: class dmd_crash.DecLiteral is forward referenced when
> looking for 'name'

With git head, crash does not occur anymore. However compilation still wrongly
fails.

https://github.com/D-Programming-Language/dmd/pull/2853

-- 
Configure issuemail: https://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------


More information about the Digitalmars-d-bugs mailing list