cost 101 ms
為單個變量分配不同的生命周期

[英]Assigning different lifetimes to a single variable

我仍在嘗試了解 Rust 的所有權和生命周期,但我對這段代碼感到困惑: struct Foo { x: String, } fn get_x<'a, 'b>(a: &'a Foo, b: &'b Foo) -> &'b str { let ...

使用帶有引用值的 Borrow trait

[英]Using Borrow trait with a referenced value

我有一個自定義特征,我想在HashMap<(u32, u32), &'a Edge> 。 由於我希望我的特征同時適用於擁有的和引用的值,因此我按照其他 SO 帖子的建議使用了Borrow特征,但是我在借用檢查器和引用的&Edge遇到了問題。 首先,編譯器希望我專門為&am ...

Bounding IntoIterator::Item

[英]Bounding IntoIterator::Item

我有以下簡單的struct : 而且,我想設置它以便items允許我迭代它們。 特別是,我期待&T實現IntoIterator 。 這是我設法找出可以編譯的示例方法: 我不完全理解for<'a>發生了什么,或者它與編寫impl<'a,T>等有什么不同。無論如何 ...

通過簡單模式在 Rust 中關閉生命周期

[英]Closure lifetime in Rust through simple pattern

我正在嘗試使用 2 個結構在 Rust 中重新創建一個簡單的回調模式。 當另一個准備好時,一個將傳遞一些邏輯來執行。 這里的問題是只有當結構中的某個值為真時,邏輯才會運行。 我可以理解為什么在這種情況下對 Foo 的引用需要為'static存在,但我不確定如何重構以使其編譯。 似乎是一個非常常規 ...

如何獲得結構(受生命周期約束)字段的可變引用?

[英]How to get mutable reference of struct(constrained with lifetime) field?

坦率地說,我不知道標題是否完美地描述了我的問題。 我自己也不知道是什么問題。 無論如何,我都會出錯。 我的代碼是 這是完美的示例重復(更簡單的版本,忽略所有其他字段和方法)代碼。 除了使用字符串文字&str而不是String之外,我別無選擇,因為它更容易進行模式匹配。 所以,我介紹了 ...

循環中的多個可變引用

[英]Multiple mutable references in a loop

我正在嘗試更詳細地了解 Rust 的所有權和生命周期,但我對這段代碼感到非常困惑: let mut lst = vec![1, 2, 3]; let mut x = &mut 0; for value in &mut lst { *value += 1; *x += ...

實現迭代器時如何返回引用?

[英]How to return a reference when implementing an iterator?

我想返回對集合中擁有的對象的引用(即Vec ),但我似乎無法獲得正確的生命周期。 這是我第一次嘗試的: struct StringHolder { strings: Vec<String>, i: usize, } impl Iterator for StringHol ...

創建可變迭代器時出現生命周期錯誤

[英]Lifetime error when creating mutable iterator

我在嘗試創建自定義迭代器時遇到了一些問題。 非可變版本運行良好,但在復制相同函數以創建可變版本時,出現了生命周期錯誤。 這是我的問題的簡化版本: iter函數工作正常,但iter_mut函數無法編譯並出現此錯誤: ...

如何定義適配器特征,其中某些實現需要 &self 的生命周期?

[英]How to define an adapter trait where some implementations need a lifetime on &self?

我正在為不同的鍵值存儲編寫一組基准,並希望有一個可以在所有基准中使用的適配器特征,然后為每個鍵值存儲實現它。 這對他們中的兩個人來說效果很好。 然而,第三個要求我在我的特質上增加一生,在與借閱檢查員戰斗了一整天后,我似乎仍然無法做對。 我已經把它提煉成這個最小的重現: https ://play ...

如何使用通用 arguments 包裝函數,該函數強制 rust 中的命名生命周期具有非“靜態生命周期”

[英]How to wrap functions with generic arguments which force a named lifetime in rust with a non 'static lifetime

我正在做一個更大的私人項目,並引入了類似 function 注冊表的東西來使用鈎子。 到目前為止效果很好,直到我被迫使用具有命名生命周期的 aa 類型。在我的情況下,它是rusqlite::Transaction<'c> 。 因此,所有依賴結構也必須引入命名生命周期,對嗎? 最后我得到 ...

Rust 中的壽命如何適用於 function?

[英]How do lifetimes in Rust work for a function?

在lifetime_things的定義中, 'b的生命周期比'a長,但實際上當我調用這個function時, x1比y1長,但這可以編譯成功: 但是在這里你可以看到x1的生命周期應該大於y1那么為什么它也能成功編譯呢? ...

如何使用通用 arguments 包裝函數,這會在 rust 中強制命名生命周期為“靜態生命周期”

[英]How to wrap functions with generic arguments which force a named lifetime in rust with a 'static lifetime

我正在做一個更大的私人項目,並引入了類似 function 注冊表的東西來使用鈎子。 到目前為止效果很好,直到我被迫使用具有命名生命周期的 aa 類型。在我的情況下,它是rusqlite::Transaction<'c> 。 因此,所有依賴結構也必須引入命名生命周期,對嗎? 最后我得到 ...

來自 C 指針的 Rust 引用是 static 和可變的?

[英]Rust reference from C pointer that is static and mutable?

我正在 rust 中編寫一個 C 接口庫。 我的 API 非常類似於 C:我將“不透明”指針作為 function 參數,我必須將其轉換為指向我的庫內部結構的指針。 因此指針的生命周期比 function 調用(靜態)長,並且指針指向可變數據(庫負責初始化和獲取/設置此數據)。 可變性 + sta ...

Rust 壽命混亂

[英]Rust lifetime confusion

我目前正在自學 Rust 並通過實施井字游戲來練習。 我有一個 Board 結構( Cell和GameState是簡單的枚舉, SIZE是3 usize ): 我正在嘗試實現一個mark方法: 到目前為止一切都很好......但是有丑陋的代碼重復。 所以我的下一步是引入一個閉包並用它替換 if 中的 ...

關於 Rust 編程語言的生命周期的問題

[英]Question about lifetimes from The Rust Programming Language

為什么在此圖中 'a 在 'b 之前結束? 他們不應該在花括號的末尾同時結束嗎? 這是來自“Rust 編程語言”一書的清單 10-19( https://doc.rust-lang.org/book/ch10-03-lifetime-syntax.ZFC35FDC70D5FC69D263EZ888 ...

結果<t, e>輸入 Rust。 為什么引用不能作為 T 或 E 傳遞?</t,>

[英]Result<T, E> Type in Rust. why reference can't be passed as T or E?

我是 rust 的新手,最近我讀到了 Result 類型。 喜歡這個概念並開始在我的應用程序中使用它。 我的第一次嘗試是使用 &amp;str。 所以我的返回類型是這樣的: 這就是我得到的錯誤: 以下代碼有效: 現在我不認為我完全明白為什么將引用作為泛型類型傳遞是錯誤的。 此外我不明白為什么 s ...

使用 HashMap 引用作為值的 HashMap 的生命周期問題

[英]Lifetime problem with HashMap with HashMap references as values

(rust 的新手,僅供參考!) 所以 - 我一直在嘗試理解 Rust 中的生命周期概念。 我已經閱讀了文檔,並閱讀了一些關於該主題的博客和 SO 帖子。 但仍然沒有完全理解(因此,問題的標題可能很糟糕)。 我有一個我正在嘗試解決的特殊問題,我將其歸結為這個小示例代碼(試圖盡可能接近工作示例):u ...


排序:
質量:
 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM