[Issue 2495] New: const syntax for member functions needs better description

d-bugmail at puremagic.com d-bugmail at puremagic.com
Sat Dec 6 11:23:58 PST 2008


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

           Summary: const syntax for member functions needs better
                    description
           Product: D
           Version: 2.021
          Platform: PC
        OS/Version: Linux
            Status: NEW
          Severity: normal
          Priority: P2
         Component: www.digitalmars.com
        AssignedTo: bugzilla at digitalmars.com
        ReportedBy: jlquinn at optonline.net


The syntax for declaring const member functions is not very clear.  There is no
grammar.  You need to infer from various examples what to do.  For instance:

class B {}
class A {
  B x;
  const B getB() { return B; }
}

doesn't compile, because this is a const function returning a nonconst value.  
I had to find the answer on a forum.  It's challenging to figure this out from
the docs:

class B {}
class A {
  B x;
  const const(B) getB() { return B; }
}

Examples covering more use cases would probably help, as well as more formally
describing how const is specified.  Perhaps modifying the example of an
invariant member function to return a value (other than string) would help.


-- 



More information about the Digitalmars-d-bugs mailing list