@@ -41,16 +41,19 @@ private predicate hasFirstNonTrivialTraitBound(TypeParamItemNode tp, Trait trait
4141 */
4242pragma [ nomagic]
4343predicate isBlanketLike ( ImplItemNode i , TypePath blanketSelfPath , TypeParam blanketTypeParam ) {
44- blanketTypeParam = i .getBlanketImplementationTypeParam ( ) and
45- blanketSelfPath .isEmpty ( )
46- or
47- exists ( TypeMention tm , Type root , TypeParameter tp |
48- tm = i .( Impl ) .getSelfTy ( ) and
49- complexSelfRoot ( root , tp ) and
50- tm .getType ( ) = root and
51- tm .getTypeAt ( blanketSelfPath ) = TTypeParamTypeParameter ( blanketTypeParam ) and
52- blanketSelfPath = TypePath:: singleton ( tp ) and
53- hasFirstNonTrivialTraitBound ( blanketTypeParam , _)
44+ i .( Impl ) .hasTrait ( ) and
45+ (
46+ blanketTypeParam = i .getBlanketImplementationTypeParam ( ) and
47+ blanketSelfPath .isEmpty ( )
48+ or
49+ exists ( TypeMention tm , Type root , TypeParameter tp |
50+ tm = i .( Impl ) .getSelfTy ( ) and
51+ complexSelfRoot ( root , tp ) and
52+ tm .getType ( ) = root and
53+ tm .getTypeAt ( blanketSelfPath ) = TTypeParamTypeParameter ( blanketTypeParam ) and
54+ blanketSelfPath = TypePath:: singleton ( tp ) and
55+ hasFirstNonTrivialTraitBound ( blanketTypeParam , _)
56+ )
5457 )
5558}
5659
0 commit comments