@@ -36,21 +36,23 @@ pub fn eq(a: impl Upcast<Parameter>, b: impl Upcast<Parameter>) -> Relation {
36
36
}
37
37
38
38
judgment_fn ! {
39
- pub fn prove_ty_eq (
39
+ pub fn prove_eq (
40
40
decls: Decls ,
41
41
env: Env ,
42
42
assumptions: Wcs ,
43
- a: Ty ,
44
- b: Ty ,
43
+ a: Parameter ,
44
+ b: Parameter ,
45
45
) => Constraints {
46
46
debug( a, b, assumptions, env, decls)
47
47
48
+ assert( a. kind( ) == b. kind( ) )
49
+
48
50
trivial( a == b => Constraints :: none( env) )
49
51
50
52
(
51
- ( prove_ty_eq ( decls, env, assumptions, r, l) => env_c)
53
+ ( prove_eq ( decls, env, assumptions, r, l) => env_c)
52
54
----------------------------- ( "symmetric" )
53
- ( prove_ty_eq ( decls, env, assumptions, l, r) => env_c)
55
+ ( prove_eq ( decls, env, assumptions, l, r) => env_c)
54
56
)
55
57
56
58
(
@@ -59,7 +61,7 @@ judgment_fn! {
59
61
( if a_name == b_name)
60
62
( prove( decls, env, assumptions, all_eq( a_parameters, b_parameters) ) => c)
61
63
----------------------------- ( "rigid" )
62
- ( prove_ty_eq ( decls, env, assumptions, TyData :: RigidTy ( a) , TyData :: RigidTy ( b) ) => c)
64
+ ( prove_eq ( decls, env, assumptions, TyData :: RigidTy ( a) , TyData :: RigidTy ( b) ) => c)
63
65
)
64
66
65
67
(
@@ -68,20 +70,20 @@ judgment_fn! {
68
70
( if a_name == b_name)
69
71
( prove( decls, env, assumptions, all_eq( a_parameters, b_parameters) ) => env_c)
70
72
----------------------------- ( "alias" )
71
- ( prove_ty_eq ( decls, env, assumptions, TyData :: AliasTy ( a) , TyData :: AliasTy ( b) ) => env_c)
73
+ ( prove_eq ( decls, env, assumptions, TyData :: AliasTy ( a) , TyData :: AliasTy ( b) ) => env_c)
72
74
)
73
75
74
76
(
75
77
( prove_existential_var_eq( decls, env, assumptions, v, r) => c)
76
78
----------------------------- ( "existential-nonvar" )
77
- ( prove_ty_eq ( decls, env, assumptions, Variable :: InferenceVar ( v) , r) => c)
79
+ ( prove_eq ( decls, env, assumptions, Variable :: InferenceVar ( v) , r) => c)
78
80
)
79
81
80
82
(
81
83
( prove_normalize( & decls, env, & assumptions, & x) => ( c, y) )
82
84
( prove_after( & decls, c, & assumptions, eq( y, & z) ) => c)
83
85
----------------------------- ( "normalize-l" )
84
- ( prove_ty_eq ( decls, env, assumptions, x, z) => c)
86
+ ( prove_eq ( decls, env, assumptions, x, z) => c)
85
87
)
86
88
}
87
89
}
0 commit comments