pub trait SemanticRewriter<T, Error> {
    // Required method
    fn rewrite(&mut self, value: T) -> Result<T, Error>;
}

Required Methods§

source

fn rewrite(&mut self, value: T) -> Result<T, Error>

Implementors§

source§

impl<'a> SemanticRewriter<VarId, InferenceError> for Inference<'a>

source§

impl<'a> SemanticRewriter<VarId, DiagnosticAdded> for SubstitutionRewriter<'a>

source§

impl<'a> SemanticRewriter<Expr, InferenceError> for Inference<'a>

source§

impl<'a> SemanticRewriter<ExprFunctionCallArg, InferenceError> for Inference<'a>

source§

impl<'a> SemanticRewriter<ExprVarMemberPath, InferenceError> for Inference<'a>

source§

impl<'a> SemanticRewriter<ExprVarMemberPath, DiagnosticAdded> for SubstitutionRewriter<'a>

source§

impl<'a> SemanticRewriter<Statement, InferenceError> for Inference<'a>

source§

impl<'a> SemanticRewriter<Pattern, InferenceError> for Inference<'a>

source§

impl<'a> SemanticRewriter<GenericFunctionId, InferenceError> for Inference<'a>

source§

impl<'a> SemanticRewriter<GenericFunctionId, DiagnosticAdded> for SubstitutionRewriter<'a>

source§

impl<'a> SemanticRewriter<GenericFunctionWithBodyId, InferenceError> for Inference<'a>

source§

impl<'a> SemanticRewriter<GenericFunctionWithBodyId, DiagnosticAdded> for SubstitutionRewriter<'a>

source§

impl<'a> SemanticRewriter<GenericArgumentId, InferenceError> for Inference<'a>

source§

impl<'a> SemanticRewriter<GenericArgumentId, DiagnosticAdded> for SubstitutionRewriter<'a>

source§

impl<'a> SemanticRewriter<GenericParam, InferenceError> for Inference<'a>

source§

impl<'a> SemanticRewriter<GenericParam, DiagnosticAdded> for SubstitutionRewriter<'a>

source§

impl<'a> SemanticRewriter<ImplId, InferenceError> for Inference<'a>

source§

impl<'a> SemanticRewriter<ImplId, DiagnosticAdded> for SubstitutionRewriter<'a>

source§

impl<'a> SemanticRewriter<UninferredImpl, InferenceError> for Inference<'a>

source§

impl<'a> SemanticRewriter<UninferredImpl, DiagnosticAdded> for SubstitutionRewriter<'a>

source§

impl<'a> SemanticRewriter<ConcreteTypeId, InferenceError> for Inference<'a>

source§

impl<'a> SemanticRewriter<ConcreteTypeId, DiagnosticAdded> for SubstitutionRewriter<'a>

source§

impl<'a> SemanticRewriter<TypeLongId, InferenceError> for Inference<'a>

source§

impl<'a> SemanticRewriter<TypeLongId, DiagnosticAdded> for SubstitutionRewriter<'a>

source§

impl<'a> SemanticRewriter<ImplVar, InferenceError> for Inference<'a>

source§

impl<'a> SemanticRewriter<ImplVar, DiagnosticAdded> for SubstitutionRewriter<'a>

source§

impl<'a> SemanticRewriter<TypeVar, InferenceError> for Inference<'a>

source§

impl<'a> SemanticRewriter<TypeVar, DiagnosticAdded> for SubstitutionRewriter<'a>

source§

impl<'a> SemanticRewriter<ExprAssignment, InferenceError> for Inference<'a>

source§

impl<'a> SemanticRewriter<ExprBlock, InferenceError> for Inference<'a>

source§

impl<'a> SemanticRewriter<ExprConstant, InferenceError> for Inference<'a>

source§

impl<'a> SemanticRewriter<ExprDesnap, InferenceError> for Inference<'a>

source§

impl<'a> SemanticRewriter<ExprEnumVariantCtor, InferenceError> for Inference<'a>

source§

impl<'a> SemanticRewriter<ExprFunctionCall, InferenceError> for Inference<'a>

source§

impl<'a> SemanticRewriter<ExprIf, InferenceError> for Inference<'a>

source§

impl<'a> SemanticRewriter<ExprLiteral, InferenceError> for Inference<'a>

source§

impl<'a> SemanticRewriter<ExprLoop, InferenceError> for Inference<'a>

source§

impl<'a> SemanticRewriter<ExprMatch, InferenceError> for Inference<'a>

source§

