Converted the 'invalid kind for firstOrd/lastOrd(XXX)' messages from internal errors to fatal errors. (#23443)

This fixes a nimsuggest crash when opening:
    beacon_chain/consensus_object_pools/blockchain_dag.nim
from the nimbus-eth2 project and many other .nim files (44 files, to be
precise) in the same project.

Replaces: https://github.com/nim-lang/Nim/pull/23402
This commit is contained in:
Nikolay Nikolov
2024-03-27 11:51:44 +02:00
committed by GitHub
parent 4c38569229
commit c934d5986d

View File

@@ -809,12 +809,12 @@ proc firstOrd*(conf: ConfigRef; t: PType): Int128 =
if t.hasElementType: result = firstOrd(conf, skipModifier(t))
else:
result = Zero
internalError(conf, "invalid kind for firstOrd(" & $t.kind & ')')
fatal(conf, unknownLineInfo, "invalid kind for firstOrd(" & $t.kind & ')')
of tyUncheckedArray, tyCstring:
result = Zero
else:
result = Zero
internalError(conf, "invalid kind for firstOrd(" & $t.kind & ')')
fatal(conf, unknownLineInfo, "invalid kind for firstOrd(" & $t.kind & ')')
proc firstFloat*(t: PType): BiggestFloat =
case t.kind
@@ -905,12 +905,12 @@ proc lastOrd*(conf: ConfigRef; t: PType): Int128 =
if t.hasElementType: result = lastOrd(conf, skipModifier(t))
else:
result = Zero
internalError(conf, "invalid kind for lastOrd(" & $t.kind & ')')
fatal(conf, unknownLineInfo, "invalid kind for lastOrd(" & $t.kind & ')')
of tyUncheckedArray:
result = Zero
else:
result = Zero
internalError(conf, "invalid kind for lastOrd(" & $t.kind & ')')
fatal(conf, unknownLineInfo, "invalid kind for lastOrd(" & $t.kind & ')')
proc lastFloat*(t: PType): BiggestFloat =
case t.kind