Skip to content

Commit 7adc59d

Browse files
committed
prove_wc WellFormedTraitRef rule: require the parameters to be well-formed
1 parent 86c5f84 commit 7adc59d

File tree

1 file changed

+4
-2
lines changed

1 file changed

+4
-2
lines changed

crates/formality-prove/src/prove/prove_wc.rs

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ use formality_types::grammar::{Predicate, Relation, Wc, WcData, Wcs};
44
use crate::{
55
decls::Decls,
66
prove::{
7+
combinators::for_all,
78
env::{Bias, Env},
89
is_local::{is_local_trait_ref, may_be_remote},
910
prove,
@@ -105,9 +106,10 @@ judgment_fn! {
105106
)
106107

107108
(
108-
(let t = decls.trait_decl(&trait_ref.trait_id))
109+
(for_all(&decls, &env, &assumptions, &trait_ref.parameters, &prove_wf) => c)
110+
(let t = &decls.trait_decl(&trait_ref.trait_id))
109111
(let t = t.binder.instantiate_with(&trait_ref.parameters).unwrap())
110-
(prove(decls, env, assumptions, t.where_clause) => c)
112+
(prove_after(&decls, c, &assumptions, t.where_clause) => c)
111113
----------------------------- ("trait well formed")
112114
(prove_wc(decls, env, assumptions, Predicate::WellFormedTraitRef(trait_ref)) => c)
113115
)

0 commit comments

Comments
 (0)