No 'is not implemented' message with final?
Namespace
rswhite4 at googlemail.com
Tue Sep 10 14:58:43 PDT 2013
On Tuesday, 10 September 2013 at 21:03:57 UTC, Andrej Mitrovic
wrote:
>> Bug or feature?
>
> You will get a linker error when you try to use the function.
>
> This is a feature, because you can implement this function
> later or
> even in another module (and set mangling to match).
>
> Example of the former:
>
> -----
> interface A {
> public:
> final void bar(); // declaration
>
> /** ... */
>
> final void bar() { } // implementation
> }
> -----
>
> For the latter:
>
> -----
> interface A {
> public:
> final void bar();
> }
>
> class B : A {
> }
>
> pragma(mangle, A.bar.mangleof)
> void A_bar_impl(A _this) { }
> -----
>
> The mangle pragma feature is new in git-head.
Ah, thanks for explanation.
More information about the Digitalmars-d-learn
mailing list