pub fn validate<T: ?Sized + 'static>( path: impl Into<Path>, value: &T, rule: &Rule<T>, ) -> Result<(), ValidationError>