Commit Graph

95066 Commits

Author SHA1 Message Date
Mazdak Farrokhzad
9e5ace6f43
Rollup merge of #62000 - JohnTitor:add-test-issue-54189, r=cramertj
Add test for issue-54189

Closes #54189
2019-06-20 22:14:29 +02:00
Mazdak Farrokhzad
7e9ecfae5a
Rollup merge of #61996 - Xanewok:unescape-raw-strings, r=matklad
Add unit tests for unescaping raw (byte) strings

Adds unit tests for functionality introduced in #60793.

r? @matklad @petrochenkov
2019-06-20 22:14:28 +02:00
Mazdak Farrokhzad
fdbc4ce686
Rollup merge of #61981 - rust-lang:generators-clone-doc, r=cramertj
Closures implement Copy and Clone, generators don't
2019-06-20 22:14:26 +02:00
Mazdak Farrokhzad
4129463683
Rollup merge of #61979 - spastorino:fmt-place-base, r=oli-obk
Implement Debug for PlaceBase

r? @oli-obk

More tiny bits that can be extracted from Place 2.0 PR
2019-06-20 22:14:25 +02:00
Mazdak Farrokhzad
d3898a6731
Rollup merge of #61900 - s3bk:master, r=sfackler
implement Error::source for Box<T: Error>

fixes https://github.com/rust-lang/rust/issues/61899
2019-06-20 22:14:24 +02:00
Yuki Okushi
127edbac34 Add test for issue-54189 2019-06-21 00:19:11 +09:00
bors
f0c2bdf52e Auto merge of #61998 - eddyb:type-name-params, r=oli-obk
rustc_mir: support type parameters by printing them as `_`.

Fixes #61894.
r? @oli-obk
2019-06-20 15:11:08 +00:00
Eduard-Mihai Burtescu
3606003a5b rustc_mir: support type parameters by printing them as _. 2019-06-20 17:48:02 +03:00
Santiago Pastorino
f0d9d55138 Implement Debug for PlaceBase 2019-06-20 14:25:58 +02:00
bors
c1a5edd939 Auto merge of #61929 - 95th:master, r=GuillaumeGomez
Fix Into trait docs links

https://doc.rust-lang.org/std/convert/trait.Into.html
2019-06-20 12:18:25 +00:00
Gurwinder Singh
34188fb636 Fix Into trait links 2019-06-20 15:02:27 +05:30
Igor Matuszewski
047421e69e Add unit tests for unescaping raw (byte) strings 2019-06-20 09:51:15 +02:00
bors
4fb77a0398 Auto merge of #61983 - Centril:rollup-wnfo07y, r=Centril
Rollup of 4 pull requests

Successful merges:

 - #60454 (Add custom nth_back to Skip)
 - #60772 (Implement nth_back for slice::{Iter, IterMut})
 - #61782 (suggest tuple struct syntax)
 - #61968 (rustc: disallow cloning HIR nodes.)

Failed merges:

r? @ghost
2019-06-20 07:46:11 +00:00
Mazdak Farrokhzad
942a7fec30
Rollup merge of #61968 - eddyb:hir-noclone, r=petrochenkov
rustc: disallow cloning HIR nodes.

Besides being inefficient, cloning also risks creating broken HIR (without properly recreating all the IDs and whatnot, in which case you might as well reconstruct the entire node without ever `Clone`-ing anything).

We detect *some* detrimental situations (based on the occurrence of `HirId`s, I believe?), but it's better to statically disallow it, IMO.

One of the examples that is fixed by this PR is `tcx.hir().fn_decl{,_by_hir_id}`, which was cloning an entire `hir::FnDecl` *every single time it was called*.

r? @petrochenkov cc @rust-lang/compiler
2019-06-20 08:36:03 +02:00
Mazdak Farrokhzad
2ead0072b6
Rollup merge of #61782 - Electron-libre:suggest_tuple_struct_syntax, r=estebank
suggest tuple struct syntax