impl<'a> SemanticRewriter<ExprMemberAccess, InferenceError> for Inference<'a>

source§

impl<'a> SemanticRewriter<ExprMissing, InferenceError> for Inference<'a>

source§

impl<'a> SemanticRewriter<ExprPropagateError, InferenceError> for Inference<'a>

source§

impl<'a> SemanticRewriter<ExprSnapshot, InferenceError> for Inference<'a>

source§

impl<'a> SemanticRewriter<ExprStructCtor, InferenceError> for Inference<'a>

source§

impl<'a> SemanticRewriter<ExprTuple, InferenceError> for Inference<'a>

source§

impl<'a> SemanticRewriter<ExprVar, InferenceError> for Inference<'a>

source§

impl<'a> SemanticRewriter<ExprVar, DiagnosticAdded> for SubstitutionRewriter<'a>

source§

impl<'a> SemanticRewriter<MatchArm, InferenceError> for Inference<'a>

source§

impl<'a> SemanticRewriter<StatementBreak, InferenceError> for Inference<'a>

source§

impl<'a> SemanticRewriter<StatementContinue, InferenceError> for Inference<'a>

source§

impl<'a> SemanticRewriter<StatementExpr, InferenceError> for Inference<'a>

source§

impl<'a> SemanticRewriter<StatementLet, InferenceError> for Inference<'a>

source§

impl<'a> SemanticRewriter<StatementReturn, InferenceError> for Inference<'a>

source§

impl<'a> SemanticRewriter<PatternEnumVariant, InferenceError> for Inference<'a>

source§

impl<'a> SemanticRewriter<PatternLiteral, InferenceError> for Inference<'a>

source§

impl<'a> SemanticRewriter<PatternOtherwise, InferenceError> for Inference<'a>

source§

impl<'a> SemanticRewriter<PatternStruct, InferenceError> for Inference<'a>

source§

impl<'a> SemanticRewriter<PatternTuple, InferenceError> for Inference<'a>

source§

impl<'a> SemanticRewriter<PatternVariable, InferenceError> for Inference<'a>

source§

impl<'a> SemanticRewriter<Constant, InferenceError> for Inference<'a>

source§

impl<'a> SemanticRewriter<ConcreteVariant, InferenceError> for Inference<'a>

source§

impl<'a> SemanticRewriter<ConcreteVariant, DiagnosticAdded> for SubstitutionRewriter<'a>

source§

impl<'a> SemanticRewriter<ConcreteFunction, InferenceError> for Inference<'a>

source§

impl<'a> SemanticRewriter<ConcreteFunction, DiagnosticAdded> for SubstitutionRewriter<'a>

source§

impl<'a> SemanticRewriter<ConcreteFunctionWithBody, InferenceError> for Inference<'a>

source§

impl<'a> SemanticRewriter<ConcreteFunctionWithBody, DiagnosticAdded> for SubstitutionRewriter<'a>

source§

impl<'a> SemanticRewriter<ConcreteFunctionWithBodyId, InferenceError> for Inference<'a>

source§

impl<'a> SemanticRewriter<ConcreteFunctionWithBodyId, DiagnosticAdded> for SubstitutionRewriter<'a>

source§

impl<'a> SemanticRewriter<FunctionId, InferenceError> for Inference<'a>

source§

impl<'a> SemanticRewriter<FunctionId, DiagnosticAdded> for SubstitutionRewriter<'a>

source§

impl<'a> SemanticRewriter<FunctionLongId, InferenceError> for Inference<'a>

source§

impl<'a> SemanticRewriter<FunctionLongId, DiagnosticAdded> for SubstitutionRewriter<'a>

source§

impl<'a> SemanticRewriter<ImplGenericFunctionId, InferenceError> for Inference<'a>

source§

impl<'a> SemanticRewriter<ImplGenericFunctionId, DiagnosticAdded> for SubstitutionRewriter<'a>

source§

impl<'a> SemanticRewriter<ImplGenericFunctionWithBodyId, InferenceError> for Inference<'a>

source§

impl<'a> SemanticRewriter<ImplGenericFunctionWithBodyId, DiagnosticAdded> for SubstitutionRewriter<'a>

source§

impl<'a> SemanticRewriter<Signature, InferenceError> for Inference<'a>

source§

impl<'a> SemanticRewriter<Signature, DiagnosticAdded> for SubstitutionRewriter<'a>

source§

impl<'a> SemanticRewriter<GenericParamConst, InferenceError> for Inference<'a>

source§

