@@ -100,7 +100,7 @@ impl Parameter {
100
100
/// nothing unifiable and identifies the kind of predicate.
101
101
/// If the skeleton's don't match, they are distinct predicates.
102
102
#[ term]
103
- pub enum AtomicSkeleton {
103
+ pub enum Skeleton {
104
104
IsImplemented ( TraitId ) ,
105
105
NormalizesTo ( AliasName ) ,
106
106
WellFormed ,
@@ -116,36 +116,34 @@ pub enum AtomicSkeleton {
116
116
impl Predicate {
117
117
/// Separate an atomic predicate into the "skeleton" (which can be compared for equality using `==`)
118
118
/// and the parameters (which must be related).
119
- pub fn debone ( & self ) -> ( AtomicSkeleton , Vec < Parameter > ) {
119
+ pub fn debone ( & self ) -> ( Skeleton , Vec < Parameter > ) {
120
120
match self {
121
121
Predicate :: IsImplemented ( TraitRef {
122
122
trait_id,
123
123
parameters,
124
124
} ) => (
125
- AtomicSkeleton :: IsImplemented ( trait_id. clone ( ) ) ,
125
+ Skeleton :: IsImplemented ( trait_id. clone ( ) ) ,
126
126
parameters. clone ( ) ,
127
127
) ,
128
128
Predicate :: NormalizesTo ( AliasTy { name, parameters } , ty) => (
129
- AtomicSkeleton :: NormalizesTo ( name. clone ( ) ) ,
129
+ Skeleton :: NormalizesTo ( name. clone ( ) ) ,
130
130
parameters
131
131
. iter ( )
132
132
. cloned ( )
133
133
. chain ( Some ( ty. to_parameter ( ) ) )
134
134
. collect ( ) ,
135
135
) ,
136
- Predicate :: WellFormedAdt ( id, parameters) => (
137
- AtomicSkeleton :: WellFormedAdt ( id. clone ( ) ) ,
138
- parameters. clone ( ) ,
139
- ) ,
140
- Predicate :: WellFormedAlias ( id, parameters) => (
141
- AtomicSkeleton :: WellFormedAlias ( id. clone ( ) ) ,
142
- parameters. clone ( ) ,
143
- ) ,
136
+ Predicate :: WellFormedAdt ( id, parameters) => {
137
+ ( Skeleton :: WellFormedAdt ( id. clone ( ) ) , parameters. clone ( ) )
138
+ }
139
+ Predicate :: WellFormedAlias ( id, parameters) => {
140
+ ( Skeleton :: WellFormedAlias ( id. clone ( ) ) , parameters. clone ( ) )
141
+ }
144
142
Predicate :: WellFormedTraitRef ( TraitRef {
145
143
trait_id,
146
144
parameters,
147
145
} ) => (
148
- AtomicSkeleton :: WellFormedTraitRef ( trait_id. clone ( ) ) ,
146
+ Skeleton :: WellFormedTraitRef ( trait_id. clone ( ) ) ,
149
147
parameters. clone ( ) ,
150
148
) ,
151
149
}
@@ -208,14 +206,12 @@ impl AtomicRelation {
208
206
Self :: Sub ( p1. upcast ( ) , p2. upcast ( ) )
209
207
}
210
208
211
- pub fn debone ( & self ) -> ( AtomicSkeleton , Vec < Parameter > ) {
209
+ pub fn debone ( & self ) -> ( Skeleton , Vec < Parameter > ) {
212
210
match self {
213
- AtomicRelation :: Equals ( a, b) => ( AtomicSkeleton :: Equals , vec ! [ a. clone( ) , b. clone( ) ] ) ,
214
- AtomicRelation :: Sub ( a, b) => ( AtomicSkeleton :: Sub , vec ! [ a. clone( ) , b. clone( ) ] ) ,
215
- AtomicRelation :: Outlives ( a, b) => {
216
- ( AtomicSkeleton :: Outlives , vec ! [ a. clone( ) , b. clone( ) ] )
217
- }
218
- AtomicRelation :: WellFormed ( p) => ( AtomicSkeleton :: WellFormed , vec ! [ p. clone( ) ] ) ,
211
+ AtomicRelation :: Equals ( a, b) => ( Skeleton :: Equals , vec ! [ a. clone( ) , b. clone( ) ] ) ,
212
+ AtomicRelation :: Sub ( a, b) => ( Skeleton :: Sub , vec ! [ a. clone( ) , b. clone( ) ] ) ,
213
+ AtomicRelation :: Outlives ( a, b) => ( Skeleton :: Outlives , vec ! [ a. clone( ) , b. clone( ) ] ) ,
214
+ AtomicRelation :: WellFormed ( p) => ( Skeleton :: WellFormed , vec ! [ p. clone( ) ] ) ,
219
215
}
220
216
}
221
217
}
@@ -259,7 +255,7 @@ pub enum APR {
259
255
}
260
256
261
257
impl APR {
262
- pub fn debone ( & self ) -> ( AtomicSkeleton , Vec < Parameter > ) {
258
+ pub fn debone ( & self ) -> ( Skeleton , Vec < Parameter > ) {
263
259
match self {
264
260
APR :: AtomicPredicate ( v) => v. debone ( ) ,
265
261
APR :: AtomicRelation ( v) => v. debone ( ) ,
@@ -268,13 +264,13 @@ impl APR {
268
264
}
269
265
270
266
pub trait Debone {
271
- fn debone ( & self ) -> ( AtomicSkeleton , Vec < Parameter > ) ;
267
+ fn debone ( & self ) -> ( Skeleton , Vec < Parameter > ) ;
272
268
}
273
269
274
270
macro_rules! debone_impl {
275
271
( $t: ty) => {
276
272
impl Debone for $t {
277
- fn debone( & self ) -> ( AtomicSkeleton , Vec <Parameter >) {
273
+ fn debone( & self ) -> ( Skeleton , Vec <Parameter >) {
278
274
self . debone( )
279
275
}
280
276
}
0 commit comments