[Issue 20808] [regression] opDispatch error disappears!
d-bugmail at puremagic.com
d-bugmail at puremagic.com
Wed Feb 16 12:53:28 UTC 2022
https://issues.dlang.org/show_bug.cgi?id=20808
--- Comment #9 from Adam D. Ruppe <destructionator at gmail.com> ---
Oh, I think I linked to the wrong commit. Take that jsvar and modify line 681
to
fargs[idx] = args[idx].get!(typeof(a));
so removing the cast to Unqual. Now compile it:
---
import arsd.jsvar;
void printInt(const int value)
{
assert(0);
}
void main(string [] args)
{
var globals = var.emptyObject;
globals.printInt = &printInt;
//globals["printInt"] = &printInt;
globals.printInt()(5);
}
---
No error. Run it, no assert.
Switch to the [] index version:
---
$ dmd a.d jsvar.d
jsvar.d(681): Error: cannot modify `const` expression `__fargs_field_0`
jsvar.d(1355): Error: template instance `arsd.jsvar.var.opAssign!(void
function(const(int)))` error instantiating
jsvar.d(1311): instantiated from here: `opIndexAssign!(void
function(const(int)))`
a.d(12): instantiated from here: `opIndexAssign!(void
function(const(int) value))`
jsvar.d(1319): Error: template instance `arsd.jsvar.var.__ctor!(void
function(const(int)))` error instantiating
a.d(12): instantiated from here: `opIndexAssign!(void
function(const(int) value))`
---
So problem still there on 2.098.0
--
More information about the Digitalmars-d-bugs
mailing list