http://d.puremagic.com/issues/show_bug.cgi?id=9317



--- Comment #5 from Kenji Hara <k.hara...@gmail.com> 2013-01-14 07:35:48 PST ---
(In reply to comment #4)
> (In reply to comment #2)
> > In current, the set of valid parameter storage classes is (scope, out ref,
> > lazy).
> > And `inout` is always treated as a type qualifier, so is not contained the 
> > set.
> 
> Is there any single place on dlang.org or in TDPL where this can be read? I am
> struggling to find proper classification of D type system since the very start
> of work on fullyQualifiedTypeName.

Mostly complete thing is here.
http://dlang.org/function#parameters

- const, immutable, share, and inout implicitly qualify the parameter type.
  That means, foo(const T param) is implicitly translated to foo(const(T)
param).
  After that, they will not remain as actual 'storage class'.
- The description >>'in'    equivalent to 'const scope'<< is not correct.
  With current compiler implementation, 'in' is just treated as 'const'.
  So it's treated as a part of type, and will not remain as actual 'storage
class'
- Remaining four, 'ref', 'scope', 'lazy', and 'out' will have actual meanings
as 'storage class'.

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

Reply via email to