为何对enum 解引用会引发move?
出错的代码:
#[derive(Debug)]
pub enum Direction {
Up = 1,
Down = -1,
Left = 2,
Right = -2,
}
impl Direction {
fn is_opposite(&self, another: &Self) -> bool {
(*self as isize) + (*another as isize) == 0
}
}
错误信息:
但是这样的代码是没问题的:
match *self {
// ...
}
我不太清楚这两者间的区别,为什么前者会引起move 或者copy?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
E0507