Commit Graph

123557 Commits

Author SHA1 Message Date
bors c2dbebd3d4 Auto merge of #73365 - Manishearth:rustdoc-vis, r=GuillaumeGomez
Record visibility of reexports for all items, not just type items

This fixes https://github.com/rust-lang/rust/issues/73363

Unfortunately I can't add a test for this since this bug is obscured by the cross-crate bug, being fixed in https://github.com/rust-lang/rust/issues/73363 . Tests will be added later.

cc @jyn514

r? @GuillaumeGomez
2020-07-17 07:22:32 +00:00
Manish Goregaokar 90c678cb03 Update src/test/rustdoc/intra-doc-crate/auxiliary/hidden.rs
Co-authored-by: Joshua Nelson <joshua@yottadb.com>
2020-07-16 22:22:48 -07:00
Manish Goregaokar 50d350b67c Add test for doc(hidden) intra-doc cross-crate reexports 2020-07-16 22:22:40 -07:00
Manish Goregaokar d5b1b74f47 Record visibility of reexports for all items, not just type items 2020-07-16 22:22:40 -07:00
bors 86c0b85da9 Auto merge of #74395 - Mark-Simulacrum:stage0-next, r=pietroalbini
Bump version to 1.47

This also bumps to a more recent rustfmt version, just to keep us relatively up to date (though almost nothing has changed in rustfmt we use beyond bumps to the parser infra). No formatting changes as a result of this.

r? @pietroalbini
2020-07-17 03:51:35 +00:00
bors 8534be72fc Auto merge of #74422 - Manishearth:rollup-7mfrf6g, r=Manishearth
Rollup of 8 pull requests

Successful merges:

 - #73101 (Resolve items for cross-crate imports relative to the original module)
 - #73269 (Enable some timeouts in SGX platform)
 - #74033 (Add build support for Cargo's build-std feature.)
 - #74351 (Do not render unstable items for rustc doc)
 - #74357 (Some `Symbol` related improvements)
 - #74371 (Improve ayu rustdoc theme)
 - #74386 (Add RISC-V GNU/Linux to src/tools/build-manifest as a host platform)
 - #74398 (Clean up E0723 explanation)

Failed merges:

r? @ghost
2020-07-17 00:09:49 +00:00
Manish Goregaokar 5bb9bef795
Rollup merge of #74398 - GuillaumeGomez:cleanup-e0723, r=Dylan-DPC
Clean up E0723 explanation

r? @Dylan-DPC
2020-07-16 17:09:06 -07:00
Manish Goregaokar b1ba961cad
Rollup merge of #74386 - msizanoen1:riscv-add-manifest-host, r=pietroalbini
Add RISC-V GNU/Linux to src/tools/build-manifest as a host platform

Missed during https://github.com/rust-lang/rust/pull/72973
2020-07-16 17:09:04 -07:00
Manish Goregaokar 874097c8c7
Rollup merge of #74371 - Aloso:patch-1, r=GuilliameGomez
Improve ayu rustdoc theme

This PR changes the following:

* It makes some lines darker
* It gives the crate selector and search bar a border
  * The search bar's border turns blue when focused
* ~~Gives the logo a bright shadow.~~

For standard library crates, it would be better to invert the logo, but that would be bad for crates with a colored logo, e.g. [async-std](https://docs.rs/async-std/1.6.2/async_std/).

Before:

![old](https://user-images.githubusercontent.com/15658558/87576611-ed4e0800-c6d1-11ea-9667-3924702f79e2.png)

After (note that this PR no longer includes the white shadow of the logo):

![new](https://user-images.githubusercontent.com/15658558/87576621-ef17cb80-c6d1-11ea-8e15-5d7f8b180c07.png)
2020-07-16 17:09:02 -07:00
Manish Goregaokar c60b051bbb
Rollup merge of #74357 - nnethercote:symbol-related-improvements, r=oli-obk
Some `Symbol` related improvements

These commits make things nicer and avoid some `Symbol::as_str()` calls.

r? @oli-obk
2020-07-16 17:09:01 -07:00
Manish Goregaokar 0e70884083
Rollup merge of #74351 - lzutao:remove-rustc-internal-compiler-warns, r=Mark-Simulacrum
Do not render unstable items for rustc doc

See the zulip conversion: https://rust-lang.zulipchat.com/#narrow/stream/131828-t-compiler/topic/rustc.20doc.3A.20.22internal.20compiler.20API.22.20warns.20are.20everywhere!/near/203850782

Before:
![image](https://user-images.githubusercontent.com/15225902/87501971-9cff8780-c68a-11ea-93b4-ea53ce18a77b.png)
After:
![image](https://user-images.githubusercontent.com/15225902/87501985-a7218600-c68a-11ea-81c0-a6b5b120832c.png)

Nothing changes in unstable items of std:
Before:
![image](https://user-images.githubusercontent.com/15225902/87502004-b7d1fc00-c68a-11ea-9224-a27a1d2a81d6.png)
After:
![image](https://user-images.githubusercontent.com/15225902/87502018-c0c2cd80-c68a-11ea-9773-4c63158025cb.png)

Closes  #54682
2020-07-16 17:08:59 -07:00
Manish Goregaokar 5751c7f1db
Rollup merge of #74033 - ehuss:std-compile-all-platforms, r=Mark-Simulacrum
Add build support for Cargo's build-std feature.

This makes some changes to the standard library to make it easier to use with Cargo's build-std feature. The primary goal is to make it so that Cargo and its users do not need to know which crates to build and which features to use for every platform.

Conditional cfgs are adjusted so that there is usually a fall-through for unsupported platforms. Additionally, there is a "restricted-std" feature to mark `std` as unstable when used with build-std on no_std platforms. There is no intent to stabilize this feature for the foreseeable future.

This borrows some of the implementation for wasm which already does what this needs. More code sharing can be done with some other platforms (there is a lot of duplication with cloudabi, hermit, and sgx), but I figure that can be done in a future PR.

There are some small changes to stable behavior in this PR:
- `std::env::consts::ARCH` on asmjs now reports "wasm32", to match its actual architecture.
- Some of the wasm error messages for unsupported features report a slightly different error message so that the code can be reused.

There should otherwise not be any changes to how std is built for distribution via bootstrap.

This does not yet support all platforms when used with build-std.

- It doesn't work with 16-bit targets (hashbrown does not support that).
- It does not work with JSON spec targets.
    - In particular, all target triple snooping will need to be replaced with appropriate target option checking.
- Switching to gimli (#73441) will make cross-building *much* easier.
- There are still a ton of issues on the Cargo side to resolve. A big one is panic strategy support.

Future PRs are intended to address some of these issues.
2020-07-16 17:08:57 -07:00
Manish Goregaokar 41d956bf63
Rollup merge of #73269 - mzohreva:mz/sgx-wait-timeout, r=jethrogb
Enable some timeouts in SGX platform

This would partially resolve https://github.com/fortanix/rust-sgx/issues/31

cc @jethrogb and @Goirad
2020-07-16 17:08:56 -07:00
Manish Goregaokar ec93d566b3
Rollup merge of #73101 - jyn514:rustdoc-absolute-module, r=Manishearth
Resolve items for cross-crate imports relative to the original module

~~Blocked on https://github.com/rust-lang/rust/pull/73103 and https://github.com/rust-lang/rust/pull/73566~~

Closes https://github.com/rust-lang/rust/issues/65983.

I tested on the following code (as mentioned in https://github.com/rust-lang/rust/issues/65983#issuecomment-640250993):

```
pub use rand::Rng;
```
and rustdoc generated the following link: https://rust-random.github.io/rand/rand_core/trait.RngCore.html
2020-07-16 17:08:54 -07:00
Mark Rousskov 8321b3fbe4 Add zlib1g to builder deps 2020-07-16 19:36:49 -04:00
Mark Rousskov 647d9b525f apply bootstrap cfgs 2020-07-16 19:36:49 -04:00
Mark Rousskov 6c50ae898b Bump to 1.47 2020-07-16 19:36:49 -04:00
Nicholas Nethercote a4ba18164a Remove some `Symbol:as_str()` calls. 2020-07-17 08:29:58 +10:00
Nicholas Nethercote f03c7f83eb Add `UnsafetyViolationDetails`.
This replaces the need for the `description` and `details` symbols in
`UnsafetyViolation`, which are static. As a result some
`Symbol::as_str()` calls are no longer necessary, which is nice.
2020-07-17 08:28:22 +10:00
Nicholas Nethercote 002af4d0c7 Avoid storing `SymbolStr` in a struct.
It's intended only for very temporary use.
2020-07-17 08:28:22 +10:00
Nicholas Nethercote 9f0080801d Remove `ExtCtxt::ident_of`.
It's equivalent to `Ident::from_str_and_span`. The commit also
introduces some more static symbols so that `Ident::new` can be used in
various places instead of `Ident::from_str_and_span`.

The commit also changes `Path::path` from a `&str` to a `Symbol`, which
then allows the lifetime annotation to be removed from `Ty`. Also, the
use of `Symbol` in `Bounds` removes the need for its lifetime
annotation.
2020-07-17 08:28:19 +10:00
Joshua Nelson c46e0386c5 Fix invalid lint
intra_doc_resolution_failure is not a lint.
2020-07-16 18:26:58 -04:00
Joshua Nelson 8387e3825f Add (broken and ignored) test for #73829 2020-07-16 18:26:58 -04:00
Joshua Nelson 0ad1dcd6a0 Add more debugging 2020-07-16 18:26:58 -04:00
Joshua Nelson 82b3b0705b Support intra-doc links on trait and module re-exports
Trait implementations are treated the same as modules for the purposes
of intra-doc links.
2020-07-16 18:26:58 -04:00
Joshua Nelson e63e5cdab0 Support intra-doc links on macro re-exports
This includes both `macro_rules!` and proc-macros.
2020-07-16 18:26:58 -04:00
Joshua Nelson 5f49f55eb4 rand -> my_rand
This fixes a failure in stage2 rustdoc tests.
2020-07-16 18:26:58 -04:00
Joshua Nelson 769acbaca0 #![deny(intra_doc_resolution_failure)] 2020-07-16 18:26:58 -04:00
Joshua Nelson 432b0431ab Move import to top of function 2020-07-16 18:26:58 -04:00
Joshua Nelson 71fe8f7cd8 Add test for submodules in inner crate 2020-07-16 18:26:58 -04:00
Joshua Nelson 9eb63945eb Add test for documenting the re-export 2020-07-16 18:26:58 -04:00
Joshua Nelson e78d499637 Add test for re-exports
I had a hard time getting this to work without the `extern crate`,
suggestions are welcome.
2020-07-16 18:26:57 -04:00
Joshua Nelson 99f34d814e Remove warnings 2020-07-16 18:26:57 -04:00
Joshua Nelson 9542e23a7d Add tests for basic intra-doc links 2020-07-16 18:26:57 -04:00
Joshua Nelson 24c3d85e66 Make sure that module_id is actually a module 2020-07-16 18:26:57 -04:00
Joshua Nelson 20106d5a2f unwrap() -> expect() 2020-07-16 18:26:57 -04:00
Joshua Nelson c3d9a730b7 Don't panic on fake IDs 2020-07-16 18:26:57 -04:00
Joshua Nelson 69bd13f233 Use DefId for modules 2020-07-16 18:26:57 -04:00
Joshua Nelson 848a766e24 Use the scope of the imported variable for resolution, not the current scope
- Accept DefId in resolve_str_path_error

This will probably break lots of internal invariants.
2020-07-16 18:26:57 -04:00
Joshua Nelson 5271e98f4e Use get_module instead of `module_map` for `resolve_str_path_error` 2020-07-16 18:26:57 -04:00
Nicholas Nethercote bccff14a20 Simplify `LifetimeBounds`.
The `lifetimes` field is always empty. This commit removes it, and
renames the type as `Bounds`.
2020-07-17 07:32:15 +10:00
Nicholas Nethercote 8e92f4fb91 Remove unused `cx` parameter from `pathvec_std` and `path_std`. 2020-07-17 07:32:15 +10:00
bors 5c9e5df3a0 Auto merge of #74408 - Manishearth:rollup-9gxn4od, r=Manishearth
Rollup of 21 pull requests

Successful merges:

 - #73566 (Don't run `everybody_loops` for rustdoc; instead ignore resolution errors)
 - #73771 (Don't pollute docs/suggestions with libstd deps)
 - #73794 (Small cleanup for E0705 explanation)
 - #73807 (rustdoc: glue tokens before highlighting)
 - #73835 (Clean up E0710 explanation)
 - #73926 (Ignoring test case: [codegen] repr-transparent-aggregates-1.rs for aarch64)
 - #73981 (Remove some `ignore-stage1` annotations.)
 - #73998 (add regression test for #61216)
 - #74140 (Make hir ProjectionKind more precise)
 - #74148 (Move #[doc(alias)] check in rustc)
 - #74159 (forbid generic params in the type of const params)
 - #74171 (Fix 44056 test with debug on macos.)
 - #74221 (Don't panic if the lhs of a div by zero is not statically known)
 - #74325 (Focus on the current file in the source file sidebar)
 - #74359 (rustdoc: Rename internal API fns to `into_string`)
 - #74370 (Reintroduce spotlight / "important traits" feature)
 - #74390 (Fix typo in std::mem::transmute documentation)
 - #74391 (BtreeMap: superficially refactor root access)
 - #74392 (const generics triage)
 - #74397 (Fix typo in the latest release note)
 - #74406 (Set shell for github actions CI)

Failed merges:

r? @ghost
2020-07-16 19:01:48 +00:00
Manish Goregaokar ff685f51f4
Rollup merge of #74406 - Mark-Simulacrum:fix-windows-maybe, r=Mark-Simulacrum
Set shell for github actions CI

r? @pietroalbini but because this seems at worst harmless and CI is broken self approving
2020-07-16 11:19:04 -07:00
Manish Goregaokar 043914ff68
Rollup merge of #74397 - rhysd:patch-1, r=jonas-schievink
Fix typo in the latest release note
2020-07-16 11:19:02 -07:00
Manish Goregaokar c354524254
Rollup merge of #74392 - lcnr:const-generics-update, r=varkor
const generics triage

I went through all const generics issues and closed all issues which are already fixed.

Some issues already have a regression test but were not closed. Also doing this as part of this PR.

uff r? @eddyb @varkor

closes #61936
closes #62878
closes #63695
closes #67144
closes #68596
closes #69816
closes #70217
closes #70507
closes #70586
closes #71348
closes #71805
closes #73120
closes #73508
closes #73730
closes #74255
2020-07-16 11:19:00 -07:00
Manish Goregaokar 8f3b0ecf31
Rollup merge of #74391 - ssomers:btree_refactor, r=Mark-Simulacrum
BtreeMap: superficially refactor root access

Remove or comment every unwrap in BTreeMap's main code and more.

r? @Mark-Simulacrum
2020-07-16 11:18:59 -07:00
Manish Goregaokar f821109ee2
Rollup merge of #74390 - ColoredCarrot:patch-1, r=lcnr
Fix typo in std::mem::transmute documentation

`u32::from_ge_bytes` function does not exist; replace with `u32::from_be_bytes`.
It is clear that `u32::from_le_bytes` is not meant from the context; the latter is used correctly while `from_be_bytes` is misspelled.
2020-07-16 11:18:57 -07:00
Manish Goregaokar fc098170ce
Rollup merge of #74370 - Manishearth:re-spotlight, r=GuillaumeGomez
Reintroduce spotlight / "important traits" feature

(Reopened version of https://github.com/rust-lang/rust/pull/74111 because Github is broken, see discussion there)

Fixes https://github.com/rust-lang/rust/issues/73785

This PR reintroduces the "spotlight" ("important traits") feature.

A couple changes have been made:

As there were concerns about its visibility, it has been moved to be next to the return type, as opposed to being on the side.

It also no longer produces a modal, it shows the traits on hover, and it can be clicked on to pin the hover bubble.

![image](https://user-images.githubusercontent.com/1617736/86674555-a82d2600-bfad-11ea-9a4a-a1a9ffd66ae5.png)

![image](https://user-images.githubusercontent.com/1617736/86674533-a1061800-bfad-11ea-9e8a-c62ad86ed0d7.png)

It also works fine on mobile:

![image](https://user-images.githubusercontent.com/1617736/86674638-bda25000-bfad-11ea-8d8d-1798b608923e.png)
2020-07-16 11:18:55 -07:00
Manish Goregaokar 61fccf05f9
Rollup merge of #74359 - lzutao:rustdoc-tostring, r=GuillaumeGomez
rustdoc: Rename internal API fns to `into_string`

to avoid surprising listed in API guidelines.
2020-07-16 11:18:53 -07:00