diff options
Diffstat (limited to 'src/checker.rs')
| -rw-r--r-- | src/checker.rs | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/src/checker.rs b/src/checker.rs index aefbb02..dc3dc3c 100644 --- a/src/checker.rs +++ b/src/checker.rs @@ -35,10 +35,15 @@ impl CheckerState { let signature = self.check_signature(signature.clone())?; self.add_signature(name, signature) } - Decl::Instance { name, .. } => { + Decl::Instance { + name, + instance, + signature, + } => { self.assert_unbound_instance(name)?; - - return Err(CheckerError::Unimplemented("instances".to_string())); + let signature = self.check_signature(signature.clone())?; + let instance = self.check_instance(instance.clone(), &signature)?; + self.add_instance(name.clone(), instance.into(), signature) } }?; } |
