summary refs log tree commit diff
path: root/src/librustdoc
AgeCommit message (Collapse)AuthorLines
2017-12-20Fix type filter in rustdoc jsGuillaume Gomez-4/+4
2017-12-20Fix deduplication of itemsGuillaume Gomez-3/+10
2017-12-20Fix global searchGuillaume Gomez-227/+227
2017-12-20Strongly improve search pathGuillaume Gomez-10/+37
2017-12-20Fix path search in docsGuillaume Gomez-82/+114
2017-11-20Make rustdoc not include self-by-value methods from Deref targetFlorian Hartwig-5/+6
2017-11-18Auto merge of #46073 - GuillaumeGomez:rollup, r=GuillaumeGomezbors-45/+43
Rollup of 4 pull requests - Successful merges: #45767, #46044, #46066, #46071 - Failed merges:
2017-11-18Auto merge of #46000 - kennytm:fix-45640-extern-type-ice-in-rustdoc, ↵bors-3/+39
r=QuietMisdreavus Support `extern type` in rustdoc. Fixes #45640. (cc #43467)
2017-11-17Fix primitive types not showing upGuillaume Gomez-45/+43
2017-11-16Rollup merge of #46010 - lnicola:escape-root, r=GuillaumeGomezGuillaume Gomez-1/+1
rustdoc: Escape doc root URLs This fixes a small HTML injection issue.
2017-11-15Split hir::TyImplTrait, move checks to HIR loweringChristopher Vittal-1/+3
Replace hir::TyImplTrait with TyImplTraitUniversal and TyImplTraitExistential. Add an ImplTraitContext enum to rustc::hir::lowering to track the kind and allowedness of an impl Trait. Significantly alter lowering to thread ImplTraitContext and one other boolean parameter described below throughought much of lowering. The other parameter is for tracking if lowering a function is in a trait impl, as there is not enough information to otherwise know this information during lowering otherwise. This change also removes the checks from ast_ty_to_ty for impl trait allowedness as they are now all taking place in HIR lowering.
2017-11-15Escape doc root URLsLaurentiu Nicola-1/+1
2017-11-15Support `extern type` in rustdoc.kennytm-3/+39
Fixes #45640.
2017-11-15Auto merge of #45944 - eddyb:provide, r=nikomatsakisbors-4/+5
rustc_driver: expose a way to override query providers in CompileController. This API has been a long-time coming and will probably become the main method for custom drivers (that is, binaries other than `rustc` itself that use `librustc_driver`) to adapt the compiler's behavior.
2017-11-14Rollup merge of #45815 - QuietMisdreavus:happy-little-notices, r=GuillaumeGomezGuillaume Gomez-5/+5
rustdoc: tweak notes on ignore/compile_fail examples Part of https://github.com/rust-lang/rust/issues/44927 This is a softening of these notices to mention *why* a given example has a given callout, rather then telling viewers to be careful with an example. It also changes the character used for these samples from a warning logo to a circle-i/information logo. ![image](https://user-images.githubusercontent.com/5217170/32464361-5fbb5d9e-c305-11e7-8482-ce71b97a54df.png)
2017-11-12Add "As parameters" items as wellGuillaume Gomez-22/+25
2017-11-12Improve result outputGuillaume Gomez-5/+8
2017-11-12Big JS optimizationGuillaume Gomez-15/+11
2017-11-12Add elements count in tab search titleGuillaume Gomez-6/+13
2017-11-12JS big updatesGuillaume Gomez-109/+254
2017-11-12Generate generics on search-indexGuillaume Gomez-7/+29
2017-11-12rustc_driver: expose a way to override query providers in CompileController.Eduard-Mihai Burtescu-4/+5
2017-11-11Rollup merge of #45812 - GuillaumeGomez:links-and-search, r=QuietMisdreavusGuillaume Gomez-3/+31
Fix navbar click while in a search Fixes #45790.
2017-11-11Few improvements on search, history and titleGuillaume Gomez-5/+10
2017-11-10Allow to go back to previous searchGuillaume Gomez-0/+14
2017-11-08Rollup merge of #45849 - GuillaumeGomez:more-shortcut, r=QuietMisdreavusGuillaume Gomez-2/+4
Add "-" shortcut Fixes #45847. r? @Havvy
2017-11-07Add more elements in the sidebarGuillaume Gomez-31/+139
2017-11-07Add "-" shortcutGuillaume Gomez-2/+4
2017-11-07Rollup merge of #45764 - QuietMisdreavus:rustdoc-doctest-lints, r=GuillaumeGomezkennytm-4/+12
rustdoc: add #[allow(unused)] to every doctest More information in #45750 - this is behavior that was documented but not actually implemented. I also reordered how outer attributes are applied to doctests. Previously, attributes from `#![doc(test(attr(...)))]` would be applied *after* attributes from within the test itself, meaning if a doctest tried to override lints that would be set crate-wide, it wouldn't work at all. This gives a better scope of how lints can be applied. Closes #45750
2017-11-07Auto merge of #45620 - ollie27:rustdoc_impl_generic_dupe, r=QuietMisdreavusbors-4/+4
rustdoc: Fix duplicated impls with generics The same type can appear multiple times in impls so we need to use a set to avoid adding it multiple times. Fixes: #45584
2017-11-06Fix navbar click while in a searchGuillaume Gomez-0/+9
2017-11-06tweak notes on ignore/compile_fail examplesQuietMisdreavus-5/+5
2017-11-05rustdoc: add #[allow(unused)] to every doctestQuietMisdreavus-4/+12
also modify the order crate attributes are applied, to have a better order of how things can override lints, either per-crate or per-test
2017-11-05Auto merge of #44042 - LukasKalbertodt:ascii-methods-on-instrinsics, ↵bors-2/+3
r=alexcrichton Copy all `AsciiExt` methods to the primitive types directly in order to deprecate it later **EDIT:** [this PR is ready now](https://github.com/rust-lang/rust/pull/44042#issuecomment-333883548). I edited this post to reflect the current status of discussion, which is (apart from code review) pretty much settled. --- This is my current progress in order to prepare stabilization of #39658. As discussed there (and in #39659), the idea is to deprecated `AsciiExt` and copy all methods to the type directly. Apparently there isn't really a reason to have those methods in an extension trait¹. ~~This is **work in progress**: copy&pasting code while slightly modifying the documentation isn't the most exciting thing to do. Therefore I wanted to already open this WIP PR after doing basically 1/4 of the job (copying methods to `&[u8]`, `char` and `&str` is still missing) to get some feedback before I continue. Some questions possibly worth discussing:~~ 1. ~~Does everyone agree that deprecating `AsciiExt` is a good idea? Does everyone agree with the goal of this PR?~~ => apparently yes 2. ~~Are my changes OK so far? Did I do something wrong?~~ 3. ~~The issue of the unstable-attribute is currently set to 0. I would wait until you say "Ok" to the whole thing, then create a tracking issue and then insert the correct issue id. Is that ok?~~ 4. ~~I tweaked `eq_ignore_ascii_case()`: it now takes the argument `other: u8` instead of `other: &u8`. The latter was enforced by the trait. Since we're not bound to a trait anymore, we can drop the reference, ok?~~ => I reverted this, because the interface has to match the `AsciiExt` interface exactly. ¹ ~~Could it be that we can't write `impl [u8] {}`? This might be the reason for `AsciiExt`. If that is the case: is there a good reason we can't write such an impl block? What can we do instead?~~ => we couldn't at the time this PR was opened, but Simon made it possible. /cc @SimonSapin @zackw
2017-11-04Auto merge of #45617 - GuillaumeGomez:search-fixes, r=QuietMisdreavusbors-42/+112
Search fixes Fixes #45608. r? @QuietMisdreavus
2017-11-03Mark several ascii methods as unstable againLukas Kalbertodt-0/+1
We don't want to stabilize them now already. The goal of this set of commits is just to add inherent methods to the four types. Stabilizing all of those methods can be done later.
2017-11-03Remove unused AsciiExt imports and fix tests related to ascii methodsLukas Kalbertodt-0/+2
Many AsciiExt imports have become useless thanks to the inherent ascii methods added in the last commits. These were removed. In some places, I fully specified the ascii method being called to enforce usage of the AsciiExt trait. Note that some imports are not removed but tagged with a `#[cfg(stage0)]` attribute. This is necessary, because certain ascii methods are not yet available in stage0. All those imports will be removed later. Additionally, failing tests were fixed. The test suite should exit successfully now.
2017-11-03Copy `AsciiExt` methods to `char` directlyLukas Kalbertodt-2/+0
This is done in order to deprecate AsciiExt eventually.
2017-11-03Feature gate `auto trait` and ignore it in rustdocleonardo.yvens-1/+1
2017-11-03[Syntax Breaking] Rename DefaultImpl to AutoImplleonardo.yvens-15/+15
DefaultImpl is a highly confusing name for what we now call auto impls, as in `impl Send for ..`. The name auto impl is not formally decided but for sanity anything is better than `DefaultImpl` which refers neither to `default impl` nor to `impl Default`.
2017-11-01Remove duplicated results in the searchGuillaume Gomez-47/+88
2017-11-01fix function not appearing in first tab when appearing in another one. ↵Guillaume Gomez-1/+2
Thanks to @Seeker14491 for this one!
2017-11-01Be more flexible when looking for something by using levenshtein methodGuillaume Gomez-8/+21
2017-11-01Better check for returned valueGuillaume Gomez-0/+14
2017-11-01Keep displaying good information when query is madeGuillaume Gomez-0/+1
2017-11-01Rollup merge of #45450 - GuillaumeGomez:overlap-link, r=QuietMisdreavuskennytm-1/+11
Fix title heading overlap in rust doc Fixes #45158. To be noted that this margin only appears when a title is the first element. <img width="1440" alt="screen shot 2017-10-22 at 16 08 44" src="https://user-images.githubusercontent.com/3050060/31862746-6411070e-b743-11e7-9a75-4159e1f7f1d6.png"> r? @rust-lang/docs
2017-11-01Auto merge of #45187 - GuillaumeGomez:doc-ui-improvement, r=QuietMisdreavusbors-48/+125
Improve sidebar rendering and add methods list I suppose it can be reviewed as is, but this is just the first step of a more global plan. cc @rust-lang/docs @nical And a screenshot of course: <img width="1440" alt="screen shot 2017-10-10 at 23 38 45" src="https://user-images.githubusercontent.com/3050060/31412170-657beaf6-ae14-11e7-9f01-1e562a034595.png">
2017-10-29rustdoc: Fix duplicated impls with genericsOliver Middleton-4/+4
The same type can appear multiple times in impls so we need to use a set to avoid adding it multiple times.
2017-10-28Fix weird bugsGuillaume Gomez-31/+43
2017-10-28Auto merge of #44295 - plietar:extern-types, r=arielb1bors-3/+27
Implement RFC 1861: Extern types A few notes : - Type parameters are not supported. This was an unresolved question from the RFC. It is not clear how useful this feature is, and how variance should be treated. This can be added in a future PR. - `size_of_val` / `align_of_val` can be called with extern types, and respectively return 0 and 1. This differs from the RFC, which specified that they should panic, but after discussion with @eddyb on IRC this seems like a better solution. If/when a `DynSized` trait is added, this will be disallowed statically. - Auto traits are not implemented by default, since the contents of extern types is unknown. This means extern types are `!Sync`, `!Send` and `!Freeze`. This seems like the correct behaviour to me. Manual `unsafe impl Sync for Foo` is still possible. - This PR allows extern type to be used as the tail of a struct, as described by the RFC : ```rust extern { type OpaqueTail; } #[repr(C)] struct FfiStruct { data: u8, more_data: u32, tail: OpaqueTail, } ``` However this is undesirable, as the alignment of `tail` is unknown (the current PR assumes an alignment of 1). Unfortunately we can't prevent it in the general case as the tail could be a type parameter : ```rust #[repr(C)] struct FfiStruct<T: ?Sized> { data: u8, more_data: u32, tail: T, } ``` Adding a `DynSized` trait would solve this as well, by requiring tail fields to be bound by it. - Despite being unsized, pointers to extern types are thin and can be casted from/to integers. However it is not possible to write a `null<T>() -> *const T` function which works with extern types, as I've explained here : https://github.com/rust-lang/rust/issues/43467#issuecomment-321678621 - Trait objects cannot be built from extern types. I intend to support it eventually, although how this interacts with `DynSized`/`size_of_val` is still unclear. - The definition of `c_void` is unmodified