circular reasoning is a potential source of unsoundness
circular reasoning is a potential source of unsoundness
Posted Mar 30, 2026 17:34 UTC (Mon) by daroc (editor, #160859)In reply to: circular reasoning is a potential source of unsoundness by NYKevin
Parent article: Rust's next-generation trait solver
I suspect the answer is the same as any other unsafe thing that breaks the language: "don't do that". You can't have a coinductive loop without at least one trait implementation block, so for an unsafe trait, that unsafe trait implementation is the specific use of unsafe that could break things.
But yes, one of the remaining open items to work on before the next-generation trait solver can be stabilized is documentation, which will presumably include documenting how any proposed changes to the type system interact with unsafe code.
