... use of ... is hidden by ...; use alias ... to introduce base class overload set ??
Robert M. Münch
robert.muench at saphirion.com
Sat Oct 26 09:56:28 UTC 2019
On 2019-10-25 15:20:21 +0000, Ali ehreli said:
> On 10/25/2019 07:34 AM, Robert M. Münch wrote:
>
> > If the compiler is a 1-pass one I see the problem, otherwise one could
> > first get a "total overview" and create the necessary vtbl entries after
> > everything is known. Maybe this is not "how a compiler is implemented"
> > but the problem sounds solvable for me.
>
> Unfortunately, it's not the compiler but the linker that produces the
> program (dmd and others conveniently call the linker behind the scenes).
Yes, sure...
> It's common to compile the compilation units e.g. with "dmd -c" and
> then link them together at the end. C++ has been suffering from the
> fact that linkers are language agnostic but the linker is a part of the
> operating system, so this is what we got.
>
> Otherwise, I would agree with you. But even then, what about dynamic
> libraries? The library was built with 7 instances of a template but I
> have 8 instances in my program. This is related to the operating system
> 'loader', which happens to be the sister of the 'linker'. :)
The thing here would be to "instrument" or generate other code if such
a case shows up, so be prepared for the case when such a dynamic case
shows up. However, I can imagine that at the end one ends with a VM,
that provides an eco-system that abstracts all these problems away...
but than you are no longer a system language and won't have the common
C compatible ABI.
I'll live the with cicumstance and as you showed, there is a solution
to the problem.
--
Robert M. Münch
http://www.saphirion.com
smarter | better | faster
More information about the Digitalmars-d-learn
mailing list