Lobsters | 📄 原文链接 | 2026-10-11 收录

为什么外部证明撑不起循环 trait 实现

来源:smallcultfollowing.com — 2026-10-10

📋 概述

Niko Matsakis 在"循环 trait 实现"系列里比较两种处理父 trait 的策略:模块化证明与外部证明。模块化证明要求 impl 自身证明父 trait 成立——impl Magic for String 直接非法,因为 String 不满足 Copy;好处是 impl 一旦通过,程序其余部分就可以放心依赖。外部证明则把举证责任推给使用方:impl 本身合法但不可用,调用处必须同时证明浅层实现同时成立。作者已确信外部证明与 Rust 的设计不兼容,模块化证明是唯一选择。

🔑 核心要点

💡 金句

我已经确信外部证明与 Rust 的设计根本不相容,因此模块化证明实际上是唯一的选择。
← 返回 Lobsters 首页