[−][src]Trait lark_ty::TypeFamily
Associated Types
type InternTables: AsRef<Self::InternTables>
type Repr: Copy + Clone + Debug + DebugWith + Eq + Hash
type Perm: Copy + Clone + Debug + DebugWith + Eq + Hash
type Base: Copy + Clone + Debug + DebugWith + Eq + Hash
type Placeholder: Copy + Clone + Debug + DebugWith + Eq + Hash
Required methods
fn intern_base_data(
tables: &dyn AsRef<Self::InternTables>,
base_data: BaseData<Self>
) -> Self::Base
tables: &dyn AsRef<Self::InternTables>,
base_data: BaseData<Self>
) -> Self::Base
fn own_perm(tables: &dyn AsRef<Self::InternTables>) -> Self::Perm
fn known_repr(
tables: &dyn AsRef<Self::InternTables>,
repr_kind: ReprKind
) -> Self::Repr
tables: &dyn AsRef<Self::InternTables>,
repr_kind: ReprKind
) -> Self::Repr
Provided methods
fn direct_repr(tables: &dyn AsRef<Self::InternTables>) -> Self::Repr
fn error_type(tables: &dyn AsRef<Self::InternTables>) -> Ty<Self>
fn error_base_data(tables: &dyn AsRef<Self::InternTables>) -> Self::Base
Implementors
impl TypeFamily for BaseInferred
[src]
type InternTables = BaseInferredTables
type Repr = Erased
type Perm = Erased
type Base = Base
type Placeholder = Placeholder
fn own_perm(_tables: &dyn AsRef<BaseInferredTables>) -> Erased
[src]
fn known_repr(
_tables: &dyn AsRef<BaseInferredTables>,
_repr_kind: ReprKind
) -> Self::Repr
[src]
_tables: &dyn AsRef<BaseInferredTables>,
_repr_kind: ReprKind
) -> Self::Repr
fn intern_base_data(
tables: &dyn AsRef<BaseInferredTables>,
base_data: BaseData<Self>
) -> Self::Base
[src]
tables: &dyn AsRef<BaseInferredTables>,
base_data: BaseData<Self>
) -> Self::Base
fn direct_repr(tables: &dyn AsRef<Self::InternTables>) -> Self::Repr
[src]
fn error_type(tables: &dyn AsRef<Self::InternTables>) -> Ty<Self>
[src]
fn error_base_data(tables: &dyn AsRef<Self::InternTables>) -> Self::Base
[src]
impl TypeFamily for Declaration
[src]
type InternTables = DeclarationTables
type Repr = ReprKind
type Perm = Perm
type Base = Base
type Placeholder = !
fn own_perm(tables: &dyn AsRef<DeclarationTables>) -> Self::Perm
[src]
fn known_repr(
_tables: &dyn AsRef<DeclarationTables>,
repr_kind: ReprKind
) -> ReprKind
[src]
_tables: &dyn AsRef<DeclarationTables>,
repr_kind: ReprKind
) -> ReprKind
fn intern_base_data(
tables: &dyn AsRef<DeclarationTables>,
base_data: BaseData<Self>
) -> Self::Base
[src]
tables: &dyn AsRef<DeclarationTables>,
base_data: BaseData<Self>
) -> Self::Base
fn direct_repr(tables: &dyn AsRef<Self::InternTables>) -> Self::Repr
[src]
fn error_type(tables: &dyn AsRef<Self::InternTables>) -> Ty<Self>
[src]
fn error_base_data(tables: &dyn AsRef<Self::InternTables>) -> Self::Base
[src]
impl TypeFamily for FullInferred
[src]
type InternTables = FullInferredTables
type Repr = Erased
type Perm = PermKind
type Base = Base
type Placeholder = Placeholder
fn own_perm(_tables: &dyn AsRef<FullInferredTables>) -> PermKind
[src]
fn known_repr(
_tables: &dyn AsRef<FullInferredTables>,
_repr_kind: ReprKind
) -> Self::Repr
[src]
_tables: &dyn AsRef<FullInferredTables>,
_repr_kind: ReprKind
) -> Self::Repr
fn intern_base_data(
tables: &dyn AsRef<FullInferredTables>,
base_data: BaseData<Self>
) -> Self::Base
[src]
tables: &dyn AsRef<FullInferredTables>,
base_data: BaseData<Self>
) -> Self::Base