Struct moore_vhdl::typeck::TypeckContext
source · [−]pub struct TypeckContext<'sbc, 'lazy: 'sbc, 'sb: 'lazy, 'ast: 'sb, 'ctx: 'sb> {
pub ctx: &'sbc ScoreContext<'lazy, 'sb, 'ast, 'ctx>,
/* private fields */
}
Expand description
A context to typecheck things in.
This context helps checking the types of things and keeping track of errors.
Fields
ctx: &'sbc ScoreContext<'lazy, 'sb, 'ast, 'ctx>
The parent context.
Implementations
sourceimpl<'sbc, 'lazy, 'sb, 'ast, 'ctx> TypeckContext<'sbc, 'lazy, 'sb, 'ast, 'ctx>
impl<'sbc, 'lazy, 'sb, 'ast, 'ctx> TypeckContext<'sbc, 'lazy, 'sb, 'ast, 'ctx>
sourcepub fn new(
ctx: &'sbc ScoreContext<'lazy, 'sb, 'ast, 'ctx>
) -> TypeckContext<'sbc, 'lazy, 'sb, 'ast, 'ctx>
pub fn new(
ctx: &'sbc ScoreContext<'lazy, 'sb, 'ast, 'ctx>
) -> TypeckContext<'sbc, 'lazy, 'sb, 'ast, 'ctx>
Create a new type checking context.
sourcepub fn emit(&self, diag: DiagBuilder2)
pub fn emit(&self, diag: DiagBuilder2)
Emit a diagnostic message.
sourcepub fn lazy_typeck<I>(&self, id: I) where
I: Into<NodeId>,
pub fn lazy_typeck<I>(&self, id: I) where
I: Into<NodeId>,
Check the type of a node.
If the node already had its type checked, immediately returns the result of that operation. Otherwise runs the task scheduled in the lazy table.
sourcepub fn lazy_typeval<I>(&self, id: I) -> Result<&'ctx Ty> where
I: Into<NodeId>,
pub fn lazy_typeval<I>(&self, id: I) -> Result<&'ctx Ty> where
I: Into<NodeId>,
Determine the type of a node.
If the node already had its type determined, immediately returns the result of that operation. Otherwise runs the task scheduled in the lazy table.
sourcepub fn must_match(&self, exp: &'ctx Ty, act: &'ctx Ty, span: Span) -> bool
pub fn must_match(&self, exp: &'ctx Ty, act: &'ctx Ty, span: Span) -> bool
Ensure that two types are compatible.
sourcepub fn must_cast(&self, into: &'ctx Ty, from: &'ctx Ty, span: Span) -> bool
pub fn must_cast(&self, into: &'ctx Ty, from: &'ctx Ty, span: Span) -> bool
Ensure that one type can be cast into the other.
sourcepub fn typeck_delay_mechanism(&self, _node: &'ctx DelayMechanism)
pub fn typeck_delay_mechanism(&self, _node: &'ctx DelayMechanism)
Type check the time expression in a delay mechanism.
sourcepub fn typeck_waveform(&self, node: &'ctx Waveform, exp: &'ctx Ty)
pub fn typeck_waveform(&self, node: &'ctx Waveform, exp: &'ctx Ty)
Type check a waveform.
sourcepub fn typeck_wave_elem(&self, node: &'ctx WaveElem, _exp: &'ctx Ty)
pub fn typeck_wave_elem(&self, node: &'ctx WaveElem, _exp: &'ctx Ty)
Type check a waveform element.
sourcepub fn typeck_subprog_spec(&self, node: &'ctx SubprogSpec)
pub fn typeck_subprog_spec(&self, node: &'ctx SubprogSpec)
Type check a subprogram specification.
sourcepub fn typeck_node<I>(&self, id: I, exp: &'ctx Ty) where
I: 'ctx + Copy + Debug + Into<NodeId>,
ScoreContext<'lazy, 'sb, 'ast, 'ctx>: NodeMaker<I, &'ctx Ty>,
pub fn typeck_node<I>(&self, id: I, exp: &'ctx Ty) where
I: 'ctx + Copy + Debug + Into<NodeId>,
ScoreContext<'lazy, 'sb, 'ast, 'ctx>: NodeMaker<I, &'ctx Ty>,
Type check any node that can have its type calculated.
sourcepub fn typeck_slice<T, I>(&self, ids: T) where
T: AsRef<[I]>,
I: Copy,
TypeckContext<'sbc, 'lazy, 'sb, 'ast, 'ctx>: Typeck<I>,
pub fn typeck_slice<T, I>(&self, ids: T) where
T: AsRef<[I]>,
I: Copy,
TypeckContext<'sbc, 'lazy, 'sb, 'ast, 'ctx>: Typeck<I>,
Type check a slice of nodes.
sourcepub fn apply_range_constraint(
&self,
ty: &Ty,
con: Spanned<&Range>
) -> Result<&'ctx Ty>
pub fn apply_range_constraint(
&self,
ty: &Ty,
con: Spanned<&Range>
) -> Result<&'ctx Ty>
Apply a range constraint to a type.
sourcepub fn apply_array_constraint(
&self,
ty: &'ctx Ty,
con: Spanned<&ArrayConstraint>
) -> Result<&'ctx Ty>
pub fn apply_array_constraint(
&self,
ty: &'ctx Ty,
con: Spanned<&ArrayConstraint>
) -> Result<&'ctx Ty>
Apply an array constraint to a type.
sourcepub fn apply_record_constraint(
&self,
ty: &'ctx Ty,
con: Spanned<&RecordConstraint>
) -> Result<&'ctx Ty>
pub fn apply_record_constraint(
&self,
ty: &'ctx Ty,
con: Spanned<&RecordConstraint>
) -> Result<&'ctx Ty>
Apply a record constraint to a type.
sourcepub fn apply_index_constraint(
&self,
index: &'ctx ArrayIndex,
con: Spanned<&DiscreteRange>
) -> Result<ArrayIndex>
pub fn apply_index_constraint(
&self,
index: &'ctx ArrayIndex,
con: Spanned<&DiscreteRange>
) -> Result<ArrayIndex>
Apply an index constraint to an array index.
sourcepub fn apply_subtype(
&self,
orig_ty: &'ctx Ty,
subty: Spanned<&Ty>
) -> Result<&'ctx Ty>
pub fn apply_subtype(
&self,
orig_ty: &'ctx Ty,
subty: Spanned<&Ty>
) -> Result<&'ctx Ty>
Impose a subtype on a type.
sourcepub fn type_from_discrete_range(
&self,
range: Spanned<&DiscreteRange>
) -> Result<&'ctx Ty>
pub fn type_from_discrete_range(
&self,
range: Spanned<&DiscreteRange>
) -> Result<&'ctx Ty>
Evaluate a discrete range as a type.
Trait Implementations
sourceimpl<'sbc, 'lazy, 'sb, 'ast, 'ctx> Typeck<AliasDeclRef> for TypeckContext<'sbc, 'lazy, 'sb, 'ast, 'ctx>
impl<'sbc, 'lazy, 'sb, 'ast, 'ctx> Typeck<AliasDeclRef> for TypeckContext<'sbc, 'lazy, 'sb, 'ast, 'ctx>
fn typeck(&self, id: AliasDeclRef)
sourceimpl<'sbc, 'lazy, 'sb, 'ast, 'ctx> Typeck<ArchRef> for TypeckContext<'sbc, 'lazy, 'sb, 'ast, 'ctx>
impl<'sbc, 'lazy, 'sb, 'ast, 'ctx> Typeck<ArchRef> for TypeckContext<'sbc, 'lazy, 'sb, 'ast, 'ctx>
sourceimpl<'sbc, 'lazy, 'sb, 'ast, 'ctx> Typeck<AttrDeclRef> for TypeckContext<'sbc, 'lazy, 'sb, 'ast, 'ctx>
impl<'sbc, 'lazy, 'sb, 'ast, 'ctx> Typeck<AttrDeclRef> for TypeckContext<'sbc, 'lazy, 'sb, 'ast, 'ctx>
fn typeck(&self, id: AttrDeclRef)
sourceimpl<'sbc, 'lazy, 'sb, 'ast, 'ctx> Typeck<AttrSpecRef> for TypeckContext<'sbc, 'lazy, 'sb, 'ast, 'ctx>
impl<'sbc, 'lazy, 'sb, 'ast, 'ctx> Typeck<AttrSpecRef> for TypeckContext<'sbc, 'lazy, 'sb, 'ast, 'ctx>
fn typeck(&self, id: AttrSpecRef)
sourceimpl<'sbc, 'lazy, 'sb, 'ast, 'ctx> Typeck<BlockStmtRef> for TypeckContext<'sbc, 'lazy, 'sb, 'ast, 'ctx>
impl<'sbc, 'lazy, 'sb, 'ast, 'ctx> Typeck<BlockStmtRef> for TypeckContext<'sbc, 'lazy, 'sb, 'ast, 'ctx>
fn typeck(&self, id: BlockStmtRef)
sourceimpl<'sbc, 'lazy, 'sb, 'ast, 'ctx> Typeck<CaseGenStmtRef> for TypeckContext<'sbc, 'lazy, 'sb, 'ast, 'ctx>
impl<'sbc, 'lazy, 'sb, 'ast, 'ctx> Typeck<CaseGenStmtRef> for TypeckContext<'sbc, 'lazy, 'sb, 'ast, 'ctx>
fn typeck(&self, id: CaseGenStmtRef)
sourceimpl<'sbc, 'lazy, 'sb, 'ast, 'ctx> Typeck<CfgRef> for TypeckContext<'sbc, 'lazy, 'sb, 'ast, 'ctx>
impl<'sbc, 'lazy, 'sb, 'ast, 'ctx> Typeck<CfgRef> for TypeckContext<'sbc, 'lazy, 'sb, 'ast, 'ctx>
sourceimpl<'sbc, 'lazy, 'sb, 'ast, 'ctx> Typeck<CfgSpecRef> for TypeckContext<'sbc, 'lazy, 'sb, 'ast, 'ctx>
impl<'sbc, 'lazy, 'sb, 'ast, 'ctx> Typeck<CfgSpecRef> for TypeckContext<'sbc, 'lazy, 'sb, 'ast, 'ctx>
fn typeck(&self, id: CfgSpecRef)
sourceimpl<'sbc, 'lazy, 'sb, 'ast, 'ctx> Typeck<CompDeclRef> for TypeckContext<'sbc, 'lazy, 'sb, 'ast, 'ctx>
impl<'sbc, 'lazy, 'sb, 'ast, 'ctx> Typeck<CompDeclRef> for TypeckContext<'sbc, 'lazy, 'sb, 'ast, 'ctx>
fn typeck(&self, id: CompDeclRef)
sourceimpl<'sbc, 'lazy, 'sb, 'ast, 'ctx> Typeck<CompInstStmtRef> for TypeckContext<'sbc, 'lazy, 'sb, 'ast, 'ctx>
impl<'sbc, 'lazy, 'sb, 'ast, 'ctx> Typeck<CompInstStmtRef> for TypeckContext<'sbc, 'lazy, 'sb, 'ast, 'ctx>
fn typeck(&self, id: CompInstStmtRef)
sourceimpl<'sbc, 'lazy, 'sb, 'ast, 'ctx> Typeck<ConcAssertStmtRef> for TypeckContext<'sbc, 'lazy, 'sb, 'ast, 'ctx>
impl<'sbc, 'lazy, 'sb, 'ast, 'ctx> Typeck<ConcAssertStmtRef> for TypeckContext<'sbc, 'lazy, 'sb, 'ast, 'ctx>
fn typeck(&self, id: ConcAssertStmtRef)
sourceimpl<'sbc, 'lazy, 'sb, 'ast, 'ctx> Typeck<ConcCallStmtRef> for TypeckContext<'sbc, 'lazy, 'sb, 'ast, 'ctx>
impl<'sbc, 'lazy, 'sb, 'ast, 'ctx> Typeck<ConcCallStmtRef> for TypeckContext<'sbc, 'lazy, 'sb, 'ast, 'ctx>
fn typeck(&self, id: ConcCallStmtRef)
sourceimpl<'sbc, 'lazy, 'sb, 'ast, 'ctx> Typeck<ConcSigAssignStmtRef> for TypeckContext<'sbc, 'lazy, 'sb, 'ast, 'ctx>
impl<'sbc, 'lazy, 'sb, 'ast, 'ctx> Typeck<ConcSigAssignStmtRef> for TypeckContext<'sbc, 'lazy, 'sb, 'ast, 'ctx>
fn typeck(&self, id: ConcSigAssignStmtRef)
sourceimpl<'sbc, 'lazy, 'sb, 'ast, 'ctx> Typeck<ConcStmtRef> for TypeckContext<'sbc, 'lazy, 'sb, 'ast, 'ctx>
impl<'sbc, 'lazy, 'sb, 'ast, 'ctx> Typeck<ConcStmtRef> for TypeckContext<'sbc, 'lazy, 'sb, 'ast, 'ctx>
fn typeck(&self, id: ConcStmtRef)
sourceimpl<'sbc, 'lazy, 'sb, 'ast, 'ctx> Typeck<ConstDeclRef> for TypeckContext<'sbc, 'lazy, 'sb, 'ast, 'ctx>
impl<'sbc, 'lazy, 'sb, 'ast, 'ctx> Typeck<ConstDeclRef> for TypeckContext<'sbc, 'lazy, 'sb, 'ast, 'ctx>
fn typeck(&self, id: ConstDeclRef)
sourceimpl<'sbc, 'lazy, 'sb, 'ast, 'ctx> Typeck<CtxRef> for TypeckContext<'sbc, 'lazy, 'sb, 'ast, 'ctx>
impl<'sbc, 'lazy, 'sb, 'ast, 'ctx> Typeck<CtxRef> for TypeckContext<'sbc, 'lazy, 'sb, 'ast, 'ctx>
sourceimpl<'sbc, 'lazy, 'sb, 'ast, 'ctx> Typeck<DeclInBlockRef> for TypeckContext<'sbc, 'lazy, 'sb, 'ast, 'ctx>
impl<'sbc, 'lazy, 'sb, 'ast, 'ctx> Typeck<DeclInBlockRef> for TypeckContext<'sbc, 'lazy, 'sb, 'ast, 'ctx>
fn typeck(&self, id: DeclInBlockRef)
sourceimpl<'sbc, 'lazy, 'sb, 'ast, 'ctx> Typeck<DeclInPkgBodyRef> for TypeckContext<'sbc, 'lazy, 'sb, 'ast, 'ctx>
impl<'sbc, 'lazy, 'sb, 'ast, 'ctx> Typeck<DeclInPkgBodyRef> for TypeckContext<'sbc, 'lazy, 'sb, 'ast, 'ctx>
fn typeck(&self, id: DeclInPkgBodyRef)
sourceimpl<'sbc, 'lazy, 'sb, 'ast, 'ctx> Typeck<DeclInPkgRef> for TypeckContext<'sbc, 'lazy, 'sb, 'ast, 'ctx>
impl<'sbc, 'lazy, 'sb, 'ast, 'ctx> Typeck<DeclInPkgRef> for TypeckContext<'sbc, 'lazy, 'sb, 'ast, 'ctx>
fn typeck(&self, id: DeclInPkgRef)
sourceimpl<'sbc, 'lazy, 'sb, 'ast, 'ctx> Typeck<DeclInProcRef> for TypeckContext<'sbc, 'lazy, 'sb, 'ast, 'ctx>
impl<'sbc, 'lazy, 'sb, 'ast, 'ctx> Typeck<DeclInProcRef> for TypeckContext<'sbc, 'lazy, 'sb, 'ast, 'ctx>
fn typeck(&self, id: DeclInProcRef)
sourceimpl<'sbc, 'lazy, 'sb, 'ast, 'ctx> Typeck<DeclInSubprogRef> for TypeckContext<'sbc, 'lazy, 'sb, 'ast, 'ctx>
impl<'sbc, 'lazy, 'sb, 'ast, 'ctx> Typeck<DeclInSubprogRef> for TypeckContext<'sbc, 'lazy, 'sb, 'ast, 'ctx>
fn typeck(&self, id: DeclInSubprogRef)
sourceimpl<'sbc, 'lazy, 'sb, 'ast, 'ctx> Typeck<DisconSpecRef> for TypeckContext<'sbc, 'lazy, 'sb, 'ast, 'ctx>
impl<'sbc, 'lazy, 'sb, 'ast, 'ctx> Typeck<DisconSpecRef> for TypeckContext<'sbc, 'lazy, 'sb, 'ast, 'ctx>
fn typeck(&self, id: DisconSpecRef)
sourceimpl<'sbc, 'lazy, 'sb, 'ast, 'ctx> Typeck<EntityRef> for TypeckContext<'sbc, 'lazy, 'sb, 'ast, 'ctx>
impl<'sbc, 'lazy, 'sb, 'ast, 'ctx> Typeck<EntityRef> for TypeckContext<'sbc, 'lazy, 'sb, 'ast, 'ctx>
sourceimpl<'sbc, 'lazy, 'sb, 'ast, 'ctx> Typeck<FileDeclRef> for TypeckContext<'sbc, 'lazy, 'sb, 'ast, 'ctx>
impl<'sbc, 'lazy, 'sb, 'ast, 'ctx> Typeck<FileDeclRef> for TypeckContext<'sbc, 'lazy, 'sb, 'ast, 'ctx>
fn typeck(&self, id: FileDeclRef)
sourceimpl<'sbc, 'lazy, 'sb, 'ast, 'ctx> Typeck<ForGenStmtRef> for TypeckContext<'sbc, 'lazy, 'sb, 'ast, 'ctx>
impl<'sbc, 'lazy, 'sb, 'ast, 'ctx> Typeck<ForGenStmtRef> for TypeckContext<'sbc, 'lazy, 'sb, 'ast, 'ctx>
fn typeck(&self, id: ForGenStmtRef)
sourceimpl<'sbc, 'lazy, 'sb, 'ast, 'ctx> Typeck<GenericRef> for TypeckContext<'sbc, 'lazy, 'sb, 'ast, 'ctx>
impl<'sbc, 'lazy, 'sb, 'ast, 'ctx> Typeck<GenericRef> for TypeckContext<'sbc, 'lazy, 'sb, 'ast, 'ctx>
fn typeck(&self, id: GenericRef)
sourceimpl<'sbc, 'lazy, 'sb, 'ast, 'ctx> Typeck<GroupDeclRef> for TypeckContext<'sbc, 'lazy, 'sb, 'ast, 'ctx>
impl<'sbc, 'lazy, 'sb, 'ast, 'ctx> Typeck<GroupDeclRef> for TypeckContext<'sbc, 'lazy, 'sb, 'ast, 'ctx>
fn typeck(&self, id: GroupDeclRef)
sourceimpl<'sbc, 'lazy, 'sb, 'ast, 'ctx> Typeck<GroupTempRef> for TypeckContext<'sbc, 'lazy, 'sb, 'ast, 'ctx>
impl<'sbc, 'lazy, 'sb, 'ast, 'ctx> Typeck<GroupTempRef> for TypeckContext<'sbc, 'lazy, 'sb, 'ast, 'ctx>
fn typeck(&self, id: GroupTempRef)
sourceimpl<'sbc, 'lazy: 'sbc, 'sb: 'lazy, 'ast: 'sb, 'ctx: 'sb, I> Typeck<I> for TypeckContext<'sbc, 'lazy, 'sb, 'ast, 'ctx> where
ScoreContext<'lazy, 'sb, 'ast, 'ctx>: NodeMaker<I, &'ctx Ty>,
impl<'sbc, 'lazy: 'sbc, 'sb: 'lazy, 'ast: 'sb, 'ctx: 'sb, I> Typeck<I> for TypeckContext<'sbc, 'lazy, 'sb, 'ast, 'ctx> where
ScoreContext<'lazy, 'sb, 'ast, 'ctx>: NodeMaker<I, &'ctx Ty>,
sourceimpl<'sbc, 'lazy, 'sb, 'ast, 'ctx> Typeck<IfGenStmtRef> for TypeckContext<'sbc, 'lazy, 'sb, 'ast, 'ctx>
impl<'sbc, 'lazy, 'sb, 'ast, 'ctx> Typeck<IfGenStmtRef> for TypeckContext<'sbc, 'lazy, 'sb, 'ast, 'ctx>
fn typeck(&self, id: IfGenStmtRef)
sourceimpl<'sbc, 'lazy, 'sb, 'ast, 'ctx> Typeck<IntfPkgRef> for TypeckContext<'sbc, 'lazy, 'sb, 'ast, 'ctx>
impl<'sbc, 'lazy, 'sb, 'ast, 'ctx> Typeck<IntfPkgRef> for TypeckContext<'sbc, 'lazy, 'sb, 'ast, 'ctx>
fn typeck(&self, id: IntfPkgRef)
sourceimpl<'sbc, 'lazy, 'sb, 'ast, 'ctx> Typeck<IntfSubprogRef> for TypeckContext<'sbc, 'lazy, 'sb, 'ast, 'ctx>
impl<'sbc, 'lazy, 'sb, 'ast, 'ctx> Typeck<IntfSubprogRef> for TypeckContext<'sbc, 'lazy, 'sb, 'ast, 'ctx>
fn typeck(&self, id: IntfSubprogRef)
sourceimpl<'sbc, 'lazy, 'sb, 'ast, 'ctx> Typeck<IntfTypeRef> for TypeckContext<'sbc, 'lazy, 'sb, 'ast, 'ctx>
impl<'sbc, 'lazy, 'sb, 'ast, 'ctx> Typeck<IntfTypeRef> for TypeckContext<'sbc, 'lazy, 'sb, 'ast, 'ctx>
fn typeck(&self, id: IntfTypeRef)
sourceimpl<'sbc, 'lazy, 'sb, 'ast, 'ctx> Typeck<LibRef> for TypeckContext<'sbc, 'lazy, 'sb, 'ast, 'ctx>
impl<'sbc, 'lazy, 'sb, 'ast, 'ctx> Typeck<LibRef> for TypeckContext<'sbc, 'lazy, 'sb, 'ast, 'ctx>
sourceimpl<'sbc, 'lazy, 'sb, 'ast, 'ctx> Typeck<PkgBodyRef> for TypeckContext<'sbc, 'lazy, 'sb, 'ast, 'ctx>
impl<'sbc, 'lazy, 'sb, 'ast, 'ctx> Typeck<PkgBodyRef> for TypeckContext<'sbc, 'lazy, 'sb, 'ast, 'ctx>
fn typeck(&self, id: PkgBodyRef)
sourceimpl<'sbc, 'lazy, 'sb, 'ast, 'ctx> Typeck<PkgDeclRef> for TypeckContext<'sbc, 'lazy, 'sb, 'ast, 'ctx>
impl<'sbc, 'lazy, 'sb, 'ast, 'ctx> Typeck<PkgDeclRef> for TypeckContext<'sbc, 'lazy, 'sb, 'ast, 'ctx>
fn typeck(&self, id: PkgDeclRef)
sourceimpl<'sbc, 'lazy, 'sb, 'ast, 'ctx> Typeck<PkgInstRef> for TypeckContext<'sbc, 'lazy, 'sb, 'ast, 'ctx>
impl<'sbc, 'lazy, 'sb, 'ast, 'ctx> Typeck<PkgInstRef> for TypeckContext<'sbc, 'lazy, 'sb, 'ast, 'ctx>
fn typeck(&self, id: PkgInstRef)
sourceimpl<'sbc, 'lazy, 'sb, 'ast, 'ctx> Typeck<ProcessStmtRef> for TypeckContext<'sbc, 'lazy, 'sb, 'ast, 'ctx>
impl<'sbc, 'lazy, 'sb, 'ast, 'ctx> Typeck<ProcessStmtRef> for TypeckContext<'sbc, 'lazy, 'sb, 'ast, 'ctx>
fn typeck(&self, id: ProcessStmtRef)
sourceimpl<'sbc, 'lazy, 'sb, 'ast, 'ctx> Typeck<SeqStmtRef> for TypeckContext<'sbc, 'lazy, 'sb, 'ast, 'ctx>
impl<'sbc, 'lazy, 'sb, 'ast, 'ctx> Typeck<SeqStmtRef> for TypeckContext<'sbc, 'lazy, 'sb, 'ast, 'ctx>
fn typeck(&self, id: SeqStmtRef)
sourceimpl<'sbc, 'lazy, 'sb, 'ast, 'ctx> Typeck<SigAssignStmtRef> for TypeckContext<'sbc, 'lazy, 'sb, 'ast, 'ctx>
impl<'sbc, 'lazy, 'sb, 'ast, 'ctx> Typeck<SigAssignStmtRef> for TypeckContext<'sbc, 'lazy, 'sb, 'ast, 'ctx>
fn typeck(&self, id: SigAssignStmtRef)
sourceimpl<'sbc, 'lazy, 'sb, 'ast, 'ctx> Typeck<SignalDeclRef> for TypeckContext<'sbc, 'lazy, 'sb, 'ast, 'ctx>
impl<'sbc, 'lazy, 'sb, 'ast, 'ctx> Typeck<SignalDeclRef> for TypeckContext<'sbc, 'lazy, 'sb, 'ast, 'ctx>
fn typeck(&self, id: SignalDeclRef)
sourceimpl<'sbc, 'lazy, 'sb, 'ast, 'ctx> Typeck<SubprogBodyRef> for TypeckContext<'sbc, 'lazy, 'sb, 'ast, 'ctx>
impl<'sbc, 'lazy, 'sb, 'ast, 'ctx> Typeck<SubprogBodyRef> for TypeckContext<'sbc, 'lazy, 'sb, 'ast, 'ctx>
fn typeck(&self, id: SubprogBodyRef)
sourceimpl<'sbc, 'lazy, 'sb, 'ast, 'ctx> Typeck<SubprogDeclRef> for TypeckContext<'sbc, 'lazy, 'sb, 'ast, 'ctx>
impl<'sbc, 'lazy, 'sb, 'ast, 'ctx> Typeck<SubprogDeclRef> for TypeckContext<'sbc, 'lazy, 'sb, 'ast, 'ctx>
fn typeck(&self, id: SubprogDeclRef)
sourceimpl<'sbc, 'lazy, 'sb, 'ast, 'ctx> Typeck<SubprogInstRef> for TypeckContext<'sbc, 'lazy, 'sb, 'ast, 'ctx>
impl<'sbc, 'lazy, 'sb, 'ast, 'ctx> Typeck<SubprogInstRef> for TypeckContext<'sbc, 'lazy, 'sb, 'ast, 'ctx>
fn typeck(&self, id: SubprogInstRef)
sourceimpl<'sbc, 'lazy, 'sb, 'ast, 'ctx> Typeck<VarDeclRef> for TypeckContext<'sbc, 'lazy, 'sb, 'ast, 'ctx>
impl<'sbc, 'lazy, 'sb, 'ast, 'ctx> Typeck<VarDeclRef> for TypeckContext<'sbc, 'lazy, 'sb, 'ast, 'ctx>
fn typeck(&self, id: VarDeclRef)
Auto Trait Implementations
impl<'sbc, 'lazy, 'sb, 'ast, 'ctx> !RefUnwindSafe for TypeckContext<'sbc, 'lazy, 'sb, 'ast, 'ctx>
impl<'sbc, 'lazy, 'sb, 'ast, 'ctx> !Send for TypeckContext<'sbc, 'lazy, 'sb, 'ast, 'ctx>
impl<'sbc, 'lazy, 'sb, 'ast, 'ctx> !Sync for TypeckContext<'sbc, 'lazy, 'sb, 'ast, 'ctx>
impl<'sbc, 'lazy, 'sb, 'ast, 'ctx> Unpin for TypeckContext<'sbc, 'lazy, 'sb, 'ast, 'ctx> where
'ast: 'sbc,
'ctx: 'sbc,
'lazy: 'sbc,
'sb: 'sbc,
impl<'sbc, 'lazy, 'sb, 'ast, 'ctx> !UnwindSafe for TypeckContext<'sbc, 'lazy, 'sb, 'ast, 'ctx>
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcepub fn borrow_mut(&mut self) -> &mut T
pub fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more