Difference between revisions of "DIP3"

From D Wiki
Jump to: navigation, search
(Migrating DIP3 from old wiki)
(This was already implemented as part of issue# 5299, so I'm just going to mark it as approved.)
Line 10: Line 10:

Latest revision as of 04:16, 17 January 2013

Title: Remove inheritance protection
DIP: 3
Version: 1
Status: Approved
Created: 2009-07-11
Last Modified: 2009-07-11
Breaks: Probably Little
Related Issue: Bugzilla 177
Links: DIP3/ArchiveOriginal Prowiki Page


Non-public inheritance in a single inheritance language that has a single root object hierarchy makes little sense.


Hiding 'Object' level attributes from a class leads to strange behavior.


The compiler is behaving as spec'ed, but the value and correctness of this part of the spec is in question.

The suggested change, effectively drop one line from the grammar.

        Protection Identifier // delete

An alternative would be for Object to always be forced to public visibility even if there's a break in the public chain up to it.


This document has been placed in the Public Domain.