Skip to content

Commit 3318461

Browse files
committed
Address reviews
1 parent 9bd8b3d commit 3318461

File tree

2 files changed

+19
-12
lines changed

2 files changed

+19
-12
lines changed

chalk-ir/src/debug.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -60,13 +60,13 @@ impl<I: Interner> Debug for ProgramClauseImplication<I> {
6060

6161
impl<I: Interner> Debug for ProgramClause<I> {
6262
fn fmt(&self, fmt: &mut Formatter<'_>) -> Result<(), Error> {
63-
I::debug_program_clause(self, fmt).unwrap_or_else(|| write!(fmt, "{:?}", self.clause))
63+
I::debug_program_clause(self, fmt).unwrap_or_else(|| write!(fmt, "{:?}", self.interned))
6464
}
6565
}
6666

6767
impl<I: Interner> Debug for ProgramClauses<I> {
6868
fn fmt(&self, fmt: &mut Formatter<'_>) -> Result<(), Error> {
69-
I::debug_program_clauses(self, fmt).unwrap_or_else(|| write!(fmt, "{:?}", self.clauses))
69+
I::debug_program_clauses(self, fmt).unwrap_or_else(|| write!(fmt, "{:?}", self.interned))
7070
}
7171
}
7272

chalk-ir/src/lib.rs

Lines changed: 17 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1244,33 +1244,40 @@ impl<I: Interner> ProgramClauseData<I> {
12441244

12451245
pub fn intern(self, interner: &I) -> ProgramClause<I> {
12461246
ProgramClause {
1247-
clause: interner.intern_program_clause(self),
1247+
interned: interner.intern_program_clause(self),
12481248
}
12491249
}
12501250
}
12511251

12521252
#[derive(Clone, PartialEq, Eq, Hash, PartialOrd, Ord, HasInterner)]
12531253
pub struct ProgramClause<I: Interner> {
1254-
clause: I::InternedProgramClause,
1254+
interned: I::InternedProgramClause,
12551255
}
12561256

12571257
impl<I: Interner> ProgramClause<I> {
1258+
pub fn new(interner: &I, clause: ProgramClauseData<I>) -> Self {
1259+
let interned = interner.intern_program_clause(clause);
1260+
Self { interned }
1261+
}
1262+
12581263
pub fn into_from_env_clause(self, interner: &I) -> ProgramClause<I> {
12591264
let program_clause_data = self.data(interner);
12601265
let new_clause = program_clause_data.clone().into_from_env_clause(interner);
1261-
ProgramClause {
1262-
clause: interner.intern_program_clause(new_clause),
1263-
}
1266+
Self::new(interner, new_clause)
1267+
}
1268+
1269+
pub fn interned(&self) -> &I::InternedProgramClause {
1270+
&self.interned
12641271
}
12651272

12661273
pub fn data(&self, interner: &I) -> &ProgramClauseData<I> {
1267-
interner.program_clause_data(&self.clause)
1274+
interner.program_clause_data(&self.interned)
12681275
}
12691276
}
12701277

12711278
#[derive(Clone, PartialEq, Eq, Hash, PartialOrd, Ord, HasInterner)]
12721279
pub struct ProgramClauses<I: Interner> {
1273-
clauses: I::InternedProgramClauses,
1280+
interned: I::InternedProgramClauses,
12741281
}
12751282

12761283
impl<I: Interner> ProgramClauses<I> {
@@ -1279,7 +1286,7 @@ impl<I: Interner> ProgramClauses<I> {
12791286
}
12801287

12811288
pub fn interned(&self) -> &I::InternedProgramClauses {
1282-
&self.clauses
1289+
&self.interned
12831290
}
12841291

12851292
pub fn from(
@@ -1288,7 +1295,7 @@ impl<I: Interner> ProgramClauses<I> {
12881295
) -> Self {
12891296
use crate::cast::Caster;
12901297
ProgramClauses {
1291-
clauses: I::intern_program_clauses(interner, clauses.into_iter().casted(interner)),
1298+
interned: I::intern_program_clauses(interner, clauses.into_iter().casted(interner)),
12921299
}
12931300
}
12941301

@@ -1317,7 +1324,7 @@ impl<I: Interner> ProgramClauses<I> {
13171324
}
13181325

13191326
pub fn as_slice(&self, interner: &I) -> &[ProgramClause<I>] {
1320-
interner.program_clauses_data(&self.clauses)
1327+
interner.program_clauses_data(&self.interned)
13211328
}
13221329
}
13231330

0 commit comments

Comments
 (0)