From d0aed0995b6ca50ff0955ccda2e9d98076e9f961 Mon Sep 17 00:00:00 2001 From: Manish Goregaokar Date: Sat, 12 Apr 2014 09:03:16 +0530 Subject: [PATCH] Update tutorials to use new attribute syntax (#13476) --- src/doc/guide-macros.md | 2 +- src/doc/guide-pointers.md | 2 +- src/doc/guide-testing.md | 4 ++-- src/doc/guide-unsafe.md | 16 ++++++++-------- src/doc/po/ja/rust.md.po | 2 +- src/doc/po/ja/tutorial.md.po | 12 ++++++------ src/doc/rustdoc.md | 4 ++-- src/doc/tutorial.md | 14 +++++++------- 8 files changed, 28 insertions(+), 28 deletions(-) diff --git a/src/doc/guide-macros.md b/src/doc/guide-macros.md index 23510997f24..303a32289b0 100644 --- a/src/doc/guide-macros.md +++ b/src/doc/guide-macros.md @@ -407,7 +407,7 @@ As an example, `loop` and `for-loop` labels (discussed in the lifetimes guide) will not clash. The following code will print "Hello!" only once: ~~~ -#[feature(macro_rules)]; +#![feature(macro_rules)] macro_rules! loop_x ( ($e: expr) => ( diff --git a/src/doc/guide-pointers.md b/src/doc/guide-pointers.md index 76e3b521957..5c6c562b72d 100644 --- a/src/doc/guide-pointers.md +++ b/src/doc/guide-pointers.md @@ -250,7 +250,7 @@ struct. # Managed Pointers > **Note**: the `@` form of managed pointers is deprecated and behind a -> feature gate (it requires a `#[feature(managed_pointers)];` attribute on +> feature gate (it requires a `#![feature(managed_pointers)]` attribute on > the crate root; remember the semicolon!). There are replacements, currently > there is `std::rc::Rc` and `std::gc::Gc` for shared ownership via reference > counting and garbage collection respectively. diff --git a/src/doc/guide-testing.md b/src/doc/guide-testing.md index 3efed4a215b..f924b4bcd86 100644 --- a/src/doc/guide-testing.md +++ b/src/doc/guide-testing.md @@ -185,7 +185,7 @@ amount. For example: ~~~ -# #[allow(unused_imports)]; +# #![allow(unused_imports)] extern crate test; use std::slice; @@ -247,7 +247,7 @@ recognize that some calculation has no external effects and remove it entirely. ~~~ -# #[allow(unused_imports)]; +# #![allow(unused_imports)] extern crate test; use test::BenchHarness; diff --git a/src/doc/guide-unsafe.md b/src/doc/guide-unsafe.md index 47b629ac4d0..ae9d32021b5 100644 --- a/src/doc/guide-unsafe.md +++ b/src/doc/guide-unsafe.md @@ -423,14 +423,14 @@ Current valid options are: # Avoiding the standard library By default, `std` is linked to every Rust crate. In some contexts, -this is undesirable, and can be avoided with the `#[no_std];` +this is undesirable, and can be avoided with the `#![no_std]` attribute attached to the crate. ```ignore # // FIXME #12903: linking failures due to no_std // the minimal library -#[crate_type="lib"]; -#[no_std]; +#![crate_type="lib"] +#![no_std] # // fn main() {} tricked you, rustdoc! ``` @@ -445,7 +445,7 @@ in the same format as a C: ```ignore # // FIXME #12903: linking failures due to no_std -#[no_std]; +#![no_std] extern "rust-intrinsic" { fn abort() -> !; } #[no_mangle] pub extern fn rust_stack_exhausted() { @@ -461,14 +461,14 @@ fn start(_argc: int, _argv: **u8) -> int { ``` To override the compiler-inserted `main` shim, one has to disable it -with `#[no_main];` and then create the appropriate symbol with the +with `#![no_main]` and then create the appropriate symbol with the correct ABI and the correct name, which requires overriding the compiler's name mangling too: ```ignore # // FIXME #12903: linking failures due to no_std -#[no_std]; -#[no_main]; +#![no_std] +#![no_main] extern "rust-intrinsic" { fn abort() -> !; } #[no_mangle] pub extern fn rust_stack_exhausted() { @@ -542,7 +542,7 @@ sugar for dynamic allocations via `malloc` and `free`: ```ignore # // FIXME #12903: linking failures due to no_std -#[no_std]; +#![no_std] #[allow(ctypes)] // `uint` == `size_t` on Rust's platforms extern { diff --git a/src/doc/po/ja/rust.md.po b/src/doc/po/ja/rust.md.po index de0164cc6b6..758d9863b0a 100644 --- a/src/doc/po/ja/rust.md.po +++ b/src/doc/po/ja/rust.md.po @@ -252,7 +252,7 @@ msgstr "# モジュールとクレート" #: src/doc/rust.md:627 #, fuzzy #| msgid "// Turn on a warning #[warn(non_camel_case_types)]" -msgid "// Turn on a warning #[ warn(non_camel_case_types) ]; ~~~~" +msgid "// Turn on a warning #![ warn(non_camel_case_types) ] ~~~~" msgstr "" "// 警告を有効にする\n" "#[warn(non_camel_case_types)]" diff --git a/src/doc/po/ja/tutorial.md.po b/src/doc/po/ja/tutorial.md.po index f17d3df9c1c..ebd08e8ae63 100644 --- a/src/doc/po/ja/tutorial.md.po +++ b/src/doc/po/ja/tutorial.md.po @@ -4851,13 +4851,13 @@ msgstr "" #. type: Plain text #: src/doc/tutorial.md:3134 #, fuzzy -#| msgid "// Make a library (\"bin\" is the default) #[crate_type = \"lib\"];" +#| msgid "// Make a library (\"bin\" is the default) #![crate_type = \"lib\"]" msgid "" "// This crate is a library (\"bin\" is the default) #[crate_id = " -"\"farm#2.5\"]; #[crate_type = \"lib\"];" +"\"farm#2.5\"]; #![crate_type = \"lib\"]" msgstr "" "// ライブラリを作成する (\"bin\" がデフォルト値)\n" -"#[crate_type = \"lib\"];" +"#![crate_type = \"lib\"]" #. type: Plain text #: src/doc/tutorial.md:3139 @@ -4888,15 +4888,15 @@ msgstr "" #: src/doc/tutorial.md:3153 #, fuzzy #| msgid "" -#| "~~~~ // world.rs #[link(name = \"world\", vers = \"1.0\")]; pub fn " +#| "~~~~ // world.rs #![link(name = \"world\", vers = \"1.0\")] pub fn " #| "explore() -> &str { \"world\" } ~~~~" msgid "" -"~~~~ // `world.rs` #[crate_id = \"world#0.42\"]; # extern crate extra; pub fn " +"~~~~ // `world.rs` #![crate_id = \"world#0.42\"] # extern crate extra; pub fn " "explore() -> &'static str { \"world\" } # fn main() {} ~~~~" msgstr "" "~~~~\n" "// world.rs\n" -"#[link(name = \"world\", vers = \"1.0\")];\n" +"#![link(name = \"world\", vers = \"1.0\")]\n" "pub fn explore() -> &str { \"world\" }\n" "~~~~" diff --git a/src/doc/rustdoc.md b/src/doc/rustdoc.md index 96419e1bfd2..2170e16f932 100644 --- a/src/doc/rustdoc.md +++ b/src/doc/rustdoc.md @@ -13,8 +13,8 @@ comments": ~~~ // the "link" crate attribute is currently required for rustdoc, but normally // isn't needed. -#[crate_id = "universe"]; -#[crate_type="lib"]; +#![crate_id = "universe"] +#![crate_type="lib"] //! Tools for dealing with universes (this is a doc comment, and is shown on //! the crate index page. The ! makes it apply to the parent of the comment, diff --git a/src/doc/tutorial.md b/src/doc/tutorial.md index d0463ca17d3..8718f1b791e 100644 --- a/src/doc/tutorial.md +++ b/src/doc/tutorial.md @@ -3094,8 +3094,8 @@ Therefore, if you plan to compile your crate as a library, you should annotate i ~~~~ // `lib.rs` -# #[crate_type = "lib"]; -#[crate_id = "farm#2.5"]; +# #![crate_type = "lib"] +#![crate_id = "farm#2.5"] // ... # fn farm() {} @@ -3119,8 +3119,8 @@ or setting the crate type (library or executable) explicitly: // ... // This crate is a library ("bin" is the default) -#[crate_id = "farm#2.5"]; -#[crate_type = "lib"]; +#![crate_id = "farm#2.5"] +#![crate_type = "lib"] // Turn on a warning #[warn(non_camel_case_types)] @@ -3135,7 +3135,7 @@ We define two crates, and use one of them as a library in the other. ~~~~ // `world.rs` -#[crate_id = "world#0.42"]; +#![crate_id = "world#0.42"] # mod secret_module_to_make_this_test_run { pub fn explore() -> &'static str { "world" } @@ -3209,12 +3209,12 @@ Both auto-insertions can be disabled with an attribute if necessary: ~~~ // In the crate root: -#[no_std]; +#![no_std] ~~~ ~~~ // In any module: -#[no_implicit_prelude]; +#![no_implicit_prelude] ~~~ See the [API documentation][stddoc] for details.