On Fri, 20 Mar 2015 16:27:04 -0700 Jonathan M Davis via Digitalmars-d-learn <digitalmars-d-learn@puremagic.com> wrote:
> On Friday, March 20, 2015 23:53:14 Daniel Kozak via Digitalmars-d-learn wrote: > > > > On Fri, 20 Mar 2015 22:11:51 +0000 > > weaselcat via Digitalmars-d-learn <digitalmars-d-learn@puremagic.com> wrote: > > > > > On Friday, 20 March 2015 at 14:25:22 UTC, ref2401 wrote: > > > > Why aren't methods of class final by default? > > > > > > history > > > > > > use final class, it should devirtualize all methods. > > > see: https://github.com/D-Programming-Language/dmd/pull/4427 > > > > Yes, but you can not extend final class. Ok you can still use UFCS but it > > is not elegand solution. > > Then you can just do > > class Foo > { > final: > // methods... > } > > or > > class Foo > { > final > { > // methods... > } > } > > And even if you couldn't do that, you could always mark each function with > final individually. > Yes I know that and use it. Not often because I use struct and templates so I need to marks methods as final occasionally ;-)