diff --git a/src/lib/ast/ty.rs b/src/lib/ast/ty.rs index 2108b5c..b39fdd8 100644 --- a/src/lib/ast/ty.rs +++ b/src/lib/ast/ty.rs @@ -84,7 +84,6 @@ pub struct Predicate<'src> { pub enum PredicateKind<'src> { Trait(TraitPredicate<'src>), Outlives(OutlivesPredicate<'src>), - Equality(Ty<'src>, Ty<'src>), } #[derive(Debug)] diff --git a/src/lib/fmter/ty.rs b/src/lib/fmter/ty.rs index 5ada328..aad6678 100644 --- a/src/lib/fmter/ty.rs +++ b/src/lib/fmter/ty.rs @@ -231,11 +231,6 @@ impl Fmt for ast::PredicateKind<'_> { } bounds.interleave(" + ").fmt(cx); } - Self::Equality(lhs, rhs) => { - lhs.fmt(cx); - fmt!(cx, " == "); - rhs.fmt(cx); - } } } } diff --git a/src/lib/parser/ty.rs b/src/lib/parser/ty.rs index 2a18813..041b10e 100644 --- a/src/lib/parser/ty.rs +++ b/src/lib/parser/ty.rs @@ -523,32 +523,13 @@ impl<'src> Parser<'_, '_, 'src> { let kind = if bound_vars.is_some() || self.begins_ty(0) { let ty = self.parse_ty()?; - - match self.token.kind { - TokenKind::SingleColon => { - self.advance(); - let bounds = self.parse_bounds()?; - ast::PredicateKind::Trait(ast::TraitPredicate { - bound_vars: bound_vars.map_or(Vec::new(), |(vars, _)| vars), - ty, - bounds, - }) - } - TokenKind::SingleEquals | TokenKind::DoubleEquals => { - self.advance(); - ast::PredicateKind::Equality(ty, self.parse_ty()?) - } - _ => { - return self.fatal(Error::UnexpectedToken( - self.token, - one_of![ - TokenKind::SingleColon, - TokenKind::SingleEquals, - TokenKind::DoubleEquals - ], - )); - } - } + self.parse(TokenKind::SingleColon)?; + let bounds = self.parse_bounds()?; + ast::PredicateKind::Trait(ast::TraitPredicate { + bound_vars: bound_vars.map_or(Vec::new(), |(vars, _)| vars), + ty, + bounds, + }) } else if let Some(lt) = self.parse_lifetime() { self.parse(TokenKind::SingleColon)?; let bounds = self.parse_outlives_bounds();