Commit graph

4191 commits

Author SHA1 Message Date
Corey Farwell
72497d5d13 Identifiers 2017-02-21 14:01:31 -05:00
Corey Farwell
fd272161cb String table productions 2017-02-21 14:01:29 -05:00
Corey Farwell
bb6b578e0b Unicode productions 2017-02-21 14:01:27 -05:00
Corey Farwell
c5cac872c8 Introduction 2017-02-21 14:01:25 -05:00
Steve Klabnik
287a3457bc clean up some things
I double checked that everything is here and in the correct order; this fixes things up
2017-02-21 14:01:23 -05:00
Steve Klabnik
c937254357 Start the port of the reference to mdBook
This only really moves the files, there's a lot more work coming
in the next commits.

Part of #39588.
2017-02-21 14:00:47 -05:00
Corey Farwell
9a8dbbe918 Rollup merge of #39976 - steveklabnik:reenable-book-linkchecker, r=frewsxcv
Reenable linkchecker for books

In some senses, this is a revert of https://github.com/rust-lang/rust/pull/39633/commits/cacb3bc9c741a7d41a1085af850cd3ff852307f5#diff-b64563d143f859565c8357a28ef81101R212; we disabled linkchecker for the book because the links were added by JavaScript. Now, that's fixed upstream, and so we can re-enable the checker.

This also involves two other fixes: we have to check for `name`s as well as `id`s for links, and the linking algorithm of mdBook changed to the same as rustdoc's, so we change some links back.

