Returns the typeset for this TV. If the TV is derived, computes it recursively from the derived function and the base's typeset. Note this can't be done non-lazily in the constructor, because the TypeSet of the base may change over time.
(&self)
| 107 | /// Note this can't be done non-lazily in the constructor, because the TypeSet of the base may |
| 108 | /// change over time. |
| 109 | pub fn get_typeset(&self) -> TypeSet { |
| 110 | match &self.base { |
| 111 | Some(base) => base.type_var.get_typeset().image(base.derived_func), |
| 112 | None => self.type_set.clone(), |
| 113 | } |
| 114 | } |
| 115 | |
| 116 | /// Returns this typevar's type set, assuming this type var has no parent. |
| 117 | pub fn get_raw_typeset(&self) -> &TypeSet { |
no test coverage detected