Brown University 版本的 The Rust Programming Language 教程中,Generic 这一章节末尾提出了一个非常棒的 Quiz1

假如某个 library 定义了如下 function 而我们不知道具体实现是什么:

1fn mystery<T>(x: T) -> T {
2  // ????
3}

当我们在代码中如此调用时,当然可以确定 foo 的类型,但是能确定值吗?

1let foo = mystery(42);

令人意外的是,foo 的值是唯一的。

Claude Sonnet 老师也在恍然大悟后直言「这正是理解 Rust 泛型系统的关键点之一」。