auto merge of #13477 : Manishearth/rust/newattr, r=brson

See #13476
This commit is contained in:
bors 2014-04-14 07:11:53 -07:00
commit e2e754810c
8 changed files with 28 additions and 28 deletions

View File

@ -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) => (

View File

@ -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.

View File

@ -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::Bencher;

View File

@ -424,14 +424,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!
```
@ -446,7 +446,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() {
@ -462,14 +462,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() {
@ -543,7 +543,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 {

View File

@ -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)]"

View File

@ -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"
"~~~~"

View File

@ -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,

View File

@ -3096,8 +3096,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() {}
@ -3121,8 +3121,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)]
@ -3137,7 +3137,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" }
@ -3211,12 +3211,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.