final methods by default
Daniel Kozak via Digitalmars-d-learn
digitalmars-d-learn at puremagic.com
Fri Mar 20 16:47:29 PDT 2015
On Fri, 20 Mar 2015 16:27:04 -0700
Jonathan M Davis via Digitalmars-d-learn <digitalmars-d-learn at 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 at 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 ;-)
More information about the Digitalmars-d-learn
mailing list