1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
use crate::semantics::Navigator;
use crate::*;

pub trait Reporter {
    fn report(diagnostics: Vec<Diagnostic>, navigator: &Navigator);
}

pub struct BasicReporter;

impl Reporter for BasicReporter {
    fn report(diagnostics: Vec<Diagnostic>, _navigator: &Navigator) {
        for diagnostic in diagnostics {
            println!("{}: {:?}", diagnostic.span(), diagnostic);
        }
    }
}