[Issue 12363] getProtection trait doesn't work for certain kinds of fields (and is poorly designed...)
via Digitalmars-d-bugs
digitalmars-d-bugs at puremagic.com
Fri Dec 19 14:25:22 PST 2014
https://issues.dlang.org/show_bug.cgi?id=12363
Luca Niccoli <lultimouomo at gmail.com> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |lultimouomo at gmail.com
--- Comment #1 from Luca Niccoli <lultimouomo at gmail.com> ---
On the same vein:
---
struct Template(string String) {
alias Alias = String;
}
pragma(msg, __traits(getProtection, __traits(getMember, Template!"string",
"Alias")));
---
Output:
---
app.d(4): Error: argument "string" has no protection
false
---
And a bit different, but related:
---
struct Struct{};
struct Template(Type) {
private alias Alias = Type;
}
pragma(msg, __traits(getProtection, __traits(getMember, Template!Struct,
"Alias")));
---
Output:
---
public
---
which does not seem right.
Going through getMember makes it impossible to get the protection attribute of
member aliases.
--
More information about the Digitalmars-d-bugs
mailing list