Don't intern ProgramClause at all

This seems to work best performance/memory-wise.
This commit is contained in:
Florian Diebold 2021-04-08 20:39:43 +02:00
parent 566200342a
commit f778e50b71

View file

@ -70,7 +70,7 @@ impl chalk_ir::interner::Interner for Interner {
type InternedGoal = Arc<GoalData<Self>>; type InternedGoal = Arc<GoalData<Self>>;
type InternedGoals = Vec<Goal<Self>>; type InternedGoals = Vec<Goal<Self>>;
type InternedSubstitution = Interned<InternedSubstitutionInner>; type InternedSubstitution = Interned<InternedSubstitutionInner>;
type InternedProgramClause = Arc<chalk_ir::ProgramClauseData<Self>>; type InternedProgramClause = chalk_ir::ProgramClauseData<Self>;
type InternedProgramClauses = Interned<InternedWrapper<Vec<chalk_ir::ProgramClause<Self>>>>; type InternedProgramClauses = Interned<InternedWrapper<Vec<chalk_ir::ProgramClause<Self>>>>;
type InternedQuantifiedWhereClauses = Interned<InternedWrapper<Vec<chalk_ir::QuantifiedWhereClause<Self>>>>; type InternedQuantifiedWhereClauses = Interned<InternedWrapper<Vec<chalk_ir::QuantifiedWhereClause<Self>>>>;
type InternedVariableKinds = Interned<InternedVariableKindsInner>; type InternedVariableKinds = Interned<InternedVariableKindsInner>;
@ -315,7 +315,7 @@ impl chalk_ir::interner::Interner for Interner {
&self, &self,
data: chalk_ir::ProgramClauseData<Self>, data: chalk_ir::ProgramClauseData<Self>,
) -> Self::InternedProgramClause { ) -> Self::InternedProgramClause {
Arc::new(data) data
} }
fn program_clause_data<'a>( fn program_clause_data<'a>(