2015-04-06 54 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

左边的黄色条表示稳定,盘旋在它描述了为什么它是不稳定的。

相关问题