www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.bugs - [Issue 5823] New: property call syntax restriction not implemented

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

           Summary:  property call syntax restriction not implemented
           Product: D
           Version: D2
          Platform: All
        OS/Version: All
            Status: NEW
          Severity: normal
          Priority: P2
         Component: DMD
        AssignedTo: nobody puremagic.com
        ReportedBy: michel.fortin michelf.com



18:02:26 EDT ---
(Initially posted on the phobos mailing list:
<http://lists.puremagic.com/pipermail/phobos/2011-April/004768.html>)

I made an experiment last month: I changed an "#if 0" to "#if 1" in the
compiler source, one that was meant to enable proper enforcement of the
property syntax. Then I went on an fixed a things everywhere to make everything
compile and work.

It turned out to be a colossal task to fix everything that needed fixing (a few
things DMD but most problems coming from Phobos and Druntime), and after doing
a lot of it I started working on other things and left the project untouched
since then.

I'd have preferred to present something finished, but given that I'm not sure
when I'll work on it again I though it might be a good idea to let someone else
take over (if someone wants to). Even if no one works on it, it might be
interesting as a way to see how many things have been relying on the
non-enforcement of  property. You can look at the " property" branch in my dmd,
druntime and Phobos forks on github to see what was affected by this change:

DMD:
<https://github.com/michelf/dmd/commits/%40property>

Druntime:
<https://github.com/michelf/druntime/commits/%40property>

Phobos:
<https://github.com/michelf/phobos/commits/%40property>

Status: Druntime changes should be complete, Phobos is incomplete and I think I
was stuck on a compiler bug triggered by this change when I stopped working on
it last month, so there might be still a few things to fix in the compiler.

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
Apr 08 2011
next sibling parent d-bugmail puremagic.com writes:
http://d.puremagic.com/issues/show_bug.cgi?id=5823


Walter Bright <bugzilla digitalmars.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |RESOLVED
                 CC|                            |bugzilla digitalmars.com
         Resolution|                            |FIXED



12:05:43 PDT ---
https://github.com/D-Programming-Language/dmd/commit/6a15077f8189e1ef203565edaebc766446aa105b

Added -property switch.

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
Jun 23 2011
prev sibling parent d-bugmail puremagic.com writes:
http://d.puremagic.com/issues/show_bug.cgi?id=5823


bearophile_hugs eml.cc changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |bearophile_hugs eml.cc



A good step forward to remove one of the most visible (even if practically not
so bad) warts of D. In few months, or a year, I hope to see this switch
removed.

By the way, I support a semantically clean approach on this, with no special
cases: use  property if you want a property without (), or add () if you want a
() function call syntax.

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