Commit graph

4517 commits

Author SHA1 Message Date
Pietro Albini
9786d98056
Rollup merge of #55440 - xfix:patch-11, r=GuillaumeGomez
Remove unreachable code in hasClass function in Rustdoc
2018-10-29 09:47:51 +01:00
Konrad Borowski
b7c2b471cf
Remove unreachable code in hasClass function in Rustdoc 2018-10-28 12:12:29 +01:00
Guillaume Gomez
2fd378b82b Fix sub-variant doc display 2018-10-27 14:05:34 +02:00
kennytm
626b49666f
Rollup merge of #55358 - sinkuu:redundant_clone2, r=estebank
Remove redundant clone (2)
2018-10-26 23:06:49 +08:00
kennytm
46f504543d
Rollup merge of #55258 - Aaron1011:fix/rustdoc-blanket, r=GuillaumeGomez
Fix Rustdoc ICE when checking blanket impls

Fixes #55001, #54744

Previously, SelectionContext would unconditionally cache the selection
result for an obligation. This worked fine for most users of
SelectionContext, but it caused an issue when used by Rustdoc's blanket
impl finder.

The issue occured when SelectionContext chose a ParamCandidate which
contained inference variables. Since inference variables can change
between calls to select(), it's not safe to cache the selection result -
the chosen candidate might not be applicable for future results, leading
to an ICE when we try to run confirmation.

This commit prevents SelectionContext from caching any ParamCandidate
that contains inference variables. This should always be completely
safe, as trait selection should never depend on a particular result
being cached.

I've also added some extra debug!() statements, which I found helpful in
tracking down this bug.
2018-10-26 18:24:59 +08:00
kennytm
4212896dca
Rollup merge of #54921 - GuillaumeGomez:line-numbers, r=QuietMisdreavus
Add line numbers option to rustdoc

Fixes #22878.

r? @QuietMisdreavus
2018-10-26 18:24:57 +08:00
Shotaro Yamada
3878d24ef6 Remove redundant clone 2018-10-26 12:07:39 +09:00
Nick Cameron
cdcbdfdf0a Fix tests and rustdoc 2018-10-26 09:48:44 +13:00
Pietro Albini
88341a9939
Rollup merge of #55254 - rust-lang:clean-two-dots, r=GuillaumeGomez
Correct trailing ellipsis in name_from_pat

r? @GuillaumeGomez
2018-10-25 14:31:12 +02:00
Vadim Petrochenkov
faefc83a7a Feature gate extern prelude additions from extern crate items
Fix rustdoc and fulldeps tests
2018-10-24 00:14:50 +03:00
Aaron Hill
4f2624cac9
Fix Rustdoc ICE when checking blanket impls
Fixes #55001, #54744

Previously, SelectionContext would unconditionally cache the selection
result for an obligation. This worked fine for most users of
SelectionContext, but it caused an issue when used by Rustdoc's blanket
impl finder.

The issue occured when SelectionContext chose a ParamCandidate which
contained inference variables. Since inference variables can change
between calls to select(), it's not safe to cache the selection result -
the chosen candidate might not be applicable for future results, leading
to an ICE when we try to run confirmation.

This commit prevents SelectionContext from caching any ParamCandidate
that contains inference variables. This should always be completely
safe, as trait selection should never depend on a particular result
being cached.

I've also added some extra debug!() statements, which I found helpful in
tracking down this bug.
2018-10-22 19:40:43 -04:00
varkor
c675111095
Correct trailing ellipsis in name_from_pat 2018-10-22 00:31:07 +01:00
Guillaume Gomez
b2f80ddf34 Fix multiple errors 2018-10-22 00:43:23 +02:00
Guillaume Gomez
dc5242592b improve search tabs look 2018-10-21 19:25:33 +02:00
Guillaume Gomez
9d8de1e30a Fix script to avoid displaying unnecessary items 2018-10-21 19:22:21 +02:00
Guillaume Gomez
edec5807ac Hide items if they use default docs 2018-10-21 18:28:27 +02:00
Guillaume Gomez
ff48ccfeab Improve stability messages display a bit 2018-10-21 18:28:27 +02:00
Guillaume Gomez
a40b758cd8 Use markdown::render instead of using pulldown_cmark directly 2018-10-21 01:16:18 +02:00
Guillaume Gomez
fb2813bcab Add index page 2018-10-21 01:15:11 +02:00
Oliver Scherer
3c9258e604 Prefer Default::default over FxHash*::default in struct constructors 2018-10-19 14:34:44 +02:00
Oliver Scherer
ee81739dc1 Deprecate the FxHashMap() and FxHashSet() constructor function hack 2018-10-19 14:34:44 +02:00
bors
40123a1257 Auto merge of #54349 - GuillaumeGomez:no-example-lint, r=QuietMisdreavus
[rustdoc] Add lint for doc without codeblocks

