关于特征定义中的特征约束 #340
OuYangPaste
started this conversation in
内容建议
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
这一 part 我以前学的时候真的是纠结良久,当时一直想不通,实现 Copy 为什么要 先实现 Clone, 实现了 Fn 的闭包为什么一定会实现 FnMut, 明明 Copy 的实现也不依赖 Clone,Fn 的实现也不依赖 FnMut,为什么他们会有约束关系。直到后来我开始敲代码(没错,我连敲代码都能懒就懒🙈),才想到,Fn 实现固然不依赖于 FnMut,但是语义上来说,能扔进去 FnMut 还能保证安全的地方,扔个 Fn 进去,在安全性上也一样是有保证的,反之不然,所以才会使得实现了 Fn 的闭包必然也顺手实现了 FnMut。同理,Copy 固然实现不依赖于 Clone,但是语义上来说,一个能够被 Copy 的变量,能够被 直接 .clone 调用,能够被放进受 Clone trait 约束的方法中使用 ,也是再正常不过吧。
这一块由于曾经迷惘过,目前粗看《圣经》,在相关内容方面似乎描述得也不够仔细,希望《圣经》能在这方面补足一下
Beta Was this translation helpful? Give feedback.
All reactions