- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我看到一个编译错误:
cannot infer an appropriate lifetime for autoref due to conflicting requirements
我可以在 Internet 上找到很多关于此错误的其他解释,但我仍然不清楚其中的一部分:“autoref”在这种情况下是什么意思?
最佳答案
Autoref 发生在当你尝试使用方法语法调用函数时,当你有一个值时,但函数采用 &self
或 &mut self
-- 方法接收者是自动引用而不是按值给出。例如:
struct Foo;
impl Foo {
pub fn by_value(self) {}
pub fn by_ref(&self) {}
pub fn by_mut(&mut self) {}
}
fn main() {
let foo = Foo;
// Autoref to &mut. These two lines are equivalent.
foo.by_mut();
Foo::by_mut(&mut foo);
// Autoref to &. These two lines are equivalent.
foo.by_ref();
Foo::by_ref(&foo);
// No autoref since self is received by value.
foo.by_value();
}
因此,在您的情况下,您正在做类似的事情,但编译器无法为不会导致借用检查问题的引用提供生命周期。
关于rust - "autoref"在 Rust 中是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/73076791/
我看到一个编译错误: cannot infer an appropriate lifetime for autoref due to conflicting requirements 我可以在 Int
我看到一个编译错误: cannot infer an appropriate lifetime for autoref due to conflicting requirements 我可以在 Int
我的代码中的某个特定函数存在生命周期问题。我正在按照教程尝试学习 Rust 和 SDL。该教程稍旧一些,SDL 库自编写以来发生了变化,因此我将继续学习,同时也将其调整为最新版本的 Rust-SDL。
这个问题在这里已经有了答案: Cannot infer an appropriate lifetime for autoref due to conflicting requirements (1
我的代码中的某个特定函数存在生命周期问题。我正在按照教程尝试学习 Rust 和 SDL。该教程稍旧一些,SDL 库自编写以来发生了变化,因此我将继续学习,同时也将其调整为最新版本的 Rust-SDL。
我正在尝试为一个结构实现 Iterator 特性,该结构充当 i32 值数组的借用者,但我一直遇到编译器提示不能够在 next 方法中推断生命周期。 我知道 Need help understandi
我正在尝试为名为Thread的链表编写一个可变的迭代器,其中每个元素都实现Block。 trait Block { fn next(&mut self) -> Option + 'a)> {
这是最少的代码: struct Node { item: T, next: Link, } type Link = Option>>; pub struct IterMut(&'a m
这是最少的代码: struct Node { item: T, next: Link, } type Link = Option>>; pub struct IterMut(&'a m
首先:我完全了解这篇文章:Cannot infer appropriate lifetime for autoref in Iterator impl而且这个问题可能与我的相似。但是,我无法使用此线程
我通过跟随 too many linked lists 来实现链表.尝试实现时 iter_mut() ,我自己做了,并制作了以下代码: type Link = Option>>; pub struct
我通过跟随 too many linked lists 来实现链表.尝试实现时 iter_mut() ,我自己做了,并制作了以下代码: type Link = Option>>; pub struct
我是一名优秀的程序员,十分优秀!