← Sunday, October 11, 2026Languages & toolsDeep dive
Rust’s external proofs do not support cyclic trait implementations
The post argues that cyclic trait implementations require modular proofs, where an implementation establishes its supertraits, rather than external proofs by callers. The distinction is useful context for engineers following Rust’s type-system design.
- What
- The post compares modular proofs, where an impl must establish its supertraits, with external proofs, where consuming code must establish them.
- How
- For `Magic: Copy`, modular checking rejects `impl Magic for String` because `String` is not `Copy`; valid impls let callers rely on the supertrait.
- Why it matters
- The argument concludes that cyclic Rust trait impls need modular proofs, since external proofs conflict with Rust's design.
Read on smallcultfollowing.com → Lobsters
Discussion
Discussion is not switched on yet. Use Note above to keep your own thoughts on this story.
Headline, summary, brief and diagram are written by a model from the source's own text; the link, byline and numbers come from the source. Read the original before relying on a claim.