Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

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
LineCoverageSource
552(fail "negative impls cannot be unsafe")
──────── ("check_neg_trait_impl")
573(check_neg_trait_impl(program, NegTraitImpl { binder: _, safety: Safety::Unsafe }) => ())
check_neg_trait_impl
LineCoverageSource
61N/A(let (env, bound_data) = Env::default().instantiate_universally(binder))
62N/A(let NegTraitImplBoundData { trait_id, self_ty, trait_parameters, where_clauses } = bound_data)
63N/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)) => ())
671(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")
713(check_neg_trait_impl(program, NegTraitImpl { binder, safety: Safety::Safe }) => ())