[Issue 23638] [betterC] Better Error Message For Runtime Usage

d-bugmail at puremagic.com d-bugmail at puremagic.com
Fri Jan 20 10:50:14 UTC 2023


https://issues.dlang.org/show_bug.cgi?id=23638

--- Comment #4 from RazvanN <razvan.nitu1305 at gmail.com> ---
(In reply to Jack Stouffer from comment #2)
> (In reply to RazvanN from comment #1)
> > Unfortunately, the problem comes from the fact that the hook uses typeid
> > internally. `dup` is just a normal template so the compiler does not give it
> > any special treatment. The source of this is that dup uses internally typeid
> > to pass a Typeinfo to the newarray hook (which currently is not
> > templatized). Once newarray is templatized and Typeinfo is not needed
> > anymore, the problem will disappear.
> > 
> > So, I guess, the real solution in this case is to templatize the
> > _d_new_array hook.
> 
> Sounds like the actual root cause is that use of typeid in betterC mode
> doesn't result in a trace. People have been trying to template-ize druntime
> for like seven years so fixing the typeid problem is more likely to bear
> fruit.

Also, the typeid problem is just at the surface, the underlying issue is that a
function that receives a Typeinfo object is called (and typeid is used to get
the underling Typeinfo). We can get around this only by templating that
function (which is a compiler hook).

--


More information about the Digitalmars-d-bugs mailing list