Commit graph

87811 commits

Author SHA1 Message Date
Vadim Petrochenkov
eac3846b65 Always use token kinds through token module rather than Token type 2019-06-06 14:01:57 +03:00
bors
daf1ed0e98 Auto merge of #61373 - tmandry:emit-storagedead-along-unwind, r=eddyb
Emit StorageDead along unwind paths for generators

Completion of the work done in #60840. That PR made a change to implicitly consider a local `StorageDead` after Drop, but that was incorrect for DropAndReplace (see also #61060 which tried to fix this in a different way).

This finally enables the optimization implemented in #60187.

r? @eddyb
cc @Zoxc @cramertj @RalfJung
2019-06-06 06:36:12 +00:00
bors
740668dbd9 Auto merge of #57428 - alexreg:associated_type_bounds, r=nikomatsakis,Centril
Implementation of RFC 2289 (associated_type_bounds)

This PR implements the [`asociated_type_bounds` feature](https://github.com/rust-lang/rfcs/blob/master/text/2289-associated-type-bounds.md).

Associated type bounds are implemented in:
   - function/method arguments and return types
   - structs, enums, unions
   - associated items in traits
   - type aliases
   - type parameter defaults
   - trait objects
   - let bindings

CC @nikomatsakis @centril
2019-06-06 03:56:22 +00:00
Alexander Regueiro
ee890331f6 Reblessed tests with NLL compare mode on. 2019-06-06 03:29:02 +01:00
bors
1bec46c9a5 Auto merge of #59331 - varkor:TypeVariableOrigin-refactor, r=eddyb
Refactor `TypeVariableOrigin`

Removes some unused variants and extracts the common `Span` field.

As suggested in https://github.com/rust-lang/rust/pull/59008#discussion_r265031209.

r? @eddyb
2019-06-06 01:04:14 +00:00
Tyler Mandry
7718b14301 Test StorageDead statements explicitly 2019-06-05 15:10:19 -07:00
Alexander Regueiro
e37a7a1f74 add an example to create_substs_for_ast_path 2019-06-05 21:18:13 +01:00
Niko Matsakis
a900427188 verified that skip-binder is ok 2019-06-05 21:18:13 +01:00
Niko Matsakis
e48dd1257c another comment 2019-06-05 21:18:13 +01:00
Niko Matsakis
18d5085bff more comments 2019-06-05 21:18:13 +01:00
Niko Matsakis
83078f0b37 comment instantiate_poly_trait_ref and its binder behavior 2019-06-05 21:18:13 +01:00
Alexander Regueiro
049f4d8cf4 document the Bounds struct a bit 2019-06-05 21:09:32 +01:00
Niko Matsakis
963e22c38c added a few comments 2019-06-05 21:09:32 +01:00
Alexander Regueiro
2cdd7f8387 Removed unnecessary nested-lifetime-bounds test. 2019-06-05 21:09:27 +01:00
Alexander Regueiro
10b6daa6c8 Reblessed tests. 2019-06-05 21:09:27 +01:00
Alexander Regueiro
c105c28de0 Fixed rebase fallout. 2019-06-05 21:09:27 +01:00
Niko Matsakis
f472cd9c02 Addressed points raised in review. 2019-06-05 21:09:27 +01:00
Alexander Regueiro
5bf5994d92 Fixed up some comments. 2019-06-05 21:09:27 +01:00
Niko Matsakis
538ebd197c Added some comments, made add_bounds private. 2019-06-05 21:09:27 +01:00
Niko Matsakis
0f4a5ca33c Added some comments to lowering code. 2019-06-05 21:09:27 +01:00
Alexander Regueiro
a71d55701e Addressed points raised in review. 2019-06-05 21:09:27 +01:00
Alexander Regueiro
4310ba2c98 Added test suite. 2019-06-05 21:09:27 +01:00
Alexander Regueiro
cad1b1847e Added feature gate. 2019-06-05 21:09:27 +01:00
Alexander Regueiro
01f49f0bb2 Use both existential-type desugaring and where-clause (predicate) desugaring depending on context. 2019-06-05 21:09:26 +01:00
Alexander Regueiro
aaa53ec853 Implemented for traits (associated type definitions). 2019-06-05 21:09:26 +01:00
Alexander Regueiro
3816958f18 Implemented for function bounds, type bounds, and named existential types. 2019-06-05 21:09:26 +01:00
Alexander Regueiro
dce27cba78 Enabled Self in type aliases. 2019-06-05 21:09:26 +01:00
Alexander Regueiro
35585c499f Aggregation of drive-by cosmetic changes. 2019-06-05 21:09:26 +01:00
bors
7cdaffd796 Auto merge of #61548 - Centril:rollup-5t6cvbk, r=Centril
Rollup of 5 pull requests

Successful merges:

 - #61503 (Fix cfg(test) build for x86_64-fortanix-unknown-sgx)
 - #61534 (Edit docs of ExitStatus)
 - #61536 (Don't allow using const fn arguments as "args_required_const")
 - #61538 (Don't use GNU noexec stack note)
 - #61546 (azure: Fix some minor issues which have broken our configuration )

Failed merges:

r? @ghost
2019-06-05 18:29:39 +00:00
varkor
66b840c240 Fix after rebase 2019-06-05 17:19:01 +01:00
varkor
8577bb49bf Refactor ConstVariableOrigin into ConstVariableOrigin and ConstVariableOriginKind 2019-06-05 16:45:16 +01:00
varkor
4dcc49c685 Refactor TypeVariableOrigin into TypeVariableOrigin and TypeVariableOriginKind 2019-06-05 16:45:16 +01:00
varkor
05f505107f Remove unused TypeVariableOrigin variants 2019-06-05 16:45:16 +01:00
Mazdak Farrokhzad
928f2eeb7b
Rollup merge of #61538 - coypoop:patch-1, r=alexcrichton
Don't use GNU noexec stack note

NetBSD ignores this note and marks the stack no-exec unconditionally
2019-06-05 17:43:33 +02:00
Mazdak Farrokhzad
850b50a44f
Rollup merge of #61536 - oli-obk:args_required_const_in_const_fn, r=eddyb
Don't allow using const fn arguments as "args_required_const"

r? @eddyb
2019-06-05 17:43:31 +02:00
Mazdak Farrokhzad
76f9f6b2ab
Rollup merge of #61534 - ReinierMaas:patch-1, r=Centril
Edit docs of ExitStatus

The documentation of [`ExitStatus`] are extended to be at the same depth as [`Output`].
2019-06-05 17:43:30 +02:00
Mazdak Farrokhzad
713ebb462c
Rollup merge of #61503 - jethrogb:jb/fix-sgx-test, r=alexcrichton
Fix cfg(test) build for x86_64-fortanix-unknown-sgx
2019-06-05 17:43:28 +02:00
bors
47f4975cd7 Auto merge of #61498 - TankhouseAle:const-fn-type-name, r=oli-obk
Add "type_name" support in emulate_intrinsic()

I did some dumb Git things and deleted my original fork repo semi-accidentally (but probably for the best as I'd messed up the history.)

This is the same issue as #61399, which was obviously auto-closed, to be clear.
2019-06-05 15:40:16 +00:00
bors
2a1d6c83d3 Auto merge of #61484 - nnethercote:avoid-more-hygiene-lookups, r=petrochenkov
Avoid more hygiene lookups

Mostly by combining multiple `HygieneData::with` calls into a single call on hot paths.

r? @petrochenkov
2019-06-05 12:46:15 +00:00
Oliver Scherer
192c1d0717 Explain the existience of the regression test 2019-06-05 13:25:17 +02:00
coypoop
77e9335868
Don't use GNU noexec stack note
NetBSD ignores this note and marks the stack no-exec unconditionally
2019-06-05 12:19:34 +03:00
bors
817d2feb13 Auto merge of #61502 - alexcrichton:update-backtrace, r=estebank
std: Update dependency on `backtrace`

Discovered in #61416 an accidental regression in libstd's backtrace
behavior is that it previously attempted to consult libbacktrace and
would then fall back to `dladdr` if libbacktrace didn't report anything.
The `backtrace` crate, however, did not do this, so that's now been
fixed!

Changes: https://github.com/rust-lang/backtrace-rs/compare/0.3.25...0.3.29

Closes #61416
2019-06-05 08:20:20 +00:00
Reinier Maas
dd12f39b35
Tidy: trailing whitespace
Removed trailing whitespace from documentation of ExitStatus.
2019-06-05 09:58:39 +02:00
Oliver Scherer
dcd46d6b67 Don't allow using const fn arguments as "args_required_const" 2019-06-05 09:49:04 +02:00
Reinier Maas
674f24e132
Edit docs of ExitStatus
The documentation of [`ExitStatus`] are extended to be at the same depth as [`Output`].
2019-06-05 08:41:37 +02:00
Alex Crichton
fa1b6add09 std: Update dependency on backtrace
Discovered in #61416 an accidental regression in libstd's backtrace
behavior is that it previously attempted to consult libbacktrace and
would then fall back to `dladdr` if libbacktrace didn't report anything.
The `backtrace` crate, however, did not do this, so that's now been
fixed!

Changes: https://github.com/rust-lang/backtrace-rs/compare/0.3.25...0.3.27

Closes #61416
2019-06-04 18:45:39 -07:00
Tyler Mandry
4d6cb096ef Fix spelling
Co-Authored-By: Ralf Jung <post@ralfj.de>
2019-06-04 16:14:36 -07:00
Tyler Mandry
e244f625be Add test for DropAndReplace bug 2019-06-04 16:14:36 -07:00
Tyler Mandry
e8d639e42f Move cached_block out of DropKind 2019-06-04 16:14:36 -07:00
Tyler Mandry
4912df0266 Generate StorageDead along unwind paths for generators 2019-06-04 16:14:36 -07:00