summary refs log tree commit diff
path: root/src/librustdoc/clean/inline.rs
AgeCommit message (Collapse)AuthorLines
2014-10-06rustdoc: Remove dummy UnknownBound variantTom Jakubowski-2/+1
2014-10-06rustdoc: Support unboxed fn sugar in boundsTom Jakubowski-1/+1
2014-10-06rustdoc: Correctly name lifetimes in boundsTom Jakubowski-1/+3
Fix #16518
2014-09-30Fixes ICE when using reexported unit-like structsMichael Kainer-5/+1
Fixes that unit-like structs cannot be used if they are reexported and used in another crate. The compiler fails with an ICE, because unit-like structs are exported as DefFn and the expression `UnitStruct` is interpreted as function pointer instead of a call to the constructor. To resolve this ambiguity tuple-like struct constructors are now exported as CtorFn. When `rustc::metadata::decoder` finds a CtorFn it sets a new flag `is_ctor` in DefFn to true. Relevant changes are in `rustc::metadata::{encoder, decoder}` and in `rustc::middle::ty`. Closes #12660 and #16973.
2014-09-17librustc: Implement associated types behind a feature gate.Patrick Walton-0/+4
The implementation essentially desugars during type collection and AST type conversion time into the parameter scheme we have now. Only fully qualified names--e.g. `<T as Foo>::Bar`--are supported.
2014-09-17rustdoc: Correctly distinguish enums and typesP1start-1/+6
This is done by adding a new field to the `DefTy` variant of `middle::def::Def`, which also clarifies an error message in the process. Closes #16712.
2014-09-16Fallout from renamingAaron Turon-8/+8
2014-09-15Port coherence to use the new trait matching codeNiko Matsakis-1/+1
2014-09-08rustdoc: fix fallout from the addition of a 'tcx lifetime on tcx.Eduard Burtescu-57/+52
2014-08-28auto merge of #16664 : aturon/rust/stabilize-option-result, r=alexcrichtonbors-3/+3
Per API meeting https://github.com/rust-lang/meeting-minutes/blob/master/Meeting-API-review-2014-08-13.md # Changes to `core::option` Most of the module is marked as stable or unstable; most of the unstable items are awaiting resolution of conventions issues. However, a few methods have been deprecated, either due to lack of use or redundancy: * `take_unwrap`, `get_ref` and `get_mut_ref` (redundant, and we prefer for this functionality to go through an explicit .unwrap) * `filtered` and `while` * `mutate` and `mutate_or_set` * `collect`: this functionality is being moved to a new `FromIterator` impl. # Changes to `core::result` Most of the module is marked as stable or unstable; most of the unstable items are awaiting resolution of conventions issues. * `collect`: this functionality is being moved to a new `FromIterator` impl. * `fold_` is deprecated due to lack of use * Several methods found in `core::option` are added here, including `iter`, `as_slice`, and variants. Due to deprecations, this is a: [breaking-change]
2014-08-28Fallout from stabilizing core::optionAaron Turon-3/+3
2014-08-27Implement generalized object and type parameter bounds (Fixes #16462)Niko Matsakis-9/+3
2014-08-26rustdoc: Don't assume that a doc attribute was sugared: Fixes #15976Kevin Mehall-8/+1
As of 8876ce44, `is_sugared_doc` is encoded in metadata, so there is no need to assume that doc attributes came from sugared comments.
2014-08-14librustc: Stop assuming that implementations and traits only containPatrick Walton-27/+33
methods. This paves the way to associated items by introducing an extra level of abstraction ("impl-or-trait item") between traits/implementations and methods. This new abstraction is encoded in the metadata and used throughout the compiler where appropriate. There are no functional changes; this is purely a refactoring.
2014-07-28rustdoc: show struct field docs when inlinedCorey Richardson-1/+1
Some minor changes to the compiler to expose this information. Very inconvenient since struct fields aren't an item. Adds (yet another) table to metadata. Closes #15739
2014-07-25rustdoc: Inline items from foreign modsAlex Crichton-16/+22
These were all just previously skipped. Closes #15648
2014-07-25rustdoc: Correctly handle local renamingsAlex Crichton-2/+13
Previously a `pub use` would not rename the destination in rustdoc, it would always use the destination ident instead of the renamed ident.
2014-07-25rustdoc: Fix inlining type parametersAlex Crichton-6/+7
I'm not entirely sure if the correct space can be inferred when cleaning Generics, so the impl has been switched to take the space explicitly. Closes #15099
2014-07-25rustdoc: Hide impls for #[doc(hidden)] traitsAlex Crichton-2/+27
Closes #14585
2014-07-08std: Rename the `ToStr` trait to `ToString`, and `to_str` to `to_string`.Richo Healey-2/+2
[breaking-change]
2014-06-30rustdoc: incorporate stability index throughoutAaron Turon-0/+3
This commit hooks rustdoc into the stability index infrastructure in two ways: 1. It looks up stability levels via the index, rather than by manual attributes. 2. It adds stability level information throughout rustdoc output, rather than just at the top header. In particular, a stability color (with mouseover text) appears next to essentially every item that appears in rustdoc's HTML output. Along the way, the stability index code has been lightly refactored.
2014-06-09rustdoc: Correctly classify enums/typedefsAlex Crichton-1/+1
Both of these items are surfaced as a DefTy, so some extra logic was needed in the decoder module to figure out whether one is actually an enum or whether it's a typedef. Closes #14757
2014-06-06Test fixes from the rollupAlex Crichton-1/+1
2014-06-06rustdoc: Inline static documentation across cratesAlex Crichton-0/+14
2014-06-06Move Def out of syntax crate, where it does not belongNiko Matsakis-10/+11
2014-06-06auto merge of #14667 : aochagavia/rust/pr2, r=huonwbors-1/+1
2014-06-06Change to_str().to_string() to just to_str()Adolfo OchagavĂ­a-1/+1
2014-06-05rustdoc: Include supertraits on inlined traitsTom Jakubowski-1/+9
Previously, documentation for an inlined trait (i.e. a trait imported and reexported from another crate) didn't display the trait's supertraits. Closes #14636
2014-06-02rustdoc: Correctly inline required/provided methodsAlex Crichton-7/+12
Apparently relying on provided_source in ty::Method is unreliable! Closes #14594
2014-06-01rustdoc: Ensure external impls are inlined onceAlex Crichton-10/+17
If the type associated with the impl is `pub use`'d or referenced twice in a downstream crate, the impl will attempt to be inlined twice. Closes #14584
2014-06-01rustdoc: Filter private methods from inlined implsAlex Crichton-2/+7
Closes #14583
2014-05-31rustdoc: Don't inline tuple struct constructorsAlex Crichton-0/+5
These don't actually point to anything, so there's no need to inline them.
2014-05-31rustdoc: Suck in all impls from external cratesAlex Crichton-4/+38
There is currently no way to query all impls for a type from an external crate, and with primitive types in play this is also quite difficult. Instead of filtering, just suck in all impls from upstream crates into the local AST, and have them get stripped later. This will allow population of all implementations of traits for primitive types, as well as filling in some corner cases with inlining documentation in other cases.
2014-05-31rustdoc: Filter inlining private external itemsAlex Crichton-1/+2
This prevents structures like RcBox from showing up in the documentation
2014-05-27rustdoc: Only link to local inlined foreign itemsAlex Crichton-0/+1
This commit alters rustdoc to keep a hash set of known inlined items which is a whitelist for generating URLs to. Closes #14438
2014-05-27std: Rename strbuf operations to stringRicho Healey-2/+2
[breaking-change]
2014-05-25rustdoc: Move inlining to its own moduleAlex Crichton-0/+278