feat: make sure we can see error messages at #check_failure
This commit is contained in:
parent
98c925ed7e
commit
7cd0e0a7a5
2 changed files with 3 additions and 3 deletions
|
|
@ -533,7 +533,7 @@ let resetMessages : CommandElabM MessageLog := do {
|
|||
pure messages
|
||||
};
|
||||
let restoreMessages (prevMessages : MessageLog) : CommandElabM Unit := do {
|
||||
modify $ fun s => { messages := prevMessages ++ s.messages.eraseErrors, .. s }
|
||||
modify $ fun s => { messages := prevMessages ++ s.messages.errorsToWarnings, .. s }
|
||||
};
|
||||
prevMessages ← resetMessages;
|
||||
succeeded ← finally (catch (do x; hasNoErrorMessages) (fun ex => pure false)) (restoreMessages prevMessages);
|
||||
|
|
|
|||
|
|
@ -166,8 +166,8 @@ log.msgs.any $ fun m => match m.severity with
|
|||
| MessageSeverity.error => true
|
||||
| _ => false
|
||||
|
||||
def eraseErrors (log : MessageLog) : MessageLog :=
|
||||
{ msgs := log.msgs.foldl (fun r m => match m.severity with | MessageSeverity.error => r | _ => r.push m) {} }
|
||||
def errorsToWarnings (log : MessageLog) : MessageLog :=
|
||||
{ msgs := log.msgs.map (fun m => match m.severity with | MessageSeverity.error => { severity := MessageSeverity.warning, .. m} | _ => m) }
|
||||
|
||||
def forM {m : Type → Type} [Monad m] (log : MessageLog) (f : Message → m Unit) : m Unit :=
|
||||
log.msgs.forM f
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue