← Sunday, October 11, 2026Languages & toolsDeep dive

Rust’s external proofs do not support cyclic trait implementations

smallcultfollowing.com 7 min read Editor score 7/10

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.

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.

Your note

Private to you. Stored in this browser, and synced to your account when you are signed in.