Summary: Permit static+abstract
           Product: D
           Version: D2
          Platform: All
        OS/Version: Windows
            Status: NEW
          Severity: enhancement
          Priority: P2
         Component: DMD

--- Comment #0 from Austin Hastings <> 2010-11-14 12:41:13 
PST ---
The abstract keyword currently cannot be used with "non virtual" functions.
IMO, this is an error. 

Non-virtual simply means that only one layer of implementation will be possible
- since a vtable would be required to disambiguate multiple layers. It does not
mean that the implementation is automatically obvious, nor does it mean that
multiple layers of interfaces cannot be composed into the single layer of

Factory methods, for example, are usually static. And in the presence of
templates, the expectation should be for a high degree of fan-out, but not much
depth. (That is, a template can be realized with many type parameters, but is
less likely to be stacked up in a deep inheritance tree, although it does

Thus, I would very much like to be able to require a static method, via the
abstract keyword.

Configure issuemail:
------- You are receiving this mail because: -------

Reply via email to