diff --git a/lib/system/assign.nim b/lib/system/assign.nim index e5ca1637c9..3bb52be4aa 100644 --- a/lib/system/assign.nim +++ b/lib/system/assign.nim @@ -237,4 +237,7 @@ proc FieldDiscriminantCheck(oldDiscVal, newDiscVal: int, sysFatal(FieldError, "assignment to discriminant changes object branch") else: if newBranch != oldBranch: - sysFatal(FieldError, "assignment to discriminant changes object branch") + if oldDiscVal != 0: + sysFatal(FieldError, "assignment to discriminant changes object branch") + else: + sysFatal(FieldError, "assignment to discriminant changes object branch; compile with -d:nimOldCaseObjects for a transition period")