2015-04-06 51 views
0

如文檔Vec中所述,必須在1.0-beta版本中保持穩定。但是,如果我嘗試調用調整大小,我看到以下錯誤消息:爲什麼Vec ::調整一個不穩定的函數?

error: use of unstable library feature 'collections': matches collection reform specification; waiting for dust to settle

它可以很容易地複製,例如,這裏:http://is.gd/IhEfEu

fn main() { 
    let mut v = vec![1, 2, 3, 4]; 
    v.resize(10, 0); 
} 

回答

1

我認爲這是文檔中的問題。

stable屬性可應用於箱子,類型或單個函數,但在文檔中,您無法看到函數的棄用狀態,只能看到類型和箱子。

如果你去the source,您將看到:

impl<T: Clone> Vec<T> { 
    /// ... 
    #[unstable(feature = "collections", 
       reason = "matches collection reform specification; waiting for dust to settle")] 
    pub fn resize(&mut self, new_len: usize, value: T) { 

而且,正如你可以在這個文件中看到,仍然有這個模塊中有很多不穩定的功能。

+1

查看@ shepmaster的回答,您可以查看文檔中的狀態以及原因。 –

+0

@SteveKlabnik:作爲8%的男性之一(約8%的開發者......)在一定程度上受到色盲的影響;功能的穩定狀態的任何機會被某種*更多*表示,而不僅僅是顏色? –

+0

@ MatthieuM.i看到你已經提交了一個bug,所以我只是把它留在:) –

3

函數可以被標記爲不穩定,Vec::resize是:

enter image description here

左邊的黃色條表示穩定,盤旋在它描述了爲什麼它是不穩定的。

相關問題