Commit Graph

104936 Commits

Author SHA1 Message Date
bors
4f074dea1d Auto merge of #67964 - JohnTitor:rollup-pu5kosl, r=JohnTitor
Rollup of 13 pull requests

Successful merges:

 - #67566 (Add an unstable conversion from thread ID to u64)
 - #67671 (Account for `type X = impl Trait;` in lifetime suggestion)
 - #67727 (Stabilise vec::remove_item)
 - #67877 (Omit underscore constants from rustdoc)
 - #67880 (Handle multiple error fix suggestions carefuly)
 - #67898 (Improve hygiene of `newtype_index`)
 - #67908 (rustdoc: HTML escape const values)
 - #67909 (Fix ICE in const pretty printing and resolve FIXME)
 - #67929 (Formatting an example for method Vec.retain)
 - #67934 (Clean up E0178 explanation)
 - #67936 (fire "non_camel_case_types" for associated types)
 - #67943 (Missing module std in example.)
 - #67962 (Update books)

Failed merges:

r? @ghost
2020-01-07 04:54:02 +00:00
Yuki Okushi
23d97880bc
Rollup merge of #67962 - ehuss:update-books, r=ehuss
Update books

## nomicon

1 commits in 8be35b201f9cf0a4c3fcc96c83ac21671dcf3112..3e6e1001dc6e095dbd5c88005e80969f60e384e1
2019-12-01 13:02:12 -0500 to 2019-12-14 22:08:52 +0000
- Remove mention of contravariance possibly getting scrapped (rust-lang-nursery/nomicon#177)

## reference

4 commits in d8dfe1b005c03584cd7adc4bfb72b005e7e84744..e1157538e86d83df0cf95d5e33bd943f80d0248f
2019-12-14 21:04:58 +0100 to 2019-12-22 13:13:14 +0100
- Fix typo in macros-by-example.md (rust-lang-nursery/reference#733)
- Remove `extern` from exception list (rust-lang-nursery/reference#732)
- Added clearification that closures are refered to lambdas (rust-lang-nursery/reference#731)
- abi.md: clarify #[used] and linking (rust-lang-nursery/reference#712)

## book

2 commits in ef8bb568035ded8ddfa30a9309026638cc3c8136..5c5cfd2e94cd42632798d9bd3d1116133e128ac9
2019-11-28 11:00:04 -0600 to 2019-12-16 09:27:21 -0600
- document new --show-output option in ch 11-2 (Rust >= 1.39) (rust-lang/book#2065)
- Fix sentence in ch07 (rust-lang/book#2183)

## rust-by-example

3 commits in b7ac1bc76b7d02a43c83b3a931d226f708aa1ff4..1d59403cb5269c190cc52a95584ecc280345495a
2019-12-02 11:38:43 -0300 to 2019-12-27 08:27:05 -0300
- Enable section-folding of table of content (rust-lang/rust-by-example#1290)
- Remove unnecessary lifetime annotation (rust-lang/rust-by-example#1300)
- eliminate the warnings (rust-lang/rust-by-example#1301)

## edition-guide

1 commits in 6601cab4666596494a569f94aa63b7b3230e9769..1a2390247ad6d08160e0dd74f40a01a9578659c2
2019-11-22 12:08:58 -0500 to 2019-12-29 10:40:55 -0800
- Updated install and uninstall instructions (rust-lang-nursery/edition-guide#194)

## embedded-book

1 commits in c26234930282210849256e4ecab925f0f2daf3be..9493b7d4dc97eda439bd8780f05ad7b234cd1cd7
2019-12-07 17:25:11 +0000 to 2019-12-27 20:05:00 +0000
- fixed typo in Interrupts.md  (rust-embedded/book#218)
2020-01-07 13:46:16 +09:00
Yuki Okushi
05797b1c45
Rollup merge of #67943 - Stromberg90:patch-1, r=jonas-schievink
Missing module std in example.
2020-01-07 13:46:15 +09:00
Yuki Okushi
b065031096
Rollup merge of #67936 - euclio:assoc-type-bad-style, r=Centril
fire "non_camel_case_types" for associated types

Fixes #67920.
2020-01-07 13:46:13 +09:00
Yuki Okushi
1e7a6a8b5c
Rollup merge of #67934 - GuillaumeGomez:clean-up-e0178, r=Dylan-DPC
Clean up E0178 explanation

r? @Dylan-DPC
2020-01-07 13:46:12 +09:00
Yuki Okushi
2c25ad5d28
Rollup merge of #67929 - mgrachev:patch-1, r=jonas-schievink
Formatting an example for method Vec.retain
2020-01-07 13:46:10 +09:00
Yuki Okushi
318d6c259d
Rollup merge of #67909 - varkor:obsolete-const-print, r=davidtwco
Fix ICE in const pretty printing and resolve FIXME

Consts now have a `fmt::Display` impl, so we can just use that to pretty-print.

This resolves an ICE in https://github.com/rust-lang/rust/issues/61936, though it hits more ICEs afterwards. I couldn't find a test case that was resolved by this that didn't hit errors later on.
2020-01-07 13:46:08 +09:00
Yuki Okushi
c07204b1d1
Rollup merge of #67908 - ollie27:rustdoc_const_html_escape, r=GuillaumeGomez
rustdoc: HTML escape const values

r? @GuillaumeGomez
2020-01-07 13:46:07 +09:00
Yuki Okushi
9ef3b2ca2a
Rollup merge of #67898 - matthewjasper:newtype-index-hygiene, r=Centril
Improve hygiene of `newtype_index`

`newtype_index` no longer needs `rustc_index::vec::Idx` to be in scope.

r? @Centril
2020-01-07 13:46:05 +09:00
Yuki Okushi
6d9913d51b
Rollup merge of #67880 - lbonn:fix/multi-substs, r=petrochenkov
Handle multiple error fix suggestions carefuly

The existing code seems to assume that substitutions spans are disjoint,
which is not always the case.

In the example:

    pub trait AAAA {}
    pub trait B {}
    pub trait C {}
    pub type T<P: AAAA + B + C> = P;

, we get three substituions starting from ':' and ending respectively at
the end of each trait token.

With the former offset calculation, this would cause `underline_start` to
eventually become negative before being converted to `usize`...

The new version may report erroneous results for non perfectly overlapping
substitutions but I don't know if such examples exist. Alternatively, we
could detect these cases and trim out overlapping substitutions.

Fixes #67690
2020-01-07 13:46:04 +09:00
Yuki Okushi
74ca7c7dd3
Rollup merge of #67877 - dtolnay:const-_, r=nagisa
Omit underscore constants from rustdoc

Underscore constants from https://github.com/rust-lang/rfcs/pull/2526 / https://github.com/rust-lang/rust/issues/54912 do not correspond to a nameable item and so are never useful in documentation.
<br>

#### Before:

> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<img src="https://user-images.githubusercontent.com/1940490/71771409-0427cc80-2eef-11ea-8b7d-d9c74a873e7e.png" width="60%">

#### After:

> Not that.
2020-01-07 13:46:02 +09:00
Yuki Okushi
4ed415b547
Rollup merge of #67727 - Dylan-DPC:stabilise/remove_item, r=alexcrichton
Stabilise vec::remove_item

Closes #40062

r? @alexcrichton
2020-01-07 13:46:01 +09:00
Yuki Okushi
3cce950743
Rollup merge of #67671 - estebank:type-impl-trait, r=davidtwco
Account for `type X = impl Trait;` in lifetime suggestion

Fix #67619.
2020-01-07 13:45:59 +09:00
Yuki Okushi
c671fc1ca2
Rollup merge of #67566 - Mark-Simulacrum:thread-id-u64, r=alexcrichton
Add an unstable conversion from thread ID to u64

We see multiple cases inside rustc and ecosystem code where ThreadId is
transmuted to u64, exploiting the underlying detail. This is suboptimal
(can break unexpectedly if we change things in std).

It is unlikely that ThreadId will ever need to be larger than u64 --
creating even 2^32 threads over the course of a program is quite hard,
2^64 is even harder. As such, we do not choose to return a larger sized
type (e.g. u128). If we choose to shrink ThreadId in the future, or
otherwise change its internals, it is likely that a mapping to u64 will
still be applicable (though may become more complex).

I will file a tracking issue as soon as this is loosely approved.
2020-01-07 13:45:58 +09:00
Eric Huss
518f50c285 Update books 2020-01-06 19:07:18 -08:00
bors
aa0769b92e Auto merge of #67950 - JohnTitor:clippyup, r=JohnTitor
Update Clippy

Fixes #67941

r? @ghost
2020-01-07 01:34:37 +00:00
Esteban Küber
2905f14b67 Account for type X = impl Trait; in lifetime suggestion 2020-01-06 13:36:06 -08:00
Matthew Jasper
9462c8babb Improve hygiene of newtype_index
Also add unit tests
2020-01-06 20:43:10 +00:00
Yuki Okushi
0f3e5bfc06 Update Clippy 2020-01-07 04:39:35 +09:00
bors
ef92009c1d Auto merge of #66899 - msizanoen1:riscv-std, r=alexcrichton
Standard library support for riscv64gc-unknown-linux-gnu

Add std support for RISC-V 64-bit GNU/Linux and update libc for RISC-V support.

r? @alexcrichton
2020-01-06 19:07:42 +00:00
dylan_DPC
503d06b90d oh the one that was left behind 2020-01-06 23:28:47 +05:30
Strømberg
a852941829
Removed module usage. 2020-01-06 17:38:41 +01:00
Strømberg
0113cacda2
Missing module std in example. 2020-01-06 17:25:17 +01:00
Mark Rousskov
d9a7db901e Add an unstable conversion from thread ID to u64
We see multiple cases inside rustc and ecosystem code where ThreadId is
transmuted to u64, exploiting the underlying detail. This is suboptimal
(can break unexpectedly if we change things in std).

It is unlikely that ThreadId will ever need to be larger than u64 --
creating even 2^32 threads over the course of a program is quite hard,
2^64 is even harder. As such, we do not choose to return a larger sized
type (e.g. u128). If we choose to shrink ThreadId in the future, or
otherwise change its internals, it is likely that a mapping to u64 will
still be applicable (though may become more complex).
2020-01-06 10:56:13 -05:00
msizanoen1
d61e193cd0 Update cc crate 2020-01-06 22:44:57 +07:00
dylan_DPC
6bec8e9972 stabilise it 2020-01-06 20:37:49 +05:30
Andy Russell
a7727c59ac
fire "non_camel_case_types" for associated types 2020-01-06 09:51:23 -05:00
Guillaume Gomez
99fda5c1ce Clean up E0178 explanation 2020-01-06 15:28:12 +01:00
dylan_DPC
0a739ce0a5 remove usage of feature gate 2020-01-06 19:36:46 +05:30
dylan_DPC
24c6cd80c3 stabilise remove_item 2020-01-06 19:36:46 +05:30
bors
ebbb2bf37a Auto merge of #67886 - Centril:rustc_hir_canon_imports, r=nagisa
Nix `rustc_hir` reexports in rustc::hir

r? @Zoxc cc @Mark-Simulacrum
2020-01-06 12:55:40 +00:00
Grachev Mikhail
e6d95ce0b8
Formatting an example for method Vec.retain 2020-01-06 15:18:03 +03:00
bors
a80e63f3fa Auto merge of #67917 - Dylan-DPC:rollup-id05y91, r=Dylan-DPC
Rollup of 6 pull requests

Successful merges:

 - #67800 (Fix ICE involving calling `Instance.ty` during const evaluation)
 - #67873 (change remove to have a PartialEq bound)
 - #67897 (Use `as_deref()` to replace `as_ref().map(...)`)
 - #67906 (Silence `TooGeneric` error)
 - #67912 (macros: typo fix)
 - #67915 (Use Self instead of $type)

Failed merges:

r? @ghost
2020-01-06 09:31:27 +00:00
Dylan DPC
34716a31db
Rollup merge of #67915 - lzutao:Self, r=Centril
Use Self instead of $type

r? @Dylan-DPC
2020-01-06 12:00:23 +05:30
Dylan DPC
162154f376
Rollup merge of #67912 - LPardue:patch-1, r=Centril
macros: typo fix

spotted while reviewing the todo!macro docs
2020-01-06 12:00:22 +05:30
Dylan DPC
c79034ed47
Rollup merge of #67906 - varkor:silence-toogeneric, r=nagisa
Silence `TooGeneric` error

This error may be produced during intermediate failed attempts at evaluation of a generic const, which may nevertheless succeed later.

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

r? @eddyb
2020-01-06 12:00:20 +05:30
Dylan DPC
2e965e9c6d
Rollup merge of #67897 - pickfire:patch-1, r=Dylan-DPC
Use `as_deref()` to replace `as_ref().map(...)`

Suggested by @lzutao
2020-01-06 12:00:19 +05:30
Dylan DPC
005d9d5b6e
Rollup merge of #67873 - Dylan-DPC:feature/change-remove-to-partial, r=Amanieu
change remove to have a PartialEq bound

Addresses [comment](https://github.com/rust-lang/rust/pull/67727#issuecomment-570660301).

References #40062

r? @Amanieu
2020-01-06 12:00:17 +05:30
Dylan DPC
3692075049
Rollup merge of #67800 - Aaron1011:fix/mir-generic-instance, r=oli-obk
Fix ICE involving calling `Instance.ty` during const evaluation

Fixes #67639

`Instance.ty` assumes that we are in a fully monomorphic context (e.g.
codegen), and can therefore use an empty `ParamEnv` when performing
normalization. Howver, the MIR constant evaluator code ends up calling
`Instance.ty` as a result of us attemptign to 'speculatively'
const-evaluate generic functions during const propagation.

As a result,
we may end up with projections involving type parameters
(e.g. <T as MyTrait>::Bar>) in the type we are trying to normalize.
Normalization expects us to have proper predicates in the `ParamEnv` for
such projections, and will ICE if we don't.

This commit adds a new method `Instance.ty_env`, which takes a
`ParamEnv` for use during normalization. The MIR const-evaluator code is
changed to use this method, passing in the proper `ParamEnv` for the
context at hand.
2020-01-06 12:00:16 +05:30
Lzu Tao
c7dbf5ad54 Use Self instead of $type 2020-01-06 04:33:31 +00:00
Lucas Pardue
cb8c071eb5
macros: typo fix
spotted while reviewing the todo!macro docs
2020-01-06 01:55:24 +00:00
varkor
8f94d9bb08 Fix ICE in const pretty printing and resolve FIXME
Consts now have a `fmt::Display` impl, so we can just use that to pretty-print.
2020-01-06 00:11:27 +00:00
bors
33640f0e03 Auto merge of #67563 - euclio:rustdoc-buffer-lexer, r=GuillaumeGomez
buffer lexer errors in rustdoc syntax checking

The code isn't ideal (I really would like to display the errors inline), but this at least gets us to where we were before #63017.
2020-01-06 00:09:14 +00:00
Oliver Middleton
e2305d0055 rustdoc: HTML escape const values 2020-01-05 23:19:42 +00:00
Aaron Hill
336b902f66
Use Instance.ty_env instead of Instance.monomorphic_ty in interpreter 2020-01-05 18:09:57 -05:00
varkor
adb46fd0a4 Silence TooGeneric error
This error may be produced during intermediate failed attempts at evaluation of a generic const, which may nevertheless succeed later.
2020-01-05 23:00:47 +00:00
bors
0731573042 Auto merge of #67821 - matthiaskrgr:submodule_upd, r=Xanewok
submodules: update rls from fed7a31 to 7010eee

Changes:
````
Update Clippy
Update cargo.
Correct two links to the json-error-emitter
````

Fixes #67708
2020-01-05 20:56:03 +00:00
Aaron Hill
db2c4f214f
Fix typo 2020-01-05 15:00:55 -05:00
Aaron Hill
33caf0b61f
Rename Instance.ty to Instance.monomorphic_ty 2020-01-05 14:59:40 -05:00
Aaron Hill
464b58ca11
s/projections/params/ 2020-01-05 14:37:59 -05:00