spade_typeinference/traits.rs
1use crate::equation::TypeVar;
2use spade_hir::{ImplBlock, ImplTarget, TraitName};
3use std::collections::HashMap;
4
5#[derive(Clone)]
6pub struct TraitImpl {
7 pub name: TraitName,
8 pub type_params: Vec<TypeVar>,
9 pub impl_block: ImplBlock,
10}
11
12#[derive(Clone)]
13pub struct TraitImplList {
14 pub inner: HashMap<ImplTarget, Vec<TraitImpl>>,
15}
16
17impl TraitImplList {
18 pub fn new() -> Self {
19 Self {
20 inner: HashMap::new(),
21 }
22 }
23}