diff --git a/src/V3LinkDot.cpp b/src/V3LinkDot.cpp index 7fee470a9..0c088ffee 100644 --- a/src/V3LinkDot.cpp +++ b/src/V3LinkDot.cpp @@ -1912,7 +1912,7 @@ class LinkDotFindVisitor final : public VNVisitor { // dtype comes from the other side. VL_DO_DANGLING(varDtp->unlinkFrBack()->deleteTree(), varDtp); findvarp->childDTypep(otherDtp->unlinkFrBack()); - } else if (otherDtp && varDtp + } else if (m_statep->forPrearray() && otherDtp && varDtp && !(VN_IS(otherDtp, BasicDType) && VN_AS(otherDtp, BasicDType)->implicit())) { // otherDtp and varDtp both non-nullptr and neither are implicit