impl<'a> SemanticRewriter<GenericParamConst, DiagnosticAdded> for SubstitutionRewriter<'a>

source§

impl<'a> SemanticRewriter<GenericParamImpl, InferenceError> for Inference<'a>

source§

impl<'a> SemanticRewriter<GenericParamImpl, DiagnosticAdded> for SubstitutionRewriter<'a>

source§

impl<'a> SemanticRewriter<GenericParamType, InferenceError> for Inference<'a>

source§

impl<'a> SemanticRewriter<GenericParamType, DiagnosticAdded> for SubstitutionRewriter<'a>

source§

impl<'a> SemanticRewriter<ConcreteImplId, InferenceError> for Inference<'a>

source§

impl<'a> SemanticRewriter<ConcreteImplId, DiagnosticAdded> for SubstitutionRewriter<'a>

source§

impl<'a> SemanticRewriter<ConcreteImplLongId, InferenceError> for Inference<'a>

source§

impl<'a> SemanticRewriter<ConcreteImplLongId, DiagnosticAdded> for SubstitutionRewriter<'a>

source§

impl<'a> SemanticRewriter<Member, InferenceError> for Inference<'a>

source§

impl<'a> SemanticRewriter<ConcreteTraitGenericFunctionId, InferenceError> for Inference<'a>

source§

impl<'a> SemanticRewriter<ConcreteTraitGenericFunctionId, DiagnosticAdded> for SubstitutionRewriter<'a>

source§

impl<'a> SemanticRewriter<ConcreteTraitGenericFunctionLongId, InferenceError> for Inference<'a>

source§

impl<'a> SemanticRewriter<ConcreteTraitGenericFunctionLongId, DiagnosticAdded> for SubstitutionRewriter<'a>

source§

impl<'a> SemanticRewriter<ConcreteTraitId, InferenceError> for Inference<'a>

source§

impl<'a> SemanticRewriter<ConcreteTraitId, DiagnosticAdded> for SubstitutionRewriter<'a>

source§

impl<'a> SemanticRewriter<ConcreteTraitLongId, InferenceError> for Inference<'a>

source§

impl<'a> SemanticRewriter<ConcreteTraitLongId, DiagnosticAdded> for SubstitutionRewriter<'a>

source§

impl<'a> SemanticRewriter<LiteralId, InferenceError> for Inference<'a>

source§

impl<'a> SemanticRewriter<LiteralId, DiagnosticAdded> for SubstitutionRewriter<'a>

source§

impl<'a> SemanticRewriter<LocalVariable, InferenceError> for Inference<'a>

source§

impl<'a> SemanticRewriter<ParamId, InferenceError> for Inference<'a>

source§

impl<'a> SemanticRewriter<ParamId, DiagnosticAdded> for SubstitutionRewriter<'a>

source§

impl<'a> SemanticRewriter<Parameter, InferenceError> for Inference<'a>

source§

impl<'a> SemanticRewriter<Parameter, DiagnosticAdded> for SubstitutionRewriter<'a>

source§

impl<'a> SemanticRewriter<ConcreteEnumId, InferenceError> for Inference<'a>

source§

impl<'a> SemanticRewriter<ConcreteEnumId, DiagnosticAdded> for SubstitutionRewriter<'a>

source§

impl<'a> SemanticRewriter<ConcreteEnumLongId, InferenceError> for Inference<'a>

source§

impl<'a> SemanticRewriter<ConcreteEnumLongId, DiagnosticAdded> for SubstitutionRewriter<'a>

source§

impl<'a> SemanticRewriter<ConcreteExternTypeId, InferenceError> for Inference<'a>

source§

impl<'a> SemanticRewriter<ConcreteExternTypeId, DiagnosticAdded> for SubstitutionRewriter<'a>

source§

impl<'a> SemanticRewriter<ConcreteExternTypeLongId, InferenceError> for Inference<'a>

source§

impl<'a> SemanticRewriter<ConcreteExternTypeLongId, DiagnosticAdded> for SubstitutionRewriter<'a>

source§

impl<'a> SemanticRewriter<ConcreteStructId, InferenceError> for Inference<'a>

source§

impl<'a> SemanticRewriter<ConcreteStructId, DiagnosticAdded> for SubstitutionRewriter<'a>

source§

impl<'a> SemanticRewriter<ConcreteStructLongId, InferenceError> for Inference<'a>

source§

impl<'a> SemanticRewriter<ConcreteStructLongId, DiagnosticAdded> for SubstitutionRewriter<'a>

