Commit
b9fe89bef7dc42eaa9590f00a8391b0fe1b904a2
by Michael BrooksMake the symbol table's error-checking times explicit.
Previously, error checking happened on all WithSymbolTable uses. Error checking means having a symbol-table add operation potentially cause a user-visible error report. Now, this only happens on the resolver pass's symbol table, while other passes' run in an "assert no errors can happen" mode.
An "ignore errors for now" mode is implemented too, which will be used in upcoming commits, for pre-resolver passes that use the symbol table.