Thread overview | |||||||
---|---|---|---|---|---|---|---|
|
February 20, 2013 [Issue 9546] New: getProtection trait does not work with mixin or getMember | ||||
---|---|---|---|---|
| ||||
http://d.puremagic.com/issues/show_bug.cgi?id=9546 Summary: getProtection trait does not work with mixin or getMember Product: D Version: D2 Platform: All OS/Version: All Status: NEW Keywords: rejects-valid Severity: normal Priority: P2 Component: DMD AssignedTo: nobody@puremagic.com ReportedBy: andrej.mitrovich@gmail.com --- Comment #0 from Andrej Mitrovic <andrej.mitrovich@gmail.com> 2013-02-19 20:37:50 PST --- /imorts/a.d: --------------------------- module imports.a; class S { private int privA; protected int protA; package int packA; } --------------------------- /test.d: --------------------------- import imports.a; void main() { S s; static assert(__traits(getProtection, s.privA) == "private"); static assert(__traits(getProtection, s.protA) == "protected"); static assert(__traits(getProtection, s.packA) == "package"); /** NG - symbols not accessible */ static assert(__traits(getProtection, mixin("s.privA")) == "private"); static assert(__traits(getProtection, mixin("s.protA")) == "protected"); static assert(__traits(getProtection, mixin("s.packA")) == "package"); /** NG - symbols not accessible */ static assert(__traits(getProtection, __traits(getMember, s, "privA")) == "private"); static assert(__traits(getProtection, __traits(getMember, s, "protA")) == "protected"); static assert(__traits(getProtection, __traits(getMember, s, "packA")) == "package"); } --------------------------- -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- |
February 20, 2013 [Issue 9546] getProtection trait does not work with mixin or getMember | ||||
---|---|---|---|---|
| ||||
Posted in reply to Andrej Mitrovic | http://d.puremagic.com/issues/show_bug.cgi?id=9546 --- Comment #1 from Andrej Mitrovic <andrej.mitrovich@gmail.com> 2013-02-19 21:12:30 PST --- An almost working workaround is to use T.init.tupleof[index] to get a member without triggering access protection errors, however this will not work with methods since they're not part of .tupleof() (only fields are). -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- |
July 19, 2013 [Issue 9546] getProtection trait does not work with mixin or getMember | ||||
---|---|---|---|---|
| ||||
Posted in reply to Andrej Mitrovic | http://d.puremagic.com/issues/show_bug.cgi?id=9546 Kenji Hara <k.hara.pg@gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Keywords| |pull --- Comment #2 from Kenji Hara <k.hara.pg@gmail.com> 2013-07-19 01:09:14 PDT --- https://github.com/D-Programming-Language/dmd/pull/2361 -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- |
July 21, 2013 [Issue 9546] getProtection trait does not work with mixin or getMember | ||||
---|---|---|---|---|
| ||||
Posted in reply to Andrej Mitrovic | http://d.puremagic.com/issues/show_bug.cgi?id=9546 --- Comment #3 from github-bugzilla@puremagic.com 2013-07-21 13:15:50 PDT --- Commits pushed to master at https://github.com/D-Programming-Language/dmd https://github.com/D-Programming-Language/dmd/commit/ad28224b3c5240f466c8e3b384a55b07742a4a90 fix Issue 9546 - getProtection trait does not work with mixin or getMember Stop access check during `__traits(getProtection)` evaluated. https://github.com/D-Programming-Language/dmd/commit/2ead3f00168ce9b99e1c845e631b3603bcccb905 Merge pull request #2361 from 9rnsr/fix9546 Issue 9546 - getProtection trait does not work with mixin or getMember -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- |
July 21, 2013 [Issue 9546] getProtection trait does not work with mixin or getMember | ||||
---|---|---|---|---|
| ||||
Posted in reply to Andrej Mitrovic | http://d.puremagic.com/issues/show_bug.cgi?id=9546 Walter Bright <bugzilla@digitalmars.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED CC| |bugzilla@digitalmars.com Resolution| |FIXED -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- |
Copyright © 1999-2021 by the D Language Foundation