由于@francis-gagné的给出了另一个问题,我对方差的工作原理有了更清晰的认识,例如,包含引用的类型在其生命周期参数中是协变的,如下所示。[bb, bc]; // ba is not accepted最后,具有生命周期参数的特征在其生命参数上是不变的。[zb]; // za and zx are not accepted这是有意义的
我具有这样的特性,它表示从模板呈现文本(例如HTML)的能力,以及包含模板所需数据的关联类型TemplateData: type TemplateData;解决此问题的两种方法是向该特性添加一个生存期参数,或者将其添加到正在实现的MyTemplate结构中。向MyTemplate添加一个生命周期没有多大意义,因为它不包含任何引用成员(或者在这个简单的示例中根本不包含任何成员)