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

D issues are now tracked on GitHub. This Bugzilla instance remains as a read-only archive.
Issue 2217 - Cannot create deprecated alias of type derived from deprecated type
Summary: Cannot create deprecated alias of type derived from deprecated type
Status: RESOLVED DUPLICATE of issue 2208
Alias: None
Product: D
Classification: Unclassified
Component: dmd (show other issues)
Version: D1 (retired)
Hardware: x86 Windows
: P2 regression
Assignee: Walter Bright
URL:
Keywords: rejects-valid
Depends on:
Blocks:
Reported: 2008年07月11日 05:45 UTC by Stewart Gordon
Modified: 2014年03月01日 00:36 UTC (History)
0 users

See Also:


Attachments
Add an attachment (proposed patch, testcase, etc.)

Note You need to log in before you can comment on or make changes to this issue.
Description Stewart Gordon 2008年07月11日 05:45:47 UTC
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 Don 2008年07月11日 07:10:17 UTC
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 ***


AltStyle によって変換されたページ (->オリジナル) /