www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.bugs - [Issue 8429] New: [2.060 beta] 'version' rejected inside 'static if's

reply d-bugmail puremagic.com writes:
http://d.puremagic.com/issues/show_bug.cgi?id=8429

           Summary: [2.060 beta] 'version' rejected inside 'static if's
           Product: D
           Version: unspecified
          Platform: All
        OS/Version: All
            Status: NEW
          Keywords: rejects-valid
          Severity: regression
          Priority: P2
         Component: DMD
        AssignedTo: nobody puremagic.com
        ReportedBy: cbkbbejeap mailinator.com



20:14:42 PDT ---
static if(true)
    version = Foo;
static if(true)
    version(Foo) {}

Worked in 2.059, fails to compile on 2.060 beta:

test.d(2): Error: version Foo defined after use


that's *not* a regression)

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
Jul 24 2012
next sibling parent d-bugmail puremagic.com writes:
http://d.puremagic.com/issues/show_bug.cgi?id=8429


Walter Bright <bugzilla digitalmars.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |bugzilla digitalmars.com



20:22:23 PDT ---
I'm not so sure that version= declarations embedded inside static if's can ever
work reliably.

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
Jul 24 2012
prev sibling next sibling parent d-bugmail puremagic.com writes:
http://d.puremagic.com/issues/show_bug.cgi?id=8429


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

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Keywords|                            |pull



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

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
Jul 28 2012
prev sibling next sibling parent d-bugmail puremagic.com writes:
http://d.puremagic.com/issues/show_bug.cgi?id=8429




Commits pushed to master at https://github.com/D-Programming-Language/dmd

https://github.com/D-Programming-Language/dmd/commit/5d3de87ebd8ead3ccf96647f25c5207ba1558105
fix Issue 8429 - [2.060 beta] 'version' rejected inside 'static if's

This is a regression of fixing bug 7911.
Introduced commit: e558866cdd8c26daf90942ee6dd89e814347911b

StaticIfDeclaration::setScope speculatively distributes the scope to members,
and ConditionalDeclaration::setScope evaluate its condition.
So, the root cause is too early evaluation of  the condition of version block
which in static if.

https://github.com/D-Programming-Language/dmd/commit/e8fe11c20249cb9e42538be88c99b74ede4d12e3


Issue 8429 - [2.060 beta] 'version' rejected inside 'static if's

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
Jul 29 2012
prev sibling parent d-bugmail puremagic.com writes:
http://d.puremagic.com/issues/show_bug.cgi?id=8429


Walter Bright <bugzilla digitalmars.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |RESOLVED
         Resolution|                            |FIXED



14:53:57 PDT ---
Unsure if this should be folded into D1 or not.

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