4830 Commits

Author SHA1 Message Date
James Mantooth
c2e26121db
Punctuation and clarity fixes. 2018-01-17 05:23:21 -06:00
QuietMisdreavus
0e1ecbed83
add Rust By Example to the bookshelf 2018-01-16 19:35:39 -06:00
Robin Kruppe
2be697bc21 Implement repr(transparent) 2018-01-16 08:58:32 +01:00
Carol (Nichols || Goulding)
c698496f84
Reexport -> re-export in documentation section headings 2018-01-15 13:36:52 -05:00
kennytm
63f4285247
Rollup merge of #47414 - est31:master, r=alexcrichton
Enforce dashes in the unstable book file names

Also rename the existing underscore using files to use dashes.

Fixes #47394.
2018-01-15 18:49:37 +08:00
projektir
a2df413187 Adding RBE as a submodule #46194 2018-01-13 13:04:53 -08:00
est31
38e2667584 Enforce dashes in the unstable book file names
Also rename the existing underscore using files to use dashes.

Fixes #47394.
2018-01-13 15:44:44 +01:00
Corey Farwell
8fbfd2c940 Rollup merge of #47301 - GuillaumeGomez:fix-error-index-display, r=QuietMisdreavus
Fix error index display

Fixes #47284.

r? @QuietMisdreavus
2018-01-09 22:28:26 -05:00
Guillaume Gomez
265b234dd6 Fix error index display 2018-01-09 22:26:26 +01:00
Vadim Petrochenkov
ef2b131144 Add docs for crate_in_paths, extern_in_paths and extern_absolute_paths into the unstable book 2018-01-03 19:18:02 +03:00
kennytm
d6cf5a56ac Rollup merge of #47117 - tinaun:no_more_dups, r=frewsxcv
[unstable book] remove duplicate entries

if a unstable feature is a language feature, it shouldn't also have a library feature stub generated
2018-01-03 16:57:58 +08:00
bors
1bcc6dc7ea Auto merge of #46895 - ricochet1k:macro-lifetimes, r=jseyfried
Allow lifetimes in macros

This is a resurrection of PR #41927 which was a resurrection of #33135, which is intended to fix #34303.

In short, this allows macros_rules! to use :lifetime as a matcher to match 'lifetimes.

Still to do:
- [x]  Feature gate
2018-01-01 07:21:23 +00:00
steveklabnik
28d13f9edf update books for next release 2017-12-30 12:02:53 -05:00
Matt Peterson
0f9c9b66bb Add an entry in the unstable book 2017-12-28 11:33:44 -05:00
Guillaume Gomez
eb84f4243f fix markdown file differences 2017-12-07 23:56:21 +01:00
Zack M. Davis
207fc0bb45 template month/year, version into man pages while building dist tarball
This is meant to resolve #25689.
2017-12-04 23:47:59 -08:00
Kenjiro Nakayama
cac199fb27 Fix invalid link to lint_plugin_test.rs 2017-12-03 18:13:54 +09:00
Pietro Albini
91ba8b42fc
Implement RFC 2128 (use_nested_groups)
This commit adds support for nested groups inside `use` declarations,
such as `use foo::{bar, sub::{baz::Foo, *}};`.
2017-11-30 13:10:26 +01:00
kennytm
aa99bd96fd Rollup merge of #46174 - stjepang:stabilize-spinloophint, r=sfackler
Stabilize spin_loop_hint

Stabilize `spin_loop_hint` in release `1.23.0`.
I've also renamed feature `hint_core_should_pause` to `spin_loop_hint`.

cc #41196
2017-11-28 03:16:43 +08:00
Stjepan Glavina
a115fcd1a0 Remove spin-loop-hint from the unstable book 2017-11-22 11:24:57 +01:00
bors
3755fe9555 Auto merge of #44781 - QuietMisdreavus:doc-include, r=GuillaumeGomez
rustdoc: include external files in documentation (RFC 1990)

Part of https://github.com/rust-lang/rfcs/pull/1990 (needs work on the error reporting, which i'm deferring to after this initial PR)

cc #44732

Also fixes #42760, because the prep work for the error reporting made it easy to fix that at the same time.
2017-11-22 09:58:07 +00:00
Stjepan Glavina
6ceb5f4bec Stabilize spin_loop_hint 2017-11-22 00:00:01 +01:00
QuietMisdreavus
f9f3611f5c allow loading external files in documentation
Partial implementation of https://github.com/rust-lang/rfcs/pull/1990
(needs error reporting work)

