我也浅谈【泛型参数】的【晚·绑定late bound
】
名词解释
为了减少对正文内容理解的歧义,我们先统一若干术语的名词解释:
泛型项:
要么,泛型函数
generic function
;要么,泛型类型
generic type
(比如,泛型结构体)。
泛型参数:
要么,泛型·类型·参数
generic type parameter
;要么,泛型·生命周期·参数
generic lifetime parameter
。
泛型参数限定条件:
见下图吧,实在不容易文字描述
-
要么,
trait bounds
;要么,
lifetime bounds
。
高阶·生命周期·限定条件
higher-ranked lifetime bounds
:语法:
for<'a>
功能:描述【高阶函数】内【闭包】类型【形参 / 返回值】里【形参 / 返回值】的生命周期。文字描述得绕儿,直接看下图吧,一图抵千词。
FST
:Fixed Size Type
【泛型参数】的【绑定】是【编译时】概念
首先,无论是【早·绑定】还是【晚·绑定】,【泛型参数-绑定】都是发生在编译阶段,而不是运行期间。
只不过【泛型参数·早·绑定】是发生在【单态化
monomorphize