www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.bugs - [Issue 2217] New: Cannot create deprecated alias of type derived from deprecated type

reply d-bugmail puremagic.com writes:

           Summary: Cannot create deprecated alias of type derived from
                    deprecated type
           Product: D
           Version: 1.032
          Platform: PC
        OS/Version: Windows
            Status: NEW
          Keywords: rejects-valid
          Severity: regression
          Priority: P2
         Component: DMD
        AssignedTo: bugzilla digitalmars.com
        ReportedBy: smjg iname.com

With the purported deprecation bug fixes in DMD 1.032, a number of new
deprecation bugs seem to have (re)surfaced.  Issue 2207 and issue 2208 are two;
here is another (probably related to 2208).

deprecated {
    class DepClass {}

    alias DepClass DepClassAlias;     // works
    alias DepClass* DepClassPointer;  // all the rest fail
    alias DepClass[] DepClassArray;
    alias void function(DepClass) DepClassParam;
    alias DepClass function() DepClassReturn;
dep_1032_a.d(5): class dep_1032_a.DepClass is deprecated
dep_1032_a.d(6): class dep_1032_a.DepClass is deprecated
dep_1032_a.d(7): class dep_1032_a.DepClass is deprecated
dep_1032_a.d(8): class dep_1032_a.DepClass is deprecated

The aliases being created are themselves deprecated, so it is within their
rights to depend on deprecated stuff.

This happens regardless of whether the original deprecated type is a class,
interface, struct, union, enum, alias or typedef.

This has broken the WindowsAPI project at least.

Jul 11 2008
parent d-bugmail puremagic.com writes:

clugdbug yahoo.com.au changed:

           What    |Removed                     |Added
             Status|NEW                         |RESOLVED
         Resolution|                            |DUPLICATE

------- Comment #1 from clugdbug yahoo.com.au  2008-07-11 07:10 -------
This seems to be a generalisation of #2208. It works in the pre-release of

*** This bug has been marked as a duplicate of 2208 ***

Jul 11 2008