cc #44732
2017-11-21 15:46:49 -06:00
Martin Lindhe
ece9a57d1b fix some typos 2017-11-21 15:33:45 +01:00
bors
421a2113a8 Auto merge of #45039 - QuietMisdreavus:doc-spotlight, r=GuillaumeGomez,QuietMisdreavus
show in docs whether the return type of a function impls Iterator/Read/Write

Closes #25928

This PR makes it so that when rustdoc documents a function, it checks the return type to see whether it implements a handful of specific traits. If so, it will print the impl and any associated types. Rather than doing this via a whitelist within rustdoc, i chose to do this by a new `#[doc]` attribute parameter, so things like `Future` could tap into this if desired.

### Known shortcomings

~~The printing of impls currently uses the `where` class over the whole thing to shrink the font size relative to the function definition itself. Naturally, when the impl has a where clause of its own, it gets shrunken even further:~~ (This is no longer a problem because the design changed and rendered this concern moot.)

The lookup currently just looks at the top-level type, not looking inside things like Result or Option, which renders the spotlights on Read/Write a little less useful:

<details><summary>`File::{open, create}` don't have spotlight info (pic of old design)</summary>

![image](https://user-images.githubusercontent.com/5217170/31209495-e59d027e-a950-11e7-9998-ceefceb71c07.png)

</details>

All three of the initially spotlighted traits are generically implemented on `&mut` references. Rustdoc currently treats a `&mut T` reference-to-a-generic as an impl on the reference primitive itself. `&mut Self` counts as a generic in the eyes of rustdoc. All this combines to create this lovely scene on `Iterator::by_ref`:

<details><summary>`Iterator::by_ref` spotlights Iterator, Read, and Write (pic of old design)</summary>

![image](https://user-images.githubusercontent.com/5217170/31209554-50b271ca-a951-11e7-928b-4f83416c8681.png)

</details>
2017-11-21 03:03:28 +00:00
steveklabnik
a3917b2b86 Update books for next release
Also includes a fix in std::ops
2017-11-20 08:30:22 -05:00
Guillaume Gomez
cdadb6c725 Rollup merge of #45767 - QuietMisdreavus:who-docs-the-doc-tool, r=frewsxcv
rustdoc book: talk about #![doc(test(no_crate_inject))] and #![doc(test(attr(...)))]

While investigating https://github.com/rust-lang/rust/issues/45750 i noticed that `#![doc(test(attr(...)))]` wasn't documented at all. Since this is useful for making your examples follow the same coding guidelines as your code, i wanted to add it to the Rustdoc Book. I also added `#![doc(test(no_crate_inject))]` since it's used in the same place and might be useful for macro-heavy crates. I added mentions for these to "The `doc` attribute" as well as "Documentation tests" since it's useful information in both places.

Technically the step reordering in the second commit is gated on https://github.com/rust-lang/rust/pull/45764, since before that lands attributes from the doctest come before the ones from `#![doc(test(attr(...)))]`.
2017-11-18 12:15:21 +01:00
QuietMisdreavus
be68d34a7e update links and tracking issue for doc_spotlight 2017-11-17 22:50:15 +01:00
QuietMisdreavus
831fd78341 add doc_highlight feature flag and tests 2017-11-17 22:50:15 +01:00
bors
42ea30c8b0 Auto merge of #45692 - steveklabnik:ship-cargo-book, r=alexcrichton
Start shipping the Cargo book

Fixes #44910
Fixes #39588

See both of those bugs for more details.
2017-11-16 01:16:58 +00:00
Christopher Vittal
b4c1aef1ca Add universal_impl_trait unstable-book entry 2017-11-15 15:46:01 -05:00
steveklabnik
3b32a3a104 link the cargo book into the bookshelf 2017-11-14 06:51:59 -05:00
Alex Crichton
6bc8f164b0 std: Remove rand crate and module
This commit removes the `rand` crate from the standard library facade as
well as the `__rand` module in the standard library. Neither of these
were used in any meaningful way in the standard library itself. The only
need for randomness in libstd is to initialize the thread-local keys of
a `HashMap`, and that unconditionally used `OsRng` defined in the
standard library anyway.

The cruft of the `rand` crate and the extra `rand` support in the
standard library makes libstd slightly more difficult to port to new
platforms, namely WebAssembly which doesn't have any randomness at all
(without interfacing with JS). The purpose of this commit is to clarify
and streamline randomness in libstd, focusing on how it's only required
in one location, hashmap seeds.

Note that the `rand` crate out of tree has almost always been a drop-in
replacement for the `rand` crate in-tree, so any usage (accidental or
purposeful) of the crate in-tree should switch to the `rand` crate on
crates.io. This then also has the further benefit of avoiding
duplication (mostly) between the two crates!
2017-11-08 20:41:17 -08:00
Ryan Scheel
6363b06ffc
Update reference link in doc's 404
It's currently linking to a page that says it's on the page I'm changing the link too.
2017-11-04 20:53:27 -07:00
QuietMisdreavus
ce7a3a4584 rustdoc book: talk about #![doc(test(...))] in doctests chapter 2017-11-04 14:54:15 -05:00
QuietMisdreavus
5fbadfcdbe rustdoc book: add #![doc(test(no_crate_inject))] and #![doc(test(attr(...)))] 2017-11-04 14:54:14 -05:00
bors
d762b1d6c6 Auto merge of #45394 - davidtwco:rfc-2008, r=petrochenkov
RFC 2008: Future-proofing enums/structs with #[non_exhaustive] attribute

This work-in-progress pull request contains my changes to implement [RFC 2008](https://github.com/rust-lang/rfcs/pull/2008). The related tracking issue is #44109.

As of writing, enum-related functionality is not included and there are some issues related to tuple/unit structs. Enum related tests are currently ignored.

WIP PR requested by @nikomatsakis [in Gitter](https://gitter.im/rust-impl-period/WG-compiler-middle?at=59e90e6297cedeb0482ade3e).
2017-11-04 18:07:07 +00:00
David Wood
d3babe5eaa
Added page to unstable book. 2017-11-03 19:36:19 +00:00
leonardo.yvens
94b07a91bc update unstable book and error example 2017-11-03 16:13:22 -02:00
Carol (Nichols || Goulding)
c285a4e8f7 Update the book for a fix to the print button
Fixes #45552.
2017-10-28 20:44:38 -04:00
kennytm
65f1df594a Rollup merge of #45574 - nzig:on_unimplemented_example, r=steveklabnik
Fixed rustc_on_unimplemented example in Unstable Book

I saw [this](https://doc.rust-lang.org/beta/unstable-book/language-features/on-unimplemented.html) example and it seemed wrong. This fixes the example to emit an error message that makes more sense.
2017-10-28 15:56:24 +08:00
bors
d9f1249655 Auto merge of #45285 - alexcrichton:update-bootstrap, r=Mark-Simulacrum
Bump to 1.23 and update bootstrap

This commit updates the bootstrap compiler, bumps the version to 1.23, updates
Cargo, updates books, and updates crates.io dependencies
2017-10-27 18:00:32 +00:00
Nadav Zingerman
880200ac6b Fixed rustc_on_unimplemented example in Unstable Book 2017-10-27 12:42:44 +03:00
Alex Crichton
ca18537197 Bump to 1.23 and update bootstrap
This commit updates the bootstrap compiler, bumps the version to 1.23, updates
Cargo, updates books, and updates crates.io dependencies
2017-10-26 13:59:18 -07:00
steveklabnik
a82ffa490c Fix formatting in unstable book's attr-literals section 2017-10-25 14:23:13 -04:00
bors
c2799fc9a5 Auto merge of #45446 - leodasvacas:remove-libcollections, r=alexcrichton
Remove deprecated `collections` crate.

The real `collections` was merged with `alloc`, this facade was introduced [in this PR](https://github.com/rust-lang/rust/pull/42720) to give `#[no_std]` users time to adapt. This was done at least two cycles ago, now we can consider removing it for good.
2017-10-24 20:46:17 +00:00
Zack M. Davis
214b0f2293 crate shorthand visibility modifier
With regrets, this breaks rustfmt and rls.

This is in the matter of #45388.
2017-10-22 23:58:13 -07:00
leonardo.yvens
19aa23b6d3 Remove deprecated collections crate.
This reverts commit 6484258f1749499d3e51685df867b3d460a7f0be.
2017-10-22 14:55:02 -02:00
kennytm
0350c2f783 Rollup merge of #45217 - SimonSapin:alloc-doc, r=steveklabnik
Fix out of date unstable book entries for `alloc_*` features.

The `alloc_jemalloc` crate does not provide a type to use with `#[global_allocator]`, and (according to Alex) `extern crate alloc_jemalloc;` alone became a no-op when `#[global_allocator]` was introduced.
2017-10-19 01:59:49 +08:00
kennytm
61c58c1584 Rollup merge of #45181 - Havvy:doc-unstable-lang-items, r=frewsxcv
List of all lang items in unstable book.

I don't know how to link to the source code correctly, so I just put the information aside the lang item name.
2017-10-19 01:59:48 +08:00