本例中,起首为OutlinePrint增加一个限定Sized,其次方法outline_print是先copy再to_string.
如果OutlinePrint不添加一个Sized,那么会提示语句 let copied=self.copy()报错:doesn't have a size known at compile-time
rustc的给出的建议是:fn outline_print(&self) where Self: Sized ,即为方法outline_print的参数添加限定(这是我们习惯的方式) 为什么Point不必要实现Sized?这是因为Point的巨细是确定的,其次编译器会为此类类型隐式实现。
输出略。
三、示例3-如果不利用特质的限定