Fixes #53805.

r? @QuietMisdreavus
2018-10-18 09:53:29 +00:00
kennytm
7d21252383
Rollup merge of #55161 - akxcv:rustdoc/disable-spellcheck, r=QuietMisdreavus,GuillaumeGomez
[librustdoc] Disable spellcheck for search field

This disables spellchecking for the search field in the rustdoc web interface.

As someone who uses Safari to browse through Rust docs, spellchecking gets really annoying.
2018-10-18 12:55:19 +08:00
kennytm
955016c79c
Rollup merge of #55080 - thanatos:fix-localstorage-crash, r=GuillaumeGomez
Detect if access to localStorage is forbidden by the user's browser

If the user's cookie/persistent storage setting forbid access to `localStorage`, catch the exception and abort the access.

Currently, attempting to use the expand/contract links at the top of the page for structs/consts/etc. fails due to an unhandled error while accessing `localStorage`, if such access is forbidden, as the exception from the failed access propagates all the way out, interrupting the expand/contract. Instead, I would like to degrade gracefully; the access won't happen (the collapse/expand state won't get persisted) but the actual expanding/contracting of the item will go on to succeed.

Fixes #55079
2018-10-18 12:54:57 +08:00
kennytm
ed68f1a5aa
Rollup merge of #55077 - ollie27:rustdoc_dyn_trait, r=QuietMisdreavus
rustdoc: Use dyn keyword when rendering dynamic traits

The dyn keyword has been stable for a while now so rustdoc should start using it.

r? @QuietMisdreavus
2018-10-18 12:54:56 +08:00
Alexander Komarov
c55e1e69e3 [librustdoc] Disable spellcheck for search field 2018-10-17 23:58:21 +03:00
bors
9d7f0da367 Auto merge of #54939 - pnkfelix:issue-54478-dont-prefer-dynamic-in-doc-tests, r=QuietMisdreavus
rustdoc: don't prefer dynamic linking in doc tests

This is an attempt to address the regression in #54478

This may be a case where the cure is worse than the disease, at least in the short term...

cc @alexcrichton
2018-10-17 06:42:15 +00:00
Roy Wellington Ⅳ
cbe98ec803 Move usableLocalStorage() above functions that make use of it 2018-10-16 22:15:27 -07:00
bors
37ba1071c6 Auto merge of #54671 - petrochenkov:extpre2015, r=nikomatsakis
resolve: Scale back hard-coded extern prelude additions on 2015 edition

