Negative Bounds for Avoiding Conflicts in Implementing Traits in Rust
In Rust, trait implementations can introduce type parameters with trait bounds. Implementations that use type parameters may conflict, resulting in compile-time errors. In this paper, we introduce negative bounds to avoid such implementation conflicts and propose an algorithm for detecting these conflicts. Based on this algorithm, we have developed a prototype system for a subset of Rust that incorporates negative bounds, using a slightly simplified syntax for implementations. We also discuss the use of \emph{specialization}, as proposed in RFC 1210, in conjunction with negative bounds, which can reduce the number of implementations in the Rust standard library. We believe that incorporating negative bounds and specialization from RFC 1210 into the Rust compiler \texttt{rustc} will not significantly increase compilation time in typical cases.
Tue 14 OctDisplayed time zone: Perth change
13:40 - 15:20 | |||
13:40 25mTalk | Negative Bounds for Avoiding Conflicts in Implementing Traits in Rust HATRA Link to publication | ||
14:05 25mTalk | P4-SpecTec: A Language Mechanization Framework for P4 HATRA Link to publication | ||
14:30 25mTalk | Types as a Specification Language for Creativity HATRA Youyou Cong Institute of Science Tokyo Link to publication | ||
14:55 25mTalk | Actema: Integrating Graphical Proofs into ITPs via Plugin-Driven Gestural InteractionRemote HATRA Link to publication |