[Issue 2217] New: Cannot create deprecated alias of type derived from deprecated type

d-bugmail at puremagic.com d-bugmail at puremagic.com
Fri Jul 11 03:45:48 PDT 2008


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

           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 at digitalmars.com
        ReportedBy: smjg at 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.


-- 



More information about the Digitalmars-d-bugs mailing list