https://github.com/rust-lang/rust/pull/54404 stabilized `feature(extern_prelude)` on 2015 edition, including the hard-coded parts not passed with `--extern`.
First of all, I'd want to confirm that this is intended stabilization, rather than a part of the "extended beta" scheme that's going to be reverted before releasing stable.
(EDIT: to clarify - this is a question, I'm \*asking\* for confirmation, rather than give it.)

Second, on 2015 edition extern prelude is not so fundamentally tied to imports and is a mere convenience, so this PR scales them back to the uncontroversial subset.
The "uncontroversial subset" means that if libcore is injected it brings `core` into prelude, if libstd is injected it brings `std` and `core` into prelude.
On 2015 edition this can be implemented through the library prelude (rather than hard-coding in the compiler) right now, I'll do it in a follow-up PR.

UPDATE: The change is done for both 2015 and 2018 editions now as discussed below.

Closes https://github.com/rust-lang/rust/issues/53166
2018-10-17 01:59:28 +00:00
Roy Wellington Ⅳ
8362aa2178 Extract localStorage tests out into a helper method; use in getCurrentValue()
1. Extract the tests for whether or not we have workable localStorage out into
   a helper method, so it can be more easily reused
2. Use it in getCurrentValue() too, for the same reasons, as suggested in code
   review
2018-10-15 20:39:16 -07:00
Roy Wellington Ⅳ
d4e2dcaff1 Detect if access to localStorage is forbidden by the user's browser
If the user's cookie/persistent storage setting forbid access to localStorage,
catch the exception and abort the access.

Currently, attempting to use the expand/contract links at the top of the page
for structs/consts/etc. fails due to an unhandled error while accessing
localStorage, if such access is forbidden, as the exception from the failed
access propagates all the way out, interrupting the expand/contract. Instead, I
would like to degrade gracefully; the access won't happen (the collapse/expand
state won't get persisted) but the actual expanding/contracting of the item
will go on to succeed.

Fixes #55079
2018-10-14 23:47:38 -07:00
Oliver Middleton
86d5a33c89 rustdoc: Use dyn keyword when rendering dynamic traits
The dyn keyword has been stable for a while now so rustdoc should start using it.
2018-10-15 00:48:57 +01:00
bors
14f42a732f Auto merge of #55032 - oli-obk:the_early_unwrap_gets_the_panic, r=Mark-Simulacrum
Check the invariant for `principal` inside the method

r? @Mark-Simulacrum
2018-10-14 18:06:20 +00:00
Vadim Petrochenkov
522948827b Copy extern prelude from resolver to global context 2018-10-13 21:35:19 +03:00
Oliver Scherer
585490d816 Also adjust rustdoc to the principal changes 2018-10-13 19:41:27 +02:00
kennytm
8d85b893d8
Rollup merge of #54869 - GuillaumeGomez:fix-mobile-docs, r=QuietMisdreavus
Fix mobile docs

Fixes #54836.

<img width="1440" alt="screen shot 2018-10-06 at 18 53 19" src="https://user-images.githubusercontent.com/3050060/46573683-1b4cd700-c999-11e8-9e6b-86a23b332e22.png">

r? @QuietMisdreavus
2018-10-12 22:04:05 +08:00
bors
849a0e9c40 Auto merge of #53933 - GuillaumeGomez:codeblock-error-display, r=QuietMisdreavus
Improve error display for codeblocks in rustdoc

Part of #53919.

r? @QuietMisdreavus
2018-10-12 09:23:10 +00:00
Guillaume Gomez
c5a025aae6 Fix mobile doc display 2018-10-11 22:23:39 +02:00
Guillaume Gomez
ca517a6ee9 Update minifier version 2018-10-11 21:37:04 +02:00
Felix S. Klock II
9a76c9337a Use default of preferring static over dynamic linking in rustdoc tests. 2018-10-09 23:05:20 +02:00
Guillaume Gomez
e961d397ca Add line numbers option to rustdoc 2018-10-09 22:55:18 +02:00
Guillaume Gomez
2def81a5f1 Store nightly build instead of checking env var every time 2018-10-09 16:47:14 +02:00
Guillaume Gomez
d6385631f4 Add lint for doc without codeblocks 2018-10-09 16:47:12 +02:00
Pietro Albini
f1b42c5ca7
Rollup merge of #54834 - kzys:fix-small-screen, r=GuillaumeGomez
rustdoc: overflow:auto doesn't work nicely on small screens

This property was introduced by 3f92ff34b5, but looks it doesn't
overwrap even without the property.

Fixes #54672.
2018-10-05 22:33:18 +02:00
bors
2155f27b64 Auto merge of #54741 - oli-obk:impl_trait_hierarchy, r=cramertj
Nest the `impl Trait` existential item inside the return type

fixes #54045

r? @cramertj
2018-10-05 15:32:19 +00:00
Kazuyoshi Kato
2feea63b4b rustdoc: overflow:auto doesn't work nicely on small screens
This property was introduced by 3f92ff34b5, but looks it doesn't
overwrap even without the property.

Fixes #54672.
2018-10-04 21:31:16 -07:00
Niko Matsakis
4cd4eae435 rename skolemized to placeholder 2018-10-04 11:02:40 -04:00
scalexm
edb3f9777b Fix ty::UnnormalizedProjection in rustdoc 2018-10-03 18:49:27 +02:00
Oliver Schneider
c3151c65c6 Fix rustdoc 2018-10-02 12:31:05 +02:00
David Wood
02357e459b
Attempt to resolve linking issues.
This commit takes a different approach to add the `crate::` prefix to
item paths than previous commits. Previously, recursion was stopped
after a prelude crate name was pushed to the path. It is theorized that
this was the cause of the linking issues since the same path logic is
used for symbol names and that not recursing meant that details were
being missed that affect symbol names. As of this commit, instead of
ceasing recursion, a flag is passed through to any subsequent recursive
calls so that the same effect can be achieved by checking that flag.
2018-10-02 01:16:08 +02:00