2017-04-06 6 views
3

私はこのtutorialを読み、以下の錆のコードを試してみました:「let x =〜10;」です錆の時代遅れですか?

fn main() { 
    let x = ~10; 
    println!("{:d}", *x); 
} 

しかし、コンパイラは文句:

rustc 1.16.0 (30cf806ef 2017-03-10) 
error: expected expression, found `~` 
--> <anon>:2:13 
    | 
2 |  let x = ~10; 
    |   ^

error: unknown format trait `d` 
--> <anon>:3:22 
    | 
3 |  println!("{:d}", *x); 
    |      ^^ 

はすでにlet x = ~10;時代遅れですか?

+2

はい。公平であるために、これはもう少し前に削除されました:https://github.com/rust-lang/rfcs/pull/59。 – Alec

答えて

8

非常にです。 Rust 1.0は2015-05-15にリリースされました。この構文は数ヶ月前に削除されました。これはあなたのチュートリアルが長期間更新されていないことを意味します。実際、このファイルは2014-01-28に最終更新されました!いい兆しではありません。

あなたのコードの非時代遅れのバージョン:

fn main() { 
    let x = Box::new(10); 
    println!("{}", x); 
} 
  1. 印章~は、特定のデータ構造に置き換えました。この場合、Box
  2. フォーマット指定子:dは存在しません。 Displayフォーマッタ{}を使用してください。
  3. ボックス番号を逆参照する必要はありません。代わりに、いくつかの "すでに時代遅れ" 参照の

、使用公式ソース:

関連する問題