1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
use std::fmt; #[derive(PartialEq, Eq, Debug, Clone)] pub struct TypeMismatch { pub expected: String, pub found: String, } impl fmt::Display for TypeMismatch { fn fmt(&self, f: &mut fmt::Formatter) -> Result<(), fmt::Error> { write!( f, "Type mismatch. Expected {} but found {}.", self.expected, self.found ) } } impl TypeMismatch { pub fn new(expected: String, found: String) -> TypeMismatch { TypeMismatch { expected, found } } }