0
我目前正在探索鏽病和我通過以下問題難住了:如何將標記添加到具體類型?
比方說,我想「註解」的功能與MarkerTrait參數(即製造特徵的註釋的):
use std::marker::MarkerTrait;
pub trait X: MarkerTrait { }
pub trait MyInterface {
fn foo(&self, bar: u32+ X) -> u32;
}
// make this compile in the playpen
fn main() { }
消息:
編譯器以現在將用下面的拒絕這個
<anon>:6:25: 6:28 error: expected a reference to a trait [E0172]
<anon>:6 fn foo(&self, bar : u32 + X) -> u32;
^~~
這是一個錯誤或故意的嗎?如果這是故意的,我應該使用什麼解決方法將所需的信息添加到我的代碼中?是否有其他方法來註釋函數參數,例如棉絨可以撿起來嗎?
編輯:好的,它似乎我問錯了問題。在Java中,函數參數可以註釋。我如何在Rust中做類似的事情?
具體類型加上一個界限並沒有什麼意義。該類型將支持特質(在這種情況下,您可以接受特質),或者不會。在同一個編譯過程中,你不能讓一個類型實現一個特性而不是。也許你可以更多地解釋你想做什麼?你在哪裏關心你有'u32'? – Shepmaster 2015-03-02 15:08:40
你的意思是什麼「註釋函數參數」?你可以註釋多於參數的類型? – Levans 2015-03-02 17:17:41