Thread overview
[Issue 5823] New: @property call syntax restriction not implemented
Apr 08, 2011
Michel Fortin
Jun 23, 2011
Walter Bright
April 08, 2011
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


--- Comment #0 from Michel Fortin <michel.fortin@michelf.com> 2011-04-08 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: -------
June 23, 2011
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


--- Comment #1 from Walter Bright <bugzilla@digitalmars.com> 2011-06-23 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: -------
June 23, 2011
http://d.puremagic.com/issues/show_bug.cgi?id=5823


bearophile_hugs@eml.cc changed:

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


--- Comment #2 from bearophile_hugs@eml.cc 2011-06-23 13:45:36 PDT ---
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: -------