The first ability... compiles

This commit is contained in:
Ayaz Hafiz 2022-04-14 16:50:41 -04:00
parent 6b4294307f
commit b79b351136
No known key found for this signature in database
GPG key ID: 0E2A37416A25EF58
7 changed files with 104 additions and 12 deletions

View file

@ -140,6 +140,18 @@ pub enum Unified {
BadType(Pool, roc_types::types::Problem),
}
impl Unified {
pub fn expect_success(self, err_msg: &'static str) -> (Pool, Vec<MustImplementAbility>) {
match self {
Unified::Success {
vars,
must_implement_ability,
} => (vars, must_implement_ability),
_ => panic!("{}", err_msg),
}
}
}
/// Specifies that `type` must implement the ability `ability`.
#[derive(Debug, Clone, Copy, PartialEq, Eq)]
pub struct MustImplementAbility {