Commit graph

76 commits

Author SHA1 Message Date
bors
72d588a620 Auto merge of #32055 - mitaa:rdoc-strip-priv-imports, r=alexcrichton
fixes #27104

r? @alexcrichton
2016-03-06 17:08:36 +00:00
mitaa
688e52201e Split out rustdoc pass to strip private imports 2016-03-06 08:18:58 +01:00
Brian Anderson
d3ae29d9c1 Ignore a rustdoc test that does not work on beta 2016-03-03 00:40:34 +00:00
mitaa
2352c1c539 Clearly separate code blocks from other blocks
For summary descriptions we need the first paragraph (adjacent lines
until a blank line) - but the rendered markdown of a code block did not
leave a blank line in the html and was thus included in the summary line.
2016-02-27 06:42:21 +01:00
bors
64b4b6d6c6 Auto merge of #31903 - mitaa:rdoc-ghostly-impls, r=alexcrichton
fixes #29584

r? @alexcrichton
2016-02-26 19:25:16 +00:00
mitaa
eae9f4636c Don't inline impls from doc(hidden) modules 2016-02-26 15:56:46 +01:00
bors
15e9a95a4b Auto merge of #31749 - nikomatsakis:compiletest-subdir, r=alexcrichton
You can now group tests into directories like `run-pass/borrowck` or `compile-fail/borrowck`. By default, all `.rs` files within any directory are considered tests: to ignore some directory, create a placeholder file called `compiletest-ignore-dir` (I had to do this for several existing directories).

r? @alexcrichton
cc @brson
2016-02-26 00:53:38 +00:00
Manish Goregaokar
e584a492f3 Rollup merge of #31837 - mitaa:rdoc-inherent-assoc, r=alexcrichton
This effectively only records associated items from either inherent impls or trait definitions in the search-index.

fixes #31808

r? @alexcrichton
2016-02-25 15:06:07 +05:30
Niko Matsakis
1c850d8448 Add compiletest-ignore-dir to existing subdirectories. 2016-02-24 18:40:39 -05:00
mitaa
cf76fcf30d Fix source-links for files with absolute-paths
`clean_srcpath` tries to make the source-path relative to `src_root`,
but this didn't work since `src_root` itself wasn't absolute.
2016-02-24 19:43:02 +01:00
mitaa
b38a856e38 Don't show associated consts from trait impls 2016-02-23 21:47:13 +01:00
bors
083dc5b12d Auto merge of #31614 - mitaa:rdoc_locitem_extmac, r=alexcrichton
fixes #26606

r? @alexcrichton
2016-02-14 10:10:50 +00:00
bors
6e446532e8 Auto merge of #31602 - mitaa:rdoc_doc_shorter, r=alexcrichton
fixes #25787
fixes #30366

r? @alexcrichton
2016-02-13 21:43:28 +00:00
mitaa
a31d63320f Omit src-links for items from extern macros
If the span of a local item points into an external macro
its source-file will be bogus.
2016-02-12 22:45:17 +01:00
mitaa
5c98ae34a6 Shorten docstrings after Markdown rendering 2016-02-12 14:12:27 +01:00
mitaa
938202c81f Fix associated item identifiers
Search results use the mapping found in `ItemType::to_static_str` for
the identifier, which could not be found on the page in the case of
associated items.
2016-02-12 10:26:46 +01:00
Oliver Middleton
515fac178a rustdoc: Add test for tuple rendering 2016-01-28 23:41:53 +00:00
Manish Goregaokar
d91c344637 Rollup merge of #30372 - sanxiyn:rustdoc-cfg, r=alexcrichton
Fix #30252.
2015-12-16 17:46:29 +05:30
Seo Sanghyeon
eb25721063 Use --cfg when running doctests
Previously passed --cfg was used only when collecting doctests.
2015-12-15 18:03:55 +09:00
Vadim Petrochenkov
67a978411a Support #[deprecated] in rustdoc 2015-12-12 23:01:27 +03:00
bors
461c46052b Auto merge of #30036 - mitaa:doc_id, r=alexcrichton
This expands the code which generates unique IDs for Markdown headers within a single block to each rendered page.

fixes #25001
fixes #29449
2015-12-08 20:15:53 +00:00
Alex Crichton
464cdff102 std: Stabilize APIs for the 1.6 release
This commit is the standard API stabilization commit for the 1.6 release cycle.
The list of issues and APIs below have all been through their cycle-long FCP and
the libs team decisions are listed below

Stabilized APIs

* `Read::read_exact`
* `ErrorKind::UnexpectedEof` (renamed from `UnexpectedEOF`)
* libcore -- this was a bit of a nuanced stabilization, the crate itself is now
  marked as `#[stable]` and the methods appearing via traits for primitives like
  `char` and `str` are now also marked as stable. Note that the extension traits
  themeselves are marked as unstable as they're imported via the prelude. The
  `try!` macro was also moved from the standard library into libcore to have the
  same interface. Otherwise the functions all have copied stability from the
  standard library now.