~~~This isn't quite ready yet; it's [depending on a PR of mine to mdBook](https://github.com/azerupi/mdBook/pull/209). After that's released, this should be the last of these kinds of shenanigans~~~ 😄

This is good to go 😄
2017-02-20 12:42:55 -05:00
bors
5b7c556385 Auto merge of #39748 - Rufflewind:master, r=steveklabnik
Rust Book: Generics: Resolving ambiguities

- Add a small section to generics.md to explain how ambiguities in type inference can be resolved using the `::<>` syntax.
- Add links from syntax-index.md and iterators.md.
- Minor edits to iterators.md and structs.md.
2017-02-20 15:06:07 +00:00
Steve Klabnik
b4cd3d9206 Revert "Fix up links"
This reverts commit 7f1d1c6d9a.

The original commit was created because mdBook and rustdoc had
different generation algorithms for header links; now with
https://github.com/rust-lang/rust/pull/39966 , the algorithms
are the same. So let's undo this change.

... when I came across this problem, I said "eh, this isn't fun,
but it doesn't take that long." I probably should have just actually
taken the time to fix upstream, given that they were amenable. Oh
well!
2017-02-20 09:09:12 -05:00
bors
941d494a6a Auto merge of #39923 - mattyw:patch-1, r=steveklabnik
Variable Bindings possible nitpick

Complete drive by nitpick I'm afraid
2017-02-20 08:16:31 +00:00
bors
e06774ece3 Auto merge of #39304 - jrmuizel:drop-flags, r=steveklabnik
Remove obsolete documentation about drop-flags
2017-02-20 05:51:11 +00:00
Phil Ruffwind
cc000599b8 Rust Book: Generics: Resolving ambiguities
- Add a small section to generics.md to explain how ambiguities in type
  inference can be resolved using the ::<> syntax.
- Add links from syntax-index.md and iterators.md.
- Minor edits to iterators.md and structs.md.
2017-02-19 22:24:45 -05:00
Guillaume Gomez
e49f76f72e Rollup merge of #39847 - CBenoit:patch-1, r=frewsxcv
Correct a typo in procedural macros chapter of the Book.

A simple and short correction for procedural macros chapter of the Rust Programming Language Book.
2017-02-18 18:10:11 +01:00
Matt Williams
5fa50d995b Variable Bindings possible nitpick
Complete drive by nitpick I'm afraid
2017-02-18 09:57:33 +00:00
Benoît CORTIER
36b00cf217 Correct a typo in procedural macros chapter of the Book. (fixup [c8292fcd6a]) 2017-02-16 09:18:19 +01:00
bors
d77af7f639 Auto merge of #39876 - frewsxcv:rollup, r=frewsxcv
Rollup of 12 pull requests

- Successful merges: #39775, #39793, #39804, #39834, #39836, #39839, #39840, #39843, #39844, #39846, #39857, #39861
- Failed merges:
2017-02-16 05:52:46 +00:00
Corey Farwell
ce9b478392 Rollup merge of #39840 - DaseinPhaos:patch-2, r=frewsxcv
Update procedural-macros.md

Fix typo
2017-02-15 23:48:18 -05:00
Jeff Muizelaar
4ba6e1b688 Remove obsolete documentation about drop-flags 2017-02-15 11:03:59 -05:00
Michal Nazarewicz
b6a1618332 book: don’t use GNU extensions in the example unnecessarily
The use of a GNU C extension for bloc expressions is immaterial to the
actual problem with C macros that the section tries to show so don’t
use it and instead use a plain C way of writing the macro.
2017-02-15 15:57:57 +01:00
Benoît CORTIER
c8292fcd6a Correct a typo in procedural macros chapter of the Book. 2017-02-15 13:44:52 +01:00
Luxko
938fed7f0f Update procedural-macros.md
Fix typo
2017-02-15 03:53:27 -06:00
est31
aebd94fd3c Stabilize field init shorthand
Closes #37340.
2017-02-15 07:11:13 +01:00
Steve Klabnik
7f1d1c6d9a Fix up links
mdbook and rustdoc generate links differently, so we need to change all
these links.
2017-02-13 13:41:24 -05:00
Steve Klabnik
22d4adf14a Port Nomicon to mdbook
1. move everything under a src directory
2. add README.md to the SUMMARY.md
2017-02-13 13:41:10 -05:00
Steve Klabnik
e943e68a47 Port TRPL to mdbook
1. move everything under a src directory
2. add README.md to the SUMMARY.md
2017-02-13 13:41:06 -05:00
Steve Klabnik
a076961fd0 Re-implement rustbook in terms of mdbook
mdbook has a lot of optional dependencies that we don't want, so instead
of using it directly, we re-build rustbook to use mdbook as a library.
For convenience' sake, we keep the same CLI interface as mdbook; the
only difference is that it only accepts build and test subcommands,
rather than the full range.
2017-02-13 13:41:01 -05:00
Jake Goulding
037ef0bbc8 Improve grammar on field init docs 2017-02-11 23:42:39 -05:00
Aaron Power
5c295110fd Updated installing nightly instructions 2017-02-10 18:44:32 +00:00
Corey Farwell
7f7dc764f5 Rollup merge of #37928 - chriskrycho:document-rfc-1623, r=steveklabnik
Document RFC 1623: static lifetime elision.

This should be the last item required for stabilizing RFC 1623 (#35897).
2017-02-08 23:55:42 -05:00
Chris Krycho
4096dd684c Add more examples, get everything passing at last. 2017-02-08 14:30:31 -05:00
Corey Farwell
68872a8a90 Rollup merge of #39620 - Gheoan:patch-1, r=steveklabnik
add missing comma
2017-02-07 22:54:30 -05:00
Corey Farwell
83595fa2f4 Rollup merge of #39593 - steveklabnik:bookshelf-landing-page, r=frewsxcv
Re-write the doc index page

Clarify and reorganize.

Add the section for the bookshelf. More to come here in the near future!

Part of #39588
2017-02-07 22:54:29 -05:00
Corey Farwell
d1f8c448ff Rollup merge of #39459 - phungleson:fix-short-hand-struct-doc, r=steveklabnik
Fix short hand struct doc

Don't want to discredit @hngiang effort on this issue.

I just want to lend a hand to fix this issue #38830, it is a very nice feature and is seemingly completed.

Fixes #39096

r? @steveklabnik
2017-02-07 22:54:26 -05:00
Alex Burka
620074df6a reference: clarify #[cfg] section 2017-02-07 15:35:54 -05:00
Steve Klabnik
78dd2ec2c2 review nits 2017-02-07 13:04:57 -05:00
Gheorghe Anghelescu
ffea076f1b add missing comma 2017-02-07 19:47:48 +02:00
Steve Klabnik
acd84c2f82 Re-write the doc index page
Clarify and reorganize.

Add the section for the bookshelf. More to come here in the near future!

Part of #39588
2017-02-06 15:05:37 -05:00
bors
4711ac314c Auto merge of #38436 - bluecereal:patch-1, r=frewsxcv
Update if-let.md

Calling if-let a combination of if and let is confusing, as some may be led to believe that it's a literal combination, instead of syntactic sugar added to the language as a convenience.  What's there to stop someone from thinking if-let is just if and let together?

I do think this article does a good job of implying what's really going on; however, I was only able to notice this after I had begun to understand if/while-let statements, courtesy of the Rust IRC chat.

Basically, this article lacks the clarity and explicitness an inexperienced programmer like me needs in order to understand the contents fully.  This is shown by my inability to understand the if-let concept from this page of the Book alone.

I think convenience, sugar, and (if-let != if + let) should all be made mention of in a clear, explicit manner. I lack confidence in my understanding of this issue, so I wrote just enough to hopefully get my thoughts across.
2017-02-06 06:55:10 +00:00
bluecereal
fb7f211c0c Update if-let.md 2017-02-05 20:20:43 -05:00
bors
696f5c1fc6 Auto merge of #38161 - durka:rustdoc-crate-attrs, r=alexcrichton
rustdoc: fix doctests with non-feature crate attrs

Fixes #38129.

The book says that any top-level crate attributes at the beginning of a doctest are moved outside the generated `fn main`, but it was only checking for `#![feature`, not `#![`.

These attributes previously caused warnings but were then ignored, so in theory this could change the behavior of doctests in the wild.
2017-02-05 05:54:44 +00:00
Son
4ddb56bf4d Simplify wording & fix test src/doc 2017-02-03 23:51:50 +11:00
bors
5de2a24b2e Auto merge of #39287 - wesleywiser:move_cell, r=aturon
Extend Cell to work with non-Copy types

I'm not sure that I did this right but all of the tests pass.

I also had to move the `new()` function so that `Cell`s with non-`Copy` `T`s could be created. That wasn't in the RFC but I assume it needed to be done?
2017-02-03 03:23:35 +00:00
Guillaume Gomez
38ae9233b5 Rollup merge of #39196 - apasel422:nomicon, r=petrochenkov
Update nomicon to describe `#[may_dangle]`

CC #34761
r? @pnkfelix
2017-02-02 22:22:21 +01:00
Guillaume Gomez
5ada328d81 Rollup merge of #38823 - Freyskeyd:doc-missingInformationCfgTest, r=steveklabnik
Improve doc cfg(test) and tests directory

Hi,

I was facing a problem with my code organisation. I was using a tests directory and i defined some `#[cfg(test)]` in my `src/`. But i was not able to use it in my `tests` folder.

```bash
.
├── Cargo.lock
├── Cargo.toml
├── src
│   ├── lib.rs
│   └── test.rs
└── tests
    └── x.rs
```
> src/lib.rs
```rust
pub mod test;

fn tesst() {
    assert!(test::t());
}
```
> src/test.rs
```rust
pub fn t() -> bool { true }
```
> test/x.rs
```rust
extern crate testt;

use testt::test;
fn tesst() {
    assert!(test::t());
}
```

I was unable to compile using `cargo test`:
```bash
error[E0432]: unresolved import `testt::test`
 --> tests/x.rs:3:5
  |
3 | use testt::test;
  |     ^^^^^^^^^^^ no `test` in `testt`
```

If i remove the `tests` directory everything works fine. To use an utils module in your `tests` directory, you need to create a module in the directory (like `tests/utils.rs`). My `tests/x.rs` look like this now:

```rust
extern crate testt;

mod utils;

fn tesst() {
    assert!(utils::t());
}
```

And my tree:
```bash
.
├── Cargo.lock
├── Cargo.toml
├── src
│   └── lib.rs
└── tests
    ├── utils.rs
    └── x.rs
```

I think that thing must be documented in the book.

Ping:
- @badboy : Because he's the one who showed me the path
- @shahn : Because he helped me too to find the solution

Signed-off-by: Freyskeyd <simon.paitrault@iadvize.com>
2017-02-02 22:22:19 +01:00
Son
c4cd4e19d9 Wrap 80 columns 2017-02-02 22:24:50 +11:00
Giang Nguyen
a7b65f1578 Add doc field init shorthand 2017-02-02 22:19:41 +11:00
Giang Nguyen
3388855443 Add explain struct field init shorthand 2017-02-02 22:19:24 +11:00
Wesley Wiser
8b947a37c8 Update Cell references in the book 2017-02-01 22:53:39 -05:00
Wilfred Hughes
87bbb3c738 Minor grammar fix 'can not' -> 'cannot'
The previous version suggested that the compiler chooses not to check, rather than being unable to check.
2017-01-29 10:51:26 +00:00
Chris Krycho
3f0ca55780 Change placement of [Unstable] marker in RFC 1623 docs. 2017-01-28 12:45:54 -05:00