[Issue 17222] assert in compiler caused by opDispatch

d-bugmail at puremagic.com d-bugmail at puremagic.com
Thu Dec 12 02:31:57 UTC 2019


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

Basile-z <b2.temp at gmx.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Keywords|                            |patch

--- Comment #2 from Basile-z <b2.temp at gmx.com> ---
patch:

---
diff --git a/src/dmd/dinterpret.d b/src/dmd/dinterpret.d
index 28911bc19..22ea4927e 100644
--- a/src/dmd/dinterpret.d
+++ b/src/dmd/dinterpret.d
@@ -80,9 +80,9 @@ public Expression ctfeInterpret(Expression e)
             break;
     }

-    assert(e.type); // https://issues.dlang.org/show_bug.cgi?id=14642
-    //assert(e.type.ty != Terror);    // FIXME
-    if (e.type.ty == Terror)
+    // https://issues.dlang.org/show_bug.cgi?id=14642
+    // https://issues.dlang.org/show_bug.cgi?id=17222
+    if (e.type && e.type.ty == Terror)
---

It seems that the assertion on the expression type is not relevant anymore.
In the present case, the exp has not type and is a "dotTemplateInstance",
for which the InterpreterClass don't access the type.

--


More information about the Digitalmars-d-bugs mailing list