Judgment check_neg_trait_impl at crates/formality-rust/src/check/impls.rs:47
Signature:
check_neg_trait_impl(program: Program, trait_impl: NegTraitImpl,) => ()
The number on each rule’s conclusion is positive coverage; the number on each premise is negative coverage. Click a number to browse the tests.
check_neg_trait_impl| Line | Coverage | Source |
|---|---|---|
| 55 | 2 | (fail "negative impls cannot be unsafe") |
| ──────── ("check_neg_trait_impl") | ||
| 57 | 3 | (check_neg_trait_impl(program, NegTraitImpl { binder: _, safety: Safety::Unsafe }) => ()) |
check_neg_trait_impl| Line | Coverage | Source |
|---|---|---|
| 61 | N/A | (let (env, bound_data) = Env::default().instantiate_universally(binder)) |
| 62 | N/A | (let NegTraitImplBoundData { trait_id, self_ty, trait_parameters, where_clauses } = bound_data) |
| 63 | N/A | (let trait_ref = trait_id.with(self_ty, trait_parameters)) |
| 64 | ✗ | (super::where_clauses::prove_where_clauses_well_formed(program, &env, &where_clauses, &where_clauses) => ()) |
| 65 | ✗ | (super::prove_goal(program, &env, &where_clauses, Predicate::not_implemented(&trait_ref)) => ()) |
| 67 | 1 | (let trait_decl = program.program().trait_named(&trait_ref.trait_id)?) |
| 68 | ✗ | (let TraitBoundData { where_clauses: _, trait_items: _ } = trait_decl.binder.instantiate_with(&trait_ref.parameters)?) |
| ──────── ("check_neg_trait_impl") | ||
| 71 | 3 | (check_neg_trait_impl(program, NegTraitImpl { binder, safety: Safety::Safe }) => ()) |