Skip to content

Commit fbe7874

Browse files
authored
Merge pull request #383 from zaharidichev/zd/consistent-intern-types
Better consistency in interned types
2 parents 73a74be + 30b220f commit fbe7874

File tree

2 files changed

+12
-10
lines changed

2 files changed

+12
-10
lines changed

chalk-ir/src/debug.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ impl<I: Interner> Debug for Lifetime<I> {
3535

3636
impl<I: Interner> Debug for Parameter<I> {
3737
fn fmt(&self, fmt: &mut Formatter<'_>) -> Result<(), Error> {
38-
I::debug_parameter(self, fmt).unwrap_or_else(|| write!(fmt, "{:?}", self.0))
38+
I::debug_parameter(self, fmt).unwrap_or_else(|| write!(fmt, "{:?}", self.interned))
3939
}
4040
}
4141

@@ -98,7 +98,7 @@ impl<I: Interner> Debug for QuantifiedWhereClauses<I> {
9898

9999
impl<I: Interner> Display for Substitution<I> {
100100
fn fmt(&self, fmt: &mut Formatter<'_>) -> Result<(), Error> {
101-
I::debug_substitution(self, fmt).unwrap_or_else(|| write!(fmt, "{:?}", self.parameters))
101+
I::debug_substitution(self, fmt).unwrap_or_else(|| write!(fmt, "{:?}", self.interned))
102102
}
103103
}
104104

chalk-ir/src/lib.rs

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -759,20 +759,22 @@ impl<T, L> ParameterKind<T, L> {
759759
}
760760

761761
#[derive(Clone, PartialEq, Eq, Hash, PartialOrd, Ord, HasInterner)]
762-
pub struct Parameter<I: Interner>(I::InternedParameter);
762+
pub struct Parameter<I: Interner> {
763+
interned: I::InternedParameter,
764+
}
763765

764766
impl<I: Interner> Parameter<I> {
765767
pub fn new(interner: &I, data: ParameterData<I>) -> Self {
766768
let interned = I::intern_parameter(interner, data);
767-
Parameter(interned)
769+
Parameter { interned }
768770
}
769771

770772
pub fn interned(&self) -> &I::InternedParameter {
771-
&self.0
773+
&self.interned
772774
}
773775

774776
pub fn data(&self, interner: &I) -> &ParameterData<I> {
775-
I::parameter_data(interner, &self.0)
777+
I::parameter_data(interner, &self.interned)
776778
}
777779

778780
pub fn assert_ty_ref(&self, interner: &I) -> &Ty<I> {
@@ -1641,7 +1643,7 @@ pub struct Substitution<I: Interner> {
16411643
/// Map free variable with given index to the value with the same
16421644
/// index. Naturally, the kind of the variable must agree with
16431645
/// the kind of the value.
1644-
parameters: I::InternedSubstitution,
1646+
interned: I::InternedSubstitution,
16451647
}
16461648

16471649
impl<I: Interner> Substitution<I> {
@@ -1664,12 +1666,12 @@ impl<I: Interner> Substitution<I> {
16641666
) -> Result<Self, E> {
16651667
use crate::cast::Caster;
16661668
Ok(Substitution {
1667-
parameters: I::intern_substitution(interner, parameters.into_iter().casted(interner))?,
1669+
interned: I::intern_substitution(interner, parameters.into_iter().casted(interner))?,
16681670
})
16691671
}
16701672

16711673
pub fn interned(&self) -> &I::InternedSubstitution {
1672-
&self.parameters
1674+
&self.interned
16731675
}
16741676

16751677
/// Index into the list of parameters
@@ -1694,7 +1696,7 @@ impl<I: Interner> Substitution<I> {
16941696
}
16951697

16961698
pub fn parameters(&self, interner: &I) -> &[Parameter<I>] {
1697-
interner.substitution_data(&self.parameters)
1699+
interner.substitution_data(&self.interned)
16981700
}
16991701

17001702
pub fn len(&self, interner: &I) -> usize {

0 commit comments

Comments
 (0)