* The `#![no_std]` attribute
* `fs::DirBuilder`
* `fs::DirBuilder::new`
* `fs::DirBuilder::recursive`
* `fs::DirBuilder::create`
* `os::unix::fs::DirBuilderExt`
* `os::unix::fs::DirBuilderExt::mode`
* `vec::Drain`
* `vec::Vec::drain`
* `string::Drain`
* `string::String::drain`
* `vec_deque::Drain`
* `vec_deque::VecDeque::drain`
* `collections::hash_map::Drain`
* `collections::hash_map::HashMap::drain`
* `collections::hash_set::Drain`
* `collections::hash_set::HashSet::drain`
* `collections::binary_heap::Drain`
* `collections::binary_heap::BinaryHeap::drain`
* `Vec::extend_from_slice` (renamed from `push_all`)
* `Mutex::get_mut`
* `Mutex::into_inner`
* `RwLock::get_mut`
* `RwLock::into_inner`
* `Iterator::min_by_key` (renamed from `min_by`)
* `Iterator::max_by_key` (renamed from `max_by`)

Deprecated APIs

* `ErrorKind::UnexpectedEOF` (renamed to `UnexpectedEof`)
* `OsString::from_bytes`
* `OsStr::to_cstring`
* `OsStr::to_bytes`
* `fs::walk_dir` and `fs::WalkDir`
* `path::Components::peek`
* `slice::bytes::MutableByteVector`
* `slice::bytes::copy_memory`
* `Vec::push_all` (renamed to `extend_from_slice`)
* `Duration::span`
* `IpAddr`
* `SocketAddr::ip`
* `Read::tee`
* `io::Tee`
* `Write::broadcast`
* `io::Broadcast`
* `Iterator::min_by` (renamed to `min_by_key`)
* `Iterator::max_by` (renamed to `max_by_key`)
* `net::lookup_addr`

New APIs (still unstable)

* `<[T]>::sort_by_key` (added to mirror `min_by_key`)

Closes #27585
Closes #27704
Closes #27707
Closes #27710
Closes #27711
Closes #27727
Closes #27740
Closes #27744
Closes #27799
Closes #27801
cc #27801 (doesn't close as `Chars` is still unstable)
Closes #28968
2015-12-05 15:09:44 -08:00
mitaa
fb7008c0a0 Add tests 2015-12-05 23:11:07 +01:00
mitaa
af1ad419e1 Use the extern item-path for documentation links
The local item-path includes the local crates path to the extern crate
declaration which breaks cross-crate rustdoc links if the extern crate
is not linked into the crate root or renamed via `extern foo as bar`.
2015-12-03 23:11:19 +01:00
bors
5ea65c03d9 Auto merge of #30074 - jonas-schievink:macro-doc, r=sanxiyn
Fixes #17616

New docs for `panic!`:
```rust
macro_rules! panic {
    () => { ... };
    ($msg:expr) => { ... };
    ($fmt:expr, $($arg:tt)+) => { ... };
}
```

New docs for `assert!`:
```rust
macro_rules! assert {
    ( $ cond : expr ) => { ... };
    (
$ cond : expr , $ ( $ arg : tt ) + ) => { ... };
}
```
<sup>not pretty, but at least it's not worse 😂
2015-11-28 16:22:27 +00:00
Jonas Schievink
ff339bd6f9 Add a test 2015-11-28 14:47:12 +01:00
Vadim Petrochenkov
be8ace8cac Remove all uses of #[staged_api] 2015-11-25 21:55:26 +03:00
mitaa
82d37f3788 Show constness for functions of reexported docs 2015-11-19 22:47:02 +01:00
Vadim Petrochenkov
7e2ffc7090 Add missing annotations and some tests 2015-11-18 01:24:21 +03:00
mitaa
02f9a49131 Store a valid name for the root module in metadata 2015-11-13 09:05:38 +01:00
Kevin Butler
b1ef5302d5 librustdoc: ignore lint warnings when compiling documentation 2015-11-02 23:44:53 +00:00
Lee Jeffery
140e2d3a09 Miscellaneous cleanup for old issues. 2015-09-20 11:37:08 +01:00
bors
fd7344c4fe Auto merge of #27945 - Eljay:upgrade-hoedown, r=alexcrichton
Some hoedown FFI changes:
- `HOEDOWN_EXT_NO_INTRA_EMPHASIS` constant changed.
- Updated/tidied up all callback function signatures.
- All opaque data access has an additional layer of indirection for some reason (`hoedown_renderer_data`).

This also fixes #27862.
2015-08-25 01:10:55 +00:00
Eljay
efc98fab26 Update hoedown to latest version (3.0.4). 2015-08-24 19:21:08 +01:00
bors
e617a17369 Auto merge of #27919 - Eljay:doc-varargs, r=alexcrichton
Fixes #27876.
2015-08-23 04:24:35 +00:00
Lee Jeffery
90ed188c14 Show variadic args in rustdoc output. 2015-08-20 18:27:53 +01:00
Martin Wernstål
6532a08525 rustdoc: Add test for #27759 2015-08-17 22:05:07 +02:00
Sean McArthur
cfcd449c4c rustc: rename multiple imports in a list 2015-08-08 11:54:15 -07:00
Alex Crichton
5cccf3cd25 syntax: Implement #![no_core]
This commit is an implementation of [RFC 1184][rfc] which tweaks the behavior of
the `#![no_std]` attribute and adds a new `#![no_core]` attribute. The
`#![no_std]` attribute now injects `extern crate core` at the top of the crate
as well as the libcore prelude into all modules (in the same manner as the
standard library's prelude). The `#![no_core]` attribute disables both std and
core injection.

[rfc]: https://github.com/rust-lang/rfcs/pull/1184
2015-08-03 17:23:01 -07:00
bors
238765e1eb Auto merge of #27103 - wthrowe:doc_format, r=alexcrichton
This fixes a couple of bugs visible on https://doc.rust-lang.org/nightly/std/marker/trait.Sync.html .  For example:
* `impl<T> Sync for *const T` should read `impl<T> !Sync for *const T`
* `impl<T> !Sync for Weak<T>` should read `impl<T> !Sync for Weak<T> where T: ?Sized`

This does change a struct in librustdoc and it seems that almost everything there is marked public, so if librustdoc has stability guarantees that could be a problem.  If it is, I'll find a way to rework the change to avoid modifying public structures.
2015-07-21 01:41:22 +00:00
William Throwe
a3e78f4151 Add test of cross-crate impl formatting 2015-07-20 20:09:36 -04:00
William Throwe
bbeace6119 Add test of impl formatting 2015-07-19 22:16:35 -04:00
Lee Jeffery
a219917e3f Fix doc comment parsing in macros. 2015-07-18 11:34:59 +01:00
petrochenkov
bddb685e73 Use assert_eq! instead of assert! in tests 2015-06-13 14:55:55 +03:00
bors
cccc137b88 Auto merge of #25675 - bluss:rustdoc-assoc-types-index, r=alexcrichton
rustdoc: Associated type fixes

The first commit fixes a bug with "dud" items in the search index from
misrepresented `type` items in trait impl blocks.

For a trait *implementation* there are typedefs which are the types for
that particular trait and implementor. Skip these in the search index.

There were lots of dud items in the search index due to this (search for
Item, Iterator's associated type).

Add a boolean to clean::TypedefItem so that it tracks whether the it is
a type alias on its own, or if it's a `type` item in a trait impl.

The second commit fixes a bug that made signatures and where bounds
using associated types (if they were not on `Self`) incorrect.

The third commit fixes so that where clauses in type alias definititons
are shown.

Fixes #22442
Fixes #24417
Fixes #25769
2015-05-26 21:36:57 +00:00
Ulrik Sverdrup
06304ed522 rustdoc: Show where clauses in type aliases
Yes, it's allowed. Example:

    type MapFn<I, B> where I: Iterator = Map<I, fn(I::Item) -> B>;

Fixes #25769
2015-05-25 23:10:36 +02:00
Ulrik Sverdrup
d1cd689b48 rustdoc: Fix associated types in signatures
Functions such as `fn foo<I: Iterator>(x: I::Item)` would not
render correctly and displayed `I` instead of `I::Item`. Same thing
with `I::Item` appearing in where bounds.

This fixes the bug by using paths for generics.

Fixes #24417
2015-05-25 19:06:58 +02:00
Adolfo Ochagavía
87038831f1 Rustdoc: ignore deref-inherited static methods
Fixes #24575
2015-05-25 15:35:10 +02:00
Ulrik Sverdrup
093e18d184 rustdoc: Skip types in impls in search index
For a trait *implementation* there are typedefs which are the types for
that particular trait and implementor. Skip these in the search index.

There were lots of dud items in the search index due to this (search for
Item, Iterator's associated type).

Add a boolean to clean::TypedefItem so that it tracks whether the it is
a type alias on its own, or if it's a `type` item in a trait impl.

Fixes #22442
2015-05-21 14:17:37 +02:00
Ulrik Sverdrup
c46f3ff12b rustdoc: Add Associated Constants section
Section only visible if there are assoc. consts. present.
2015-05-09 12:20:45 +02:00