Skip to content

Update tutorials to use new attribute syntax (#13476) #13477

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
Apr 14, 2014
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion src/doc/guide-macros.md
Original file line number Diff line number Diff line change
@@ -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) => (
2 changes: 1 addition & 1 deletion src/doc/guide-pointers.md
Original file line number Diff line number Diff line change
@@ -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.
4 changes: 2 additions & 2 deletions src/doc/guide-testing.md
Original file line number Diff line number Diff line change
@@ -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;
16 changes: 8 additions & 8 deletions src/doc/guide-unsafe.md
Original file line number Diff line number Diff line change
@@ -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 {
2 changes: 1 addition & 1 deletion src/doc/po/ja/rust.md.po
Original file line number Diff line number Diff line change
@@ -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)]"
12 changes: 6 additions & 6 deletions src/doc/po/ja/tutorial.md.po
Original file line number Diff line number Diff line change
@@ -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"
"~~~~"

4 changes: 2 additions & 2 deletions src/doc/rustdoc.md
Original file line number Diff line number Diff line change
@@ -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,
14 changes: 7 additions & 7 deletions src/doc/tutorial.md
Original file line number Diff line number Diff line change
@@ -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.