lifetime 相关问题

变量的生命周期是变量绑定到特定内存位置的时间。生命时间在分配变量时开始,在解除分配时结束。

分离带寿命参数的性状的可突变借代。

我在尝试定义和使用一个带有方法的特质时,遇到了一个问题,这个方法可以借用self mutably。一些上下文,可能会让它变得更容易。我正在做一个玩具编译器 我试图解决的问题是...

回答 1 投票 1

在io::Write中难以封装一个fmt::Formatter。

我有一个函数可以将我的DocObj渲染成一个fmt::Write: impl DocObj { fn render(&self, write: &mut dyn Write) -> io::Result; }。为了实现fmt::Display,我想写 ...

回答 1 投票 0

预期的绑定寿命参数,在试图传递一个Option<FnOnce&gt时发现了具体的寿命。

在下面的代码中,我试图通过一个Option? 到高阶函数 invoke_me_maybe()。如果被传递的函数存在,它将被调用,而不是 ...

回答 1 投票 0

为什么在trait中添加一个通用类型会影响trait对象和关联类型的寿命?

我有以下锈迹斑斑的代码: trait T { type AT; fn foo(&self); } struct AbstractT { t: Box >, } impl T ...

回答 1 投票 0

如何在任意指针类型上设置魔法指针值

我有一个应用程序,在这个应用程序中,我经历了一些罕见的分段故障,原因是nullptr的去引用。应用程序中的指针值遵循一个非常标准的生命周期。我初始化它们...

回答 1 投票 0

在Rust中,结构的终身约束是如何工作的?

昨天在IRC里有一些关于这个问题的讨论,让我隐隐觉得不满意。问题是: 如何定义一个结构的生命周期 来限制它的内容只限于... ...

回答 1 投票 4

有没有办法用destructor返回一个本地对象?

我有一个类Foo,它有一个构造函数,接收2个ints,并在2D中创建一个动态数组,显然是在堆中,destructor会删除它。问题是,我正在创建一个函数... ...

回答 1 投票 0

避免未定义行为:临时对象

我已经写了一个类,用来作为一个方便的视图,例如在基于范围的fors中使用。总的来说,它只是一对带有边界检查的迭代器:模板------------------。 class Range { private.I ..: I ...

回答 1 投票 0

Rust lifetime subtyping不能与Cell一起使用。

给定一个Vec类型的值,我可以自由地将其转换为Vec,因为'r是'static的一个子区域。这似乎对大多数类型都有效,例如Vec、对等。然而,...

回答 1 投票 1

对释放的内存有一个引用是未定义的行为吗?

在C++中,即使没有再次使用引用,释放仍然被引用所引用的内存是未定义的行为吗?例如,下面的函数是否调用了未定义的行为?

回答 1 投票 0

如何构造并返回两个值,其中一个引用另一个[重复的]。

说一个B包含对A的引用:结构A; 结构B { a_ref: &'t A, }。我的目标是写一个简单的函数f,使下面两个等价(虽然可以用 ...

回答 1 投票 0

如何从一个函数参数中推送一个项目到一个函数参数中的向量--不同的寿命问题。

我需要将一个项目推送到一个向量上,但项目和向量都是函数参数。但是 item 和 vector 都是函数参数。简单的代码重现:- struct Point { x: i32, y: i32 } fn main(){ let points: Vec

回答 1 投票 1

Rust.Struct的通用类型参数,用于Fn成员签名,需要命名的寿命。在Fn成员签名中使用的Struct通用类型参数需要命名的寿命

我有一个带函数成员的结构:结构Foo { fun: Box , } type FooI = Foo; 这行不通: error[E0106]: missing lifetime specifier --> ...

回答 1 投票 0

有没有一种安全的方法让一个结构存储一个将在结构外被修改的向量的片断?

我正在实现处理长度为k*n的向量的代码,并创建了k个长度为n的点,这些点引用了原始向量的一个片断: struct Point { values: &'a [f32], } impl&...。

回答 1 投票 -1

正在获取“缺少生命周期说明符”错误

这是我的代码:使用std :: ptr; struct Query {data:T,prev:&Query ,next:&Query ,} impl Query {fn new(name:T)-> Query {... ] > ] >>

回答 2 投票 2

使结构的生存期超过赋予该结构的方法的参数

我正在寻找一种方法,以确保结构寿命超过赋予该结构方法的参数。即使该结构在离开方法后不保存对该数据的引用。这是为了...

回答 1 投票 1

自定义迭代器中基于可变引用的生命周期参数问题

我想像下面那样实现自定义迭代器,但是不能解决引用问题。使用itertools :: Product;使用std :: ops :: Range; struct Iter2DMut {data:&'a mut [T],...

回答 2 投票 0

如何在结构中使用可重复使用的Vec 以避免分配?

我正在尝试找到在结构中包含Vec >的方法。该Vec仅在具有对结构的独占访问权限的函数期间内为非空,将其用作...

回答 1 投票 0

带有手动删除的引用包装的锈迹寿命问题

我正在尝试用自定义放置逻辑在Rust中编写一个包装可变引用的类,但是无论我做什么,我都无法确定生存期,并且编译器错误消息也没有.. 。

回答 1 投票 1

具有包含异步块的闭包的异步方法无法推断适当的生存期

我正在尝试使用Hyper创建小型HTTP路由器,但是在启动服务器时遇到了一些困难。以下功能是我遇到问题的地方。依赖项:[dependencies] hyper =“ 0 ....

回答 1 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.