Bug 2217 – Cannot create deprecated alias of type derived from deprecated type

Status
RESOLVED
Resolution
DUPLICATE
Severity
regression
Priority
P2
Component
dmd
Product
D
Version
D1 (retired)
Platform
x86
OS
Windows
Creation time
2008-07-11T05:45:00Z
Last change time
2014-03-01T00:36:07Z
Keywords
rejects-valid
Assigned to
bugzilla
Creator
smjg

Comments

Comment #0 by smjg — 2008-07-11T05:45:47Z
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.
Comment #1 by clugdbug — 2008-07-11T07:10:17Z
This seems to be a generalisation of #2208. It works in the pre-release of DMD1.033. *** This bug has been marked as a duplicate of 2208 ***