diff options
| author | Laurenz <laurmaedje@gmail.com> | 2022-02-17 18:12:13 +0100 |
|---|---|---|
| committer | Laurenz <laurmaedje@gmail.com> | 2022-02-17 18:12:13 +0100 |
| commit | 261f387535ebe3b784d69893027d8edac01e1ba9 (patch) | |
| tree | c255e10d01fa17fd361ec10fb0f1fdf3e5a0a860 /src/diag.rs | |
| parent | 35610a8c6a1721010b933324dacfe2c4d58761a3 (diff) | |
Accept closures for heading styling
Diffstat (limited to 'src/diag.rs')
| -rw-r--r-- | src/diag.rs | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/src/diag.rs b/src/diag.rs index 70a5bdaf..329e9a8a 100644 --- a/src/diag.rs +++ b/src/diag.rs @@ -108,3 +108,13 @@ impl<T> Trace<T> for TypResult<T> { }) } } + +/// Transform `expected X, found Y` into `expected X or A, found Y`. +pub fn with_alternative(msg: String, alt: &str) -> String { + let mut parts = msg.split(", found "); + if let (Some(a), Some(b)) = (parts.next(), parts.next()) { + format!("{} or {}, found {}", a, alt, b) + } else { + msg + } +} |