source§

impl<'a> SemanticRewriter<TypeId, InferenceError> for Inference<'a>

source§

impl<'a> SemanticRewriter<TypeId, DiagnosticAdded> for SubstitutionRewriter<'a>

source§

impl<'a> SemanticRewriter<ConstantId, InferenceError> for Inference<'a>

source§

impl<'a> SemanticRewriter<EnumId, InferenceError> for Inference<'a>

source§

impl<'a> SemanticRewriter<EnumId, DiagnosticAdded> for SubstitutionRewriter<'a>

source§

impl<'a> SemanticRewriter<ExternFunctionId, InferenceError> for Inference<'a>

source§

impl<'a> SemanticRewriter<ExternFunctionId, DiagnosticAdded> for SubstitutionRewriter<'a>

source§

impl<'a> SemanticRewriter<ExternTypeId, InferenceError> for Inference<'a>

source§

impl<'a> SemanticRewriter<ExternTypeId, DiagnosticAdded> for SubstitutionRewriter<'a>

source§

impl<'a> SemanticRewriter<FreeFunctionId, InferenceError> for Inference<'a>

source§

impl<'a> SemanticRewriter<FreeFunctionId, DiagnosticAdded> for SubstitutionRewriter<'a>

source§

impl<'a> SemanticRewriter<GenericParamId, InferenceError> for Inference<'a>

source§

impl<'a> SemanticRewriter<GenericParamId, DiagnosticAdded> for SubstitutionRewriter<'a>

source§

impl<'a> SemanticRewriter<ImplAliasId, InferenceError> for Inference<'a>

source§

impl<'a> SemanticRewriter<ImplAliasId, DiagnosticAdded> for SubstitutionRewriter<'a>

source§

impl<'a> SemanticRewriter<ImplDefId, InferenceError> for Inference<'a>

source§

impl<'a> SemanticRewriter<ImplDefId, DiagnosticAdded> for SubstitutionRewriter<'a>

source§

impl<'a> SemanticRewriter<ImplFunctionId, InferenceError> for Inference<'a>

source§

impl<'a> SemanticRewriter<ImplFunctionId, DiagnosticAdded> for SubstitutionRewriter<'a>

source§

impl<'a> SemanticRewriter<LocalVarId, InferenceError> for Inference<'a>

source§

impl<'a> SemanticRewriter<LocalVarId, DiagnosticAdded> for SubstitutionRewriter<'a>

source§

impl<'a> SemanticRewriter<MemberId, InferenceError> for Inference<'a>

source§

impl<'a> SemanticRewriter<MemberId, DiagnosticAdded> for SubstitutionRewriter<'a>

source§

impl<'a> SemanticRewriter<StructId, InferenceError> for Inference<'a>

source§

impl<'a> SemanticRewriter<StructId, DiagnosticAdded> for SubstitutionRewriter<'a>

source§

impl<'a> SemanticRewriter<TraitFunctionId, InferenceError> for Inference<'a>

source§

impl<'a> SemanticRewriter<TraitFunctionId, DiagnosticAdded> for SubstitutionRewriter<'a>

source§

impl<'a> SemanticRewriter<TraitId, InferenceError> for Inference<'a>

source§

impl<'a> SemanticRewriter<TraitId, DiagnosticAdded> for SubstitutionRewriter<'a>

source§

impl<'a> SemanticRewriter<VariantId, InferenceError> for Inference<'a>

source§

impl<'a> SemanticRewriter<VariantId, DiagnosticAdded> for SubstitutionRewriter<'a>

source§

impl<'a> SemanticRewriter<Id<Expr>, InferenceError> for Inference<'a>

source§

impl<'a> SemanticRewriter<Id<Statement>, InferenceError> for Inference<'a>

source§

impl<T0, T1, E, TRewriter: SemanticRewriter<T0, E> + SemanticRewriter<T1, E>> SemanticRewriter<(T0, T1), E> for TRewriter

source§

impl<T, E, TRewriter: SemanticRewriter<T, E>> SemanticRewriter<Option<T>, E> for TRewriter

source§

impl<T, E, TRewriter: SemanticRewriter<T, E>> SemanticRewriter<Vec<T, Global>, E> for TRewriter

source§

impl<T, E, TRewriter: SemanticRewriter<T, E>, E2> SemanticRewriter<Result<T, E2>, E> for TRewriter

source§

impl<T: Clone, E, TRewriter: SemanticRewriter<T, E>> SemanticRewriter<Box<T, Global>, E> for TRewriter