digitalmars.D.bugs - [Issue 6614] New: std.traits should have an isFinal template
- d-bugmail puremagic.com (24/24) Sep 06 2011 http://d.puremagic.com/issues/show_bug.cgi?id=6614
- d-bugmail puremagic.com (18/18) Dec 02 2012 http://d.puremagic.com/issues/show_bug.cgi?id=6614
- d-bugmail puremagic.com (7/7) Dec 02 2012 http://d.puremagic.com/issues/show_bug.cgi?id=6614
- d-bugmail puremagic.com (29/29) Dec 27 2012 http://d.puremagic.com/issues/show_bug.cgi?id=6614
- d-bugmail puremagic.com (10/10) Jan 22 2013 http://d.puremagic.com/issues/show_bug.cgi?id=6614
- d-bugmail puremagic.com (7/8) Jan 23 2013 http://d.puremagic.com/issues/show_bug.cgi?id=6614
- d-bugmail puremagic.com (11/11) Jan 25 2013 http://d.puremagic.com/issues/show_bug.cgi?id=6614
- d-bugmail puremagic.com (9/9) Jan 26 2013 http://d.puremagic.com/issues/show_bug.cgi?id=6614
- d-bugmail puremagic.com (10/10) Jan 26 2013 http://d.puremagic.com/issues/show_bug.cgi?id=6614
http://d.puremagic.com/issues/show_bug.cgi?id=6614 Summary: std.traits should have an isFinal template Product: D Version: D2 Platform: Other OS/Version: Linux Status: NEW Severity: enhancement Priority: P2 Component: Phobos AssignedTo: nobody puremagic.com ReportedBy: timon.gehr gmx.ch std.traits should have an isFinal template which indicates if a class type or member function is final. class A{} final class B{} static assert(!isFinal!A && isFinal!B); class C{int foo();} class D{final int foo();} static assert(!isFinal!(C.foo) && isFinal!(D.foo)); -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Sep 06 2011
http://d.puremagic.com/issues/show_bug.cgi?id=6614 Andrej Mitrovic <andrej.mitrovich gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |andrej.mitrovich gmail.com 09:56:01 PST --- We do have a trait for this: class A{} final class B{} void main() { static assert(!__traits(isFinalClass, A)); static assert(__traits(isFinalClass, B)); } Not too sure if it's worth having it as a template in std.traits? -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Dec 02 2012
http://d.puremagic.com/issues/show_bug.cgi?id=6614 09:57:00 PST --- For functions there's: __traits(isFinalFunction, ...) -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Dec 02 2012
http://d.puremagic.com/issues/show_bug.cgi?id=6614 12:59:59 PST --- So is the idea of the enhancement just to merge the two traits under a single name via Phobos templates? E.g. (using overloads): import std.traits; template isFinal(T) if (is(T == class)) { enum bool isFinal = __traits(isFinalClass, T); } template isFinal(alias T) if (isSomeFunction!T) { enum bool isFinal = __traits(isFinalFunction, T); } class C { void nf() { } static void sf() { } final void ff() { } } final class FC { } static assert(!isFinal!(C.nf)); static assert(!isFinal!(C.sf)); static assert(isFinal!(C.ff)); static assert(!isFinal!(C)); static assert(isFinal!(FC)); -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Dec 27 2012
http://d.puremagic.com/issues/show_bug.cgi?id=6614 Andrej Mitrovic <andrej.mitrovich gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- OS/Version|Linux |All 15:11:14 PST --- Ping! :] -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Jan 22 2013
http://d.puremagic.com/issues/show_bug.cgi?id=6614Ping! :]Yes, looks good. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Jan 23 2013
http://d.puremagic.com/issues/show_bug.cgi?id=6614 Andrej Mitrovic <andrej.mitrovich gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Keywords| |pull AssignedTo|nobody puremagic.com |andrej.mitrovich gmail.com 15:00:11 PST --- https://github.com/D-Programming-Language/phobos/pull/1099 -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Jan 25 2013
http://d.puremagic.com/issues/show_bug.cgi?id=6614 Commit pushed to master at https://github.com/D-Programming-Language/phobos https://github.com/D-Programming-Language/phobos/commit/40cca46b4289dab8a072fa6ed9188347b2579db4 Fixes Issue 6614 - Add isFinalFunction and isFinalClass. Add isAbstractClass to mirror __traits(). -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Jan 26 2013
http://d.puremagic.com/issues/show_bug.cgi?id=6614 Alex Rønne Petersen <alex lycus.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED CC| |alex lycus.org Resolution| |FIXED -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Jan 26 2013