refs #57242
2019-06-20 08:36:01 +02:00
Mazdak Farrokhzad
2e7e131b8e
Rollup merge of #60772 - timvermeulen:slice_iter_nth_back, r=scottmcm
Implement nth_back for slice::{Iter, IterMut}

Part of #54054.

I implemented `nth_back` as straightforwardly as I could, and then slightly changed `nth` to match `nth_back`. I believe I did so correctly, but please double-check 🙂

I also added the helper methods `zst_shrink`, `next_unchecked`, and `next_back_unchecked` to get rid of some duplicated code. These changes hopefully make this code easier to understand for new contributors like me.

I noticed the `is_empty!` and `len!` macros which sole purpose seems to be inlining, according to the comment right above them, but the `is_empty` and `len` methods are already marked with `#[inline(always)]`. Does that mean we could replace these macros with method calls, without affecting anything? I'd love to get rid of them.
2019-06-20 08:36:00 +02:00
Mazdak Farrokhzad
3e08f1b57e
Rollup merge of #60454 - acrrd:issues/54054_skip, r=scottmcm
Add custom nth_back to Skip

Implementation of nth_back for Skip.
Part of #54054
2019-06-20 08:35:58 +02:00
Jake Goulding
b0dd7fc9f5
Closures implement Copy and Clone, generators don't 2019-06-19 23:03:33 -04:00
bors
3c805ce183 Auto merge of #60341 - mtak-:macos-tlv-workaround, r=alexcrichton
macos tlv workaround

fixes: #60141

Includes:
* remove dead code: `requires_move_before_drop`. This hasn't been needed for a while now (oops I should have removed it in #57655)
* redox had a copy of `fast::Key` (not sure why?). That has been removed.
* Perform a `read_volatile` on OSX to reduce `tlv_get_addr` calls per `__getit` from (4-2 depending on context) to 1.

`tlv_get_addr` is relatively expensive (~1.5ns on my machine).

Previously, in contexts where `__getit` was inlined, 4 calls to `tlv_get_addr` were performed per lookup. For some reason when `__getit` is not inlined this is reduced to 2x - and performance improves to match.

After this PR, I have only ever seen 1x call to `tlv_get_addr` per `__getit`, and macos now benefits from situations where `__getit` is inlined.

I'm not sure if the `read_volatile(&&__KEY)` trick is working around an LLVM bug, or a rustc bug, or neither.

r? @alexcrichton
2019-06-20 02:36:49 +00:00
bors
7d10761349 Auto merge of #61947 - estebank:ice-ice-revolution, r=matthewjasper
Fix ICE involving mut references

Fix #61623, fix #61944, fix #61751.
2019-06-19 22:23:45 +00:00
bors
2fe7b3383c Auto merge of #61967 - lzutao:clippy-update, r=oli-obk
submodules: Update clippy from 868f168c to 149a988

r? @oli-obk
2019-06-19 19:28:28 +00:00
tyler
b148c25cac fix compile-fail test for targets without thread locals 2019-06-19 11:50:23 -07:00
Eduard-Mihai Burtescu
673c3fc23a rustc: disallow cloning HIR nodes. 2019-06-19 21:16:08 +03:00
Eduard-Mihai Burtescu
887feeeaf7 rustc: replace GenericArgs::with_generic_args hack with a plain getter. 2019-06-19 21:16:04 +03:00
Cedric
b72b1ac062 fix indentation 2019-06-19 19:47:52 +02:00
Lzu Tao
405f655942 Update clippy from 868f168c to 149a988 2019-06-19 17:30:55 +00:00
bors
5e0c6a69e0 Auto merge of #61962 - Centril:rollup-y6sg1zw, r=Centril
Rollup of 4 pull requests

Successful merges:

 - #60667 ( Add functions for building raw slices to libcore )
 - #61547 (Support `cfg` and `cfg_attr` on generic parameters)
 - #61861 (Update rustfmt and rls)
 - #61940 (Make Place::ty iterate)

Failed merges:

r? @ghost
2019-06-19 16:37:58 +00:00
Esteban Küber
8a415d145a review comment 2019-06-19 09:25:48 -07:00
Mazdak Farrokhzad
bf6c505c23
Rollup merge of #61940 - spastorino:place-ty-iterate, r=oli-obk
Make Place::ty iterate

r? @oli-obk

Related to Place 2.0
2019-06-19 17:34:39 +02:00
Mazdak Farrokhzad
d88b7b2136
Rollup merge of #61861 - topecongiro:rustfmt-1.3.0, r=topecongiro
Update rustfmt and rls

This PR bumps the version of rustfmt to 1.3.0.
2019-06-19 17:34:38 +02:00
Mazdak Farrokhzad
7b3984b21b
Rollup merge of #61547 - petrochenkov:cfgen, r=Centril
Support `cfg` and `cfg_attr` on generic parameters

`cfg` attributes are supported in all other positions where attributes are accepted at all.

They were previously prohibited in https://github.com/rust-lang/rust/pull/51283 because they weren't implemented correctly before that and were simply ignored.
2019-06-19 17:34:36 +02:00
Mazdak Farrokhzad
564326a626
Rollup merge of #60667 - oli-obk:raw_from_raw_parts, r=sfackler
Add functions for building raw slices to libcore

implement https://github.com/rust-lang/rust/issues/36925
2019-06-19 17:34:35 +02:00
topecongiro
5a411a65d0
Update rustfmt and rls
Update rustfmt to 1.3.0.
2019-06-19 23:54:31 +09:00
bors
e79b2a18a2 Auto merge of #61172 - matthewjasper:cleanup-implied-bounds-lint, r=varkor
Improve the explicit_outlives_requirements lint

* Don't use Strings to compare parameters
* Extend the lint to lifetime bounds
* Extend the lint to enums and unions
* Use the correct span for where clauses in tuple structs
* Try to early-out where possible
* Remove unnecessary bounds in rustc crates
2019-06-19 12:41:38 +00:00
bors
9cb052acfb Auto merge of #58351 - oli-obk:double_check_const_eval, r=RalfJung
Refactor interning to properly mark memory as mutable or immutable

r? @RalfJung

This implementation is incomplete out of multiple reasons

* [ ] add `-Zunleash_the_miri_inside_of_you` tests
* [ ] report an error if there's an `UnsafeCell` behind a reference in a constant
* [ ] make validity checks actually test whether the mutability of their allocations match what they see in the type
2019-06-19 09:43:58 +00:00
Oliver Scherer
cd290c7ee9 packed -> repr(packed) 2019-06-19 11:20:38 +02:00
Oliver Scherer
ce39fff66b Fix comment about alignments 2019-06-19 11:18:03 +02:00
Cedric
70e52f8418 provide variant definition on tuple struct unknow field error 2019-06-19 11:09:17 +02:00
Oliver Scherer
3977cc2b37 Remove now-unnecessary lifetime 2019-06-19 10:34:32 +02:00
Cedric
c917ba325f adt hint pointing to adt span 2019-06-19 10:07:07 +02:00
Oliver Scherer
62af19b614 More FIXMEs 2019-06-19 10:03:53 +02:00
Vadim Petrochenkov
0b58bb32f6 Support cfg and cfg_attr on generic parameters 2019-06-19 10:59:15 +03:00
Oliver Scherer
fd426a6ae9 Explain existance of Align field 2019-06-19 09:57:07 +02:00
Oliver Scherer
fb37bf0037 Weave the alignment through ByRef 2019-06-19 09:53:32 +02:00
Oliver Scherer
921f0d9ca9 Outright ignore any alignment in const_field 2019-06-19 09:52:36 +02:00
Oliver Scherer
667f94cb24 Update ui test output 2019-06-19 09:52:36 +02:00
Oliver Scherer
6229a8f1f6 Elaborate some more on what mutability field means what 2019-06-19 09:52:36 +02:00
Oliver Scherer
521d38adb5 Update to TyCtxt lifetime changes 2019-06-19 09:52:36 +02:00
Oliver Scherer
a18d99abaa Fix typo 2019-06-19 09:52:35 +02:00
Oliver Scherer
5734558881 The future is now 2019-06-19 09:52:35 +02:00