]> git.lizzy.rs Git - rust.git/log
rust.git
5 years agoRemove unnecessary lift calls
John Kåre Alsaker [Fri, 14 Jun 2019 16:09:57 +0000 (18:09 +0200)]
Remove unnecessary lift calls

5 years agoAuto merge of #61817 - eddyb:begone-gcx-attempt-2, r=oli-obk
bors [Fri, 14 Jun 2019 16:20:35 +0000 (16:20 +0000)]
Auto merge of #61817 - eddyb:begone-gcx-attempt-2, r=oli-obk

Unify all uses of 'gcx and 'tcx.

This is made possible by @Zoxc landing #57214 (see https://github.com/rust-lang/rust/pull/57214#issuecomment-465036053 for the decision).

A bit of context for the approach: just like #61722, this is *not* how I originally intended to go about this, but @Zoxc and my own experimentation independently resulted in the same conclusion:
The interim alias `type TyCx<'tcx> = TyCtxt<'tcx, 'tcx>;` attempt required more work (adding `use`s), even only for handling the `TyCtxt<'tcx, 'tcx>` case and not the general `TyCtxt<'gcx, 'tcx>` one.

What this PR is based on is the realization that `'gcx` is a special-enough name that it can be replaced, without caring for context, with `'tcx`, and then repetitions of the name `'tcx` be compacted away.
After that, only a small number of error categories remained, each category easily dealt with with either more mass replacements (e.g. `TyCtxt<'tcx, '_>` -> `TyCtxt<'tcx>`) or by hand.

For the `rustfmt` commit, I used https://github.com/rust-lang/rustfmt/issues/1324#issuecomment-482109952, and manually filtered out some noise, like in #61735 and #61722, and like the latter, there was also a weird bug to work around.
It should be reviewed separately, and dropped if unwanted (in this PR it's pretty significant).

cc @rust-lang/compiler r? @nikomatsakis

5 years agoRun `rustfmt --file-lines ...` for changes from previous commits.
Eduard-Mihai Burtescu [Thu, 13 Jun 2019 22:32:15 +0000 (01:32 +0300)]
Run `rustfmt --file-lines ...` for changes from previous commits.

5 years agoUnify all uses of 'gcx and 'tcx.
Eduard-Mihai Burtescu [Thu, 13 Jun 2019 21:48:52 +0000 (00:48 +0300)]
Unify all uses of 'gcx and 'tcx.

5 years agoAuto merge of #61421 - vorner:string-in-rc-into-raw-docs, r=RalfJung
bors [Fri, 14 Jun 2019 12:37:28 +0000 (12:37 +0000)]
Auto merge of #61421 - vorner:string-in-rc-into-raw-docs, r=RalfJung

docs: Use String in Rc::into_raw examples

It is unclear if accessing an integer after `drop_in_place` has been
called on it is undefined behaviour or not, as demonstrated by the
discussion in
https://github.com/rust-lang/rust/pull/60766#pullrequestreview-243414222.

Avoid these uncertainties by using String which frees memory in its
`drop_in_place` to make sure this is undefined behaviour. The message in
the docs should be to watch out and not access the data after that, not
discussing when one maybe could get away with it O:-).

5 years agoAuto merge of #61679 - zackmdavis:maybe_dont_indicate_the_anonymous_lifetime, r=oli-obk
bors [Fri, 14 Jun 2019 09:39:17 +0000 (09:39 +0000)]
Auto merge of #61679 - zackmdavis:maybe_dont_indicate_the_anonymous_lifetime, r=oli-obk

in which we decline to suggest the anonymous lifetime in declarations

The elided-lifetimes-in-path lint (part of our suite of Rust 2018 idiom lints which we are hoping to promote to Warn status) was firing with an illegal suggestion to write an anonymous lifetime in a
struct/item declaration (where we don't allow it). The linting code was already deciding whether to act on the basis of a `ParamMode` enum, indicating whether the present path-segment was part of an
expression, or anywhere else. The present case seemed to be part of the "anywhere else", and yet meriting different rules as far as the lint was concerned, so it seemed expedient to introduce a new enum member. We yank out `TyKind::Path` arm into its own method so that we can call it with our new `ParamMode` specifically when lowering struct fields—one would have hoped to think of something more elegant than this, but it definitely beats changing the signature of `lower_ty` to take a `ParamMode`!

Resolves #61124.

cc @memoryruins
r? @oli-obk

5 years agoin which we decline to suggest the anonymous lifetime in declarations
Zack M. Davis [Sun, 9 Jun 2019 04:35:02 +0000 (21:35 -0700)]
in which we decline to suggest the anonymous lifetime in declarations

The elided-lifetimes-in-path lint (part of our suite of Rust 2018
idiom lints which we are hoping to promote to Warn status) was firing
with an illegal suggestion to write an anonymous lifetime in a
struct/item declaration (where we don't allow it). The linting code
was already deciding whether to act on the basis of a `ParamMode`
enum, indicating whether the present path-segment was part of an
expression, or anywhere else. The present case seemed to be part of
the "anywhere else", and yet meriting different rules as far as the
lint was concerned, so it seemed expedient to introduce a new enum
member. We yank out a `TyKind::Path` arm into its own method so that
we can call it with our new `ParamMode` specifically when lowering
struct fields. (The alternative strategy of changing the signature of
`lower_ty` to take a `ParamMode` would be inelegant given that most of
the `TyKind` match arm bodies therein don't concern themselves with
`ParamMode`.)

Resolves #61124.

5 years agoAuto merge of #61803 - Centril:write_resolution, r=petrochenkov
bors [Fri, 14 Jun 2019 06:46:01 +0000 (06:46 +0000)]
Auto merge of #61803 - Centril:write_resolution, r=petrochenkov

typeck: small refactoring, add 'fn write_resolution'

5 years agoAuto merge of #61792 - lzutao:issue-51301, r=Centril
bors [Fri, 14 Jun 2019 03:57:28 +0000 (03:57 +0000)]
Auto merge of #61792 - lzutao:issue-51301, r=Centril

Add ui test for issue 51301

Closes #51301

5 years agoAuto merge of #61639 - Mark-Simulacrum:bootstrap-cleanup, r=alexcrichton
bors [Thu, 13 Jun 2019 22:23:42 +0000 (22:23 +0000)]
Auto merge of #61639 - Mark-Simulacrum:bootstrap-cleanup, r=alexcrichton

Bootstrap cleanup

Each commit is (mostly) standalone and probably best reviewed as such. Nothing too major just some drive-by nits as I was looking through the code.

r? @alexcrichton

5 years agoAuto merge of #61772 - alexcrichton:pr-and-master-builds, r=pietroalbini
bors [Thu, 13 Jun 2019 15:44:58 +0000 (15:44 +0000)]
Auto merge of #61772 - alexcrichton:pr-and-master-builds, r=pietroalbini

ci: Enable toolstate tracking on Azure

Currently just run it through its paces but don't actually push to
official locations. Instead let's just push to a separate fork (mine) as
well as open issues in a separate fork (mine). Make sure that people
aren't pinged for these issues as well!

This should hopefully ensure that everything is working on Azure and
give us a chance to work through any issues that come up.

Fixes https://github.com/rust-lang/rust/issues/61790
Fixes https://github.com/rust-lang/rust/issues/61371

5 years agoRemove unnecessary Std dependency
Mark Rousskov [Fri, 7 Jun 2019 16:05:42 +0000 (10:05 -0600)]
Remove unnecessary Std dependency

5 years agoDelete unused fields on Crate struct
Mark Rousskov [Fri, 7 Jun 2019 20:30:48 +0000 (14:30 -0600)]
Delete unused fields on Crate struct

5 years agoInline prepare_tool_cmd
Mark Rousskov [Fri, 7 Jun 2019 17:15:45 +0000 (11:15 -0600)]
Inline prepare_tool_cmd

Removing the tool argument in the previous commit means it's no longer
restricted to just bootstrap tools despite being written as such.
Inlining it prevents accidental use.

5 years agoDelete unnecessary command
Mark Rousskov [Fri, 7 Jun 2019 17:10:27 +0000 (11:10 -0600)]
Delete unnecessary command

5 years agoDelete Rustbook step
Mark Rousskov [Fri, 7 Jun 2019 15:39:28 +0000 (09:39 -0600)]
Delete Rustbook step

There's no need to have it given it merely forwarded to RustbookSrc.

5 years agotypeck: small refactoring, add 'fn write_resolution'
Mazdak Farrokhzad [Thu, 13 Jun 2019 14:44:50 +0000 (16:44 +0200)]
typeck: small refactoring, add 'fn write_resolution'

5 years agoci: Enable toolstate tracking on Azure
Alex Crichton [Wed, 12 Jun 2019 14:59:20 +0000 (07:59 -0700)]
ci: Enable toolstate tracking on Azure

Currently just run it through its paces but don't actually push to
official locations. Instead let's just push to a separate fork (mine) as
well as open issues in a separate fork (mine). Make sure that people
aren't pinged for these issues as well!

This should hopefully ensure that everything is working on Azure and
give us a chance to work through any issues that come up.

5 years agoAuto merge of #61799 - Centril:rollup-vpm5uxr, r=Centril
bors [Thu, 13 Jun 2019 12:52:29 +0000 (12:52 +0000)]
Auto merge of #61799 - Centril:rollup-vpm5uxr, r=Centril

Rollup of 5 pull requests

Successful merges:

 - #61598 (Handle index out of bound errors during const eval without panic)
 - #61720 (std: Remove internal definitions of `cfg_if!` macro)
 - #61757 (Deprecate ONCE_INIT in future 1.38 release)
 - #61766 (submodules: update clippy from c0dbd34b to bd33a97c)
 - #61791 (Small cleanup in `check_pat_path`)

Failed merges:

r? @ghost

5 years agoRollup merge of #61791 - Centril:cleanup-check_pat_path, r=petrochenkov
Mazdak Farrokhzad [Thu, 13 Jun 2019 12:52:00 +0000 (14:52 +0200)]
Rollup merge of #61791 - Centril:cleanup-check_pat_path, r=petrochenkov

Small cleanup in `check_pat_path`

5 years agoRollup merge of #61766 - matthiaskrgr:submodule_upd, r=oli-obk
Mazdak Farrokhzad [Thu, 13 Jun 2019 12:51:59 +0000 (14:51 +0200)]
Rollup merge of #61766 - matthiaskrgr:submodule_upd, r=oli-obk

submodules: update clippy from c0dbd34b to bd33a97c

Changes:
````
Fix implicit_return docs
rustup https://github.com/rust-lang/rust/pull/61758/files
Remove wrong lifetime from LintContext
Workaround for rust-lang/rustfmt#3615
Fixing eta with respect to lazy evaluation.
````
r? @oli-obk

5 years agoRollup merge of #61757 - sfackler:deprecate-once-init, r=alexcrichton
Mazdak Farrokhzad [Thu, 13 Jun 2019 12:51:57 +0000 (14:51 +0200)]
Rollup merge of #61757 - sfackler:deprecate-once-init, r=alexcrichton

Deprecate ONCE_INIT in future 1.38 release

Once::new() has been a stable const fn for a while now.

Closes #61746

5 years agoRollup merge of #61720 - alexcrichton:libstd-cfg-if-dep, r=sfackler
Mazdak Farrokhzad [Thu, 13 Jun 2019 12:51:56 +0000 (14:51 +0200)]
Rollup merge of #61720 - alexcrichton:libstd-cfg-if-dep, r=sfackler

std: Remove internal definitions of `cfg_if!` macro

This is duplicated in a few locations throughout the sysroot to work
around issues with not exporting a macro in libstd but still wanting it
available to sysroot crates to define blocks. Nowadays though we can
simply depend on the `cfg-if` crate on crates.io, allowing us to use it
from there!

5 years agoRollup merge of #61598 - estebank:const-idx, r=oli-obk
Mazdak Farrokhzad [Thu, 13 Jun 2019 12:51:53 +0000 (14:51 +0200)]
Rollup merge of #61598 - estebank:const-idx, r=oli-obk

Handle index out of bound errors during const eval without panic

Fix #61595

5 years agodocs: Use String in Rc::into_raw examples
Michal 'vorner' Vaner [Sat, 1 Jun 2019 09:55:25 +0000 (11:55 +0200)]
docs: Use String in Rc::into_raw examples

It is unclear if accessing an integer after `drop_in_place` has been
called on it is undefined behaviour or not, as demonstrated by the
discussion in
https://github.com/rust-lang/rust/pull/60766#pullrequestreview-243414222.

Avoid these uncertainties by using String which frees memory in its
`drop_in_place` to make sure this is undefined behaviour. The message in
the docs should be to watch out and not access the data after that, not
discussing when one maybe could get away with it O:-).

5 years agoAuto merge of #61743 - RalfJung:miri, r=oli-obk
bors [Thu, 13 Jun 2019 08:28:15 +0000 (08:28 +0000)]
Auto merge of #61743 - RalfJung:miri, r=oli-obk

update miri

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

r? @oli-obk

5 years agoupdate miri
Ralf Jung [Thu, 13 Jun 2019 07:58:32 +0000 (09:58 +0200)]
update miri

5 years agosubmodules: update clippy from c0dbd34b to 7b2a7a22
Matthias Krüger [Thu, 13 Jun 2019 06:25:08 +0000 (08:25 +0200)]
submodules: update clippy from c0dbd34b to 7b2a7a22

Changes:
````
Fix wrong lifetime of TyCtxt
travis: Wait at most 30 minutes for base test
Typos and minor grammar corrections
Adds lint for integer division
redundant_closure_for_method_calls fixes: lint does not trigger when there is a difference in mutability lint does not trigger when the method belongs to a trait which is not implemebted directly (Deref)
Fix implicit_return docs
rustup https://github.com/rust-lang/rust/pull/61758/files
Remove wrong lifetime from LintContext
Workaround for rust-lang/rustfmt#3615
Fixing eta with respect to lazy evaluation.
````

5 years agoDeprecate ONCE_INIT
Steven Fackler [Wed, 12 Jun 2019 01:57:48 +0000 (18:57 -0700)]
Deprecate ONCE_INIT

Once::new() has been a stable const fn for a while now.

Closes #61746

5 years agoAuto merge of #61597 - lnicola:bump-rand, r=alexcrichton
bors [Thu, 13 Jun 2019 04:19:28 +0000 (04:19 +0000)]
Auto merge of #61597 - lnicola:bump-rand, r=alexcrichton

Bump dirs, rand and redox_users

Part of #57724.

5 years agoAdd ui test for issue 51301
Lzu Tao [Thu, 13 Jun 2019 03:03:28 +0000 (03:03 +0000)]
Add ui test for issue 51301

5 years agoSmall cleanup in check_pat_path.
Mazdak Farrokhzad [Thu, 13 Jun 2019 02:58:12 +0000 (04:58 +0200)]
Small cleanup in check_pat_path.

5 years agoAuto merge of #61789 - Centril:rollup-hhyvopq, r=Centril
bors [Thu, 13 Jun 2019 01:32:17 +0000 (01:32 +0000)]
Auto merge of #61789 - Centril:rollup-hhyvopq, r=Centril

Rollup of 9 pull requests

Successful merges:

 - #60376 (Stabilize Option::xor)
 - #61398 (Stabilize copy_within)
 - #61629 (Hygienize macros in the standard library)
 - #61675 (Include frame pointer for bare metal RISC-V targets)
 - #61750 (Fix x.py install)
 - #61761 (Add an alias for x86_64-sun-solaris target tuple)
 - #61762 (rustbuild: fix libtest_stamp)
 - #61763 (ci: fix ci stats upload condition)
 - #61776 (Fix typos in error_codes)

Failed merges:

r? @ghost

5 years agoRollup merge of #61776 - JohnTitor:fix-typo-in-error-codes, r=Centril
Mazdak Farrokhzad [Wed, 12 Jun 2019 23:49:37 +0000 (01:49 +0200)]
Rollup merge of #61776 - JohnTitor:fix-typo-in-error-codes, r=Centril

Fix typos in error_codes

`observedin` should be `observed in`.

5 years agoRollup merge of #61763 - pietroalbini:azure-fix-condition, r=alexcrichton
Mazdak Farrokhzad [Wed, 12 Jun 2019 23:49:35 +0000 (01:49 +0200)]
Rollup merge of #61763 - pietroalbini:azure-fix-condition, r=alexcrichton

ci: fix ci stats upload condition

The condition I suggested in #61632 was not correct and it errors out while evaluating. This fixes the condition. [Example of a failure](https://dev.azure.com/rust-lang/rust/_build/results?buildId=543).

r? @alexcrichton

5 years agoRollup merge of #61762 - Keruspe:rustbuild-libtest-fix, r=Mark-Simulacrum
Mazdak Farrokhzad [Wed, 12 Jun 2019 23:49:33 +0000 (01:49 +0200)]
Rollup merge of #61762 - Keruspe:rustbuild-libtest-fix, r=Mark-Simulacrum

rustbuild: fix libtest_stamp

Looks like an obvious copy/paste typo

5 years agoRollup merge of #61761 - lzutao:target-tuple-solaris, r=varkor
Mazdak Farrokhzad [Wed, 12 Jun 2019 23:49:32 +0000 (01:49 +0200)]
Rollup merge of #61761 - lzutao:target-tuple-solaris, r=varkor

Add an alias for x86_64-sun-solaris target tuple

Closes #40531

r? @varkor

5 years agoRollup merge of #61750 - tmandry:fix-install, r=Mark-Simulacrum
Mazdak Farrokhzad [Wed, 12 Jun 2019 23:49:31 +0000 (01:49 +0200)]
Rollup merge of #61750 - tmandry:fix-install, r=Mark-Simulacrum

Fix x.py install

Make sure we look for save analysis in the right place. Fixes #61703.

r? @Mark-Simulacrum
cc @petrhosek @cramertj

5 years agoRollup merge of #61675 - fintelia:riscv-frame-pointer, r=nagisa
Mazdak Farrokhzad [Wed, 12 Jun 2019 23:49:29 +0000 (01:49 +0200)]
Rollup merge of #61675 - fintelia:riscv-frame-pointer, r=nagisa

Include frame pointer for bare metal RISC-V targets

This changes the default setting to enable the use of the frame pointer register when targeting RISC-V. On that architecture there is a dedicated frame pointer register which LLVM would otherwise never use so there is no increase in register pressure. Further, since these are bare metal targets, getting backtraces without the frame pointer is considerably more difficult (you can't just ask the OS to load the ELF executable and parse DWARF symbols). It is true that this setting can also be changed with the `-C force-frame-pointers` flag but that won't impact the compilation of the standard library, meaning that backtraces from, say, a panic handler would be useless.

5 years agoRollup merge of #61629 - petrochenkov:stdmac, r=alexcrichton
Mazdak Farrokhzad [Wed, 12 Jun 2019 23:49:27 +0000 (01:49 +0200)]
Rollup merge of #61629 - petrochenkov:stdmac, r=alexcrichton

Hygienize macros in the standard library

Same as https://github.com/rust-lang/rust/pull/55597, but for all macros in the standard library.
Nested macro calls will now call what they are intended to call rather than whatever is in the closest scope at call site.
Technically this is a breaking change, so crater run would probably be useful.

---

One exception that is not hygienized is calls to `panic!(...)`.
Macros defined in libcore do not want to call `core::panic`.
What they really want to call is either `std::panic` or `core::panic` depending on `no_std` settings.
EDIT: After some thought, recursive calls to `panic` from `panic` itself probably do want to use `$crate` (UPDATE: done).

Calling `std::panic` from macros defined in std and "whatever `panic` is in scope" from macros defined in libcore is probably even worse than always calling "whatever `panic` is in scope", so I kept the existing code.

The only way to do the std/core switch correctly that I'm aware of is to define a built-in panic macro that would dispatch to `std::panic` or `core::panic` using compiler magic.
Then standard library macros could delegate to this built-in macro.
The macro could be named `panic` too, that would fix https://github.com/rust-lang/rust/issues/61567.
(This PR doesn't do that.)

---
cc https://github.com/rust-lang/rust/issues/56389
cc https://github.com/rust-lang/rust/issues/61567
Fixes https://github.com/rust-lang/rust/issues/61699
r? @alexcrichton

5 years agoRollup merge of #61398 - kennytm:stabilize-copy-within, r=SimonSapin
Mazdak Farrokhzad [Wed, 12 Jun 2019 23:49:26 +0000 (01:49 +0200)]
Rollup merge of #61398 - kennytm:stabilize-copy-within, r=SimonSapin

Stabilize copy_within

Closes #54236.

5 years agoRollup merge of #60376 - lzutao:stabilize-option_xor, r=SimonSapin
Mazdak Farrokhzad [Wed, 12 Jun 2019 23:49:24 +0000 (01:49 +0200)]
Rollup merge of #60376 - lzutao:stabilize-option_xor, r=SimonSapin

Stabilize Option::xor

FCP done in https://github.com/rust-lang/rust/issues/50512#issuecomment-469527554 .

Closes #50512 .

5 years agoHandle index out of bound errors during const eval without panic
Esteban Küber [Thu, 6 Jun 2019 19:23:17 +0000 (12:23 -0700)]
Handle index out of bound errors during const eval without panic

5 years agoAuto merge of #61426 - Zoxc:just-tcx-mir-building, r=eddyb
bors [Wed, 12 Jun 2019 19:24:40 +0000 (19:24 +0000)]
Auto merge of #61426 - Zoxc:just-tcx-mir-building, r=eddyb

Use a single lifetime for MIR construction

Builds on https://github.com/rust-lang/rust/pull/57214

r? @eddyb

5 years agoAdd an alias for x86_64-sun-solaris target tuple
Lzu Tao [Wed, 12 Jun 2019 19:04:35 +0000 (19:04 +0000)]
Add an alias for x86_64-sun-solaris target tuple

5 years agoHygienize macros in the standard library
Vadim Petrochenkov [Fri, 7 Jun 2019 15:29:48 +0000 (18:29 +0300)]
Hygienize macros in the standard library

5 years agoUse a single lifetime for MIR construction
John Kåre Alsaker [Sat, 1 Jun 2019 11:38:36 +0000 (13:38 +0200)]
Use a single lifetime for MIR construction

5 years agoBump some of the crates using rand
Laurențiu Nicola [Mon, 10 Jun 2019 18:22:31 +0000 (21:22 +0300)]
Bump some of the crates using rand

5 years agoAuto merge of #61612 - nnethercote:improve-parse_bottom_expr, r=petrochenkov
bors [Wed, 12 Jun 2019 16:30:05 +0000 (16:30 +0000)]
Auto merge of #61612 - nnethercote:improve-parse_bottom_expr, r=petrochenkov

Special-case literals in `parse_bottom_expr`.

This makes parsing faster, particularly for code with large constants,
for two reasons:
- it skips all the keyword comparisons for literals;
- it skips the allocation done by the `mk_expr` call in
  `parse_literal_maybe_minus`.

r? @petrochenkov

5 years agoFix typos
Yuki Okushi [Wed, 12 Jun 2019 15:37:30 +0000 (00:37 +0900)]
Fix typos

5 years agoAuto merge of #61722 - eddyb:vowel-exclusion-zone, r=oli-obk
bors [Wed, 12 Jun 2019 13:41:43 +0000 (13:41 +0000)]
Auto merge of #61722 - eddyb:vowel-exclusion-zone, r=oli-obk

rustc: replace `TyCtxt<'a, 'gcx, 'tcx>` with `TyCtxt<'gcx, 'tcx>`.

This first lifetime parameter of `TyCtxt` has been phantom for a while, thanks to @Zoxc, but was never removed, and I'm doing this now in preparation for removing the `'gcx`/`'tcx` split.

I wasn't going to do this as a separate step, and instead start converting uses of `TyCtxt` to a single-lifetime alias of it (e.g. `type TyCx<'tcx> = TyCtxt<'tcx, 'tcx, 'tcx>;`) but it turns out (as @Zoxc rightly predicted) that there is far more fallout from not needing a lifetime for the first parameter of `TyCtxt`.

That is, going from `TyCtxt<'a, 'gcx, 'tcx>` to `TyCtxt<'tcx, 'gcx, 'tcx>` (the first commit in this PR) has the largest amount of fallout out of all the changes we might make (because it can require removing the `'a` parameter of `struct`s containing `tcx: TyCtxt<'a, ...>`), and is the hardest to automate (because `'a` is used everywhere, not just with `TyCtxt`, unlike, say `'gcx, 'tcx` -> `'tcx`).

So I'm submitting this now to get it out of the way and reduce further friction in the future.

**EDIT**: for the `rustfmt` commit, I used https://github.com/rust-lang/rustfmt/issues/1324#issuecomment-482109952, and manually filtered out some noise, like in #61735, but unlike that PR, there was also a weird bug to work around.
It should be reviewed separately, and dropped if unwanted.

cc @rust-lang/compiler r? @nikomatsakis

5 years agorustc_codegen_llvm: `deny(internal)`.
Eduard-Mihai Burtescu [Wed, 12 Jun 2019 13:06:35 +0000 (16:06 +0300)]
rustc_codegen_llvm: `deny(internal)`.

5 years agorustc_codegen_llvm: `deny(unused_lifetimes)`.
Eduard-Mihai Burtescu [Wed, 12 Jun 2019 12:59:10 +0000 (15:59 +0300)]
rustc_codegen_llvm: `deny(unused_lifetimes)`.

5 years agoci: fix ci stats upload condition
Pietro Albini [Wed, 12 Jun 2019 09:08:17 +0000 (11:08 +0200)]
ci: fix ci stats upload condition

The condition I suggested in #61632 was not correct and it errors out
while evaluating. This fixes the condition.

Example of a failure:
https://dev.azure.com/rust-lang/rust/_build/results?buildId=543

5 years agoAuto merge of #61587 - alexcrichton:distcheck-no-assertions, r=pietroalbini
bors [Wed, 12 Jun 2019 10:51:16 +0000 (10:51 +0000)]
Auto merge of #61587 - alexcrichton:distcheck-no-assertions, r=pietroalbini

ci: Disable LLVM/debug assertions for distcheck

The purpose of distcheck is to test `./x.py test` from a tarball, not to
test that all assertions pass all the time. These assertions are largely
just redundant with other builders, so skip the assertions for now and
save a good chunk of time on CI.

cc #61185

5 years agoRun `rustfmt --file-lines ...` for changes from previous commits.
Eduard-Mihai Burtescu [Tue, 11 Jun 2019 21:11:55 +0000 (00:11 +0300)]
Run `rustfmt --file-lines ...` for changes from previous commits.

5 years agorustc: remove some unnecessary lifetimes in -> TyCtxt methods.
Eduard-Mihai Burtescu [Wed, 5 Jun 2019 14:03:08 +0000 (17:03 +0300)]
rustc: remove some unnecessary lifetimes in -> TyCtxt methods.

5 years agorustc: replace `TyCtxt<'tcx, 'gcx, 'tcx>` with `TyCtxt<'gcx, 'tcx>`.
Eduard-Mihai Burtescu [Tue, 11 Jun 2019 20:47:08 +0000 (23:47 +0300)]
rustc: replace `TyCtxt<'tcx, 'gcx, 'tcx>` with `TyCtxt<'gcx, 'tcx>`.

5 years agoFix fallout from `deny(unused_lifetimes)`.
Eduard-Mihai Burtescu [Tue, 11 Jun 2019 20:35:39 +0000 (23:35 +0300)]
Fix fallout from `deny(unused_lifetimes)`.

5 years agorustc: replace `TyCtxt<'a, 'gcx, 'tcx>` with `TyCtxt<'tcx, 'gcx, 'tcx>`.
Eduard-Mihai Burtescu [Tue, 11 Jun 2019 19:03:44 +0000 (22:03 +0300)]
rustc: replace `TyCtxt<'a, 'gcx, 'tcx>` with `TyCtxt<'tcx, 'gcx, 'tcx>`.

5 years agorustbuild: fix libtest_stamp
Marc-Antoine Perennou [Wed, 5 Jun 2019 13:41:44 +0000 (15:41 +0200)]
rustbuild: fix libtest_stamp

Signed-off-by: Marc-Antoine Perennou <Marc-Antoine@Perennou.com>
5 years agoAuto merge of #60669 - c410-f3r:attrs-fn, r=petrochenkov
bors [Wed, 12 Jun 2019 07:38:01 +0000 (07:38 +0000)]
Auto merge of #60669 - c410-f3r:attrs-fn, r=petrochenkov

Allow attributes in formal function parameters

Implements https://github.com/rust-lang/rust/issues/60406.

This is my first contribution to the compiler and since this is a large and complex project, I am not fully aware of the consequences of the changes I have made.

**TODO**

- [x] Forbid some built-in attributes.
- [x] Expand cfg/cfg_attr

5 years agoAuto merge of #61758 - Centril:rollup-ew2uxng, r=Centril
bors [Wed, 12 Jun 2019 04:57:35 +0000 (04:57 +0000)]
Auto merge of #61758 - Centril:rollup-ew2uxng, r=Centril

Rollup of 9 pull requests

Successful merges:

 - #60187 (Generator optimization: Overlap locals that never have storage live at the same time)
 - #61348 (Implement Clone::clone_from for Option and Result)
 - #61568 (Use Symbol, Span in libfmt_macros)
 - #61632 (ci: Collect CPU usage statistics on Azure)
 - #61654 (use pattern matching for slices destructuring)
 - #61671 (implement nth_back for Range(Inclusive))
 - #61688 (is_fp and is_floating_point do the same thing, remove the former)
 - #61705 (Pass cflags rather than cxxflags to LLVM as CMAKE_C_FLAGS)
 - #61734 (Migrate rust-by-example to MdBook2)

Failed merges:

r? @ghost

5 years agoRollup merge of #61734 - mati865:books, r=alexcrichton
Mazdak Farrokhzad [Wed, 12 Jun 2019 02:22:56 +0000 (04:22 +0200)]
Rollup merge of #61734 - mati865:books, r=alexcrichton

Migrate rust-by-example to MdBook2

5 years agoRollup merge of #61705 - petrhosek:llvm-cflags, r=alexcrichton
Mazdak Farrokhzad [Wed, 12 Jun 2019 02:22:55 +0000 (04:22 +0200)]
Rollup merge of #61705 - petrhosek:llvm-cflags, r=alexcrichton

Pass cflags rather than cxxflags to LLVM as CMAKE_C_FLAGS

We mistakenly pass cxxflags from the configuration to LLVM build as
CMAKE_C_FLAGS.

5 years agoRollup merge of #61688 - RalfJung:is-floating-point, r=cramertj
Mazdak Farrokhzad [Wed, 12 Jun 2019 02:22:53 +0000 (04:22 +0200)]
Rollup merge of #61688 - RalfJung:is-floating-point, r=cramertj

is_fp and is_floating_point do the same thing, remove the former

also consistently mark all these `is_*` methods for inlining

5 years agoRollup merge of #61671 - koalatux:nth-back-range, r=KodrAus
Mazdak Farrokhzad [Wed, 12 Jun 2019 02:22:51 +0000 (04:22 +0200)]
Rollup merge of #61671 - koalatux:nth-back-range, r=KodrAus

implement nth_back for Range(Inclusive)

This is part of  #54054.

5 years agoRollup merge of #61654 - Electron-libre:use_slice_patterns_in_rustc, r=oli-obk,Centril
Mazdak Farrokhzad [Wed, 12 Jun 2019 02:22:50 +0000 (04:22 +0200)]
Rollup merge of #61654 - Electron-libre:use_slice_patterns_in_rustc, r=oli-obk,Centril

use pattern matching for slices destructuring

refs #61542

Use slices pattern where it seems to make sense .

5 years agoRollup merge of #61632 - alexcrichton:azure-pipelines-cpu, r=pietroalbini
Mazdak Farrokhzad [Wed, 12 Jun 2019 02:22:48 +0000 (04:22 +0200)]
Rollup merge of #61632 - alexcrichton:azure-pipelines-cpu, r=pietroalbini

ci: Collect CPU usage statistics on Azure

This commit adds a script which we'll execute on Azure Pipelines which
is intended to run in the background and passively collect CPU usage
statistics for our builders. The intention here is that we can use this
information over time to diagnose issues with builders, see where we can
optimize our build, fix parallelism issues, etc. This might not end up
being too useful in the long run but it's data we've wanted to collect
for quite some time now, so here's a stab at it!

Comments about how this is intended to work can be found in the python
script used here to collect CPU usage statistics.

Closes #48828

5 years agoRollup merge of #61568 - Mark-Simulacrum:symbol-fmt-macros, r=estebank
Mazdak Farrokhzad [Wed, 12 Jun 2019 02:22:47 +0000 (04:22 +0200)]
Rollup merge of #61568 - Mark-Simulacrum:symbol-fmt-macros, r=estebank

Use Symbol, Span in libfmt_macros

I'm not super happy with this, personally, but I think it might be a decent start -- happy to take suggestions as to how to expand this or change things further.

r? @estebank

Fixes #60795

5 years agoRollup merge of #61348 - dronesforwork-forks:clone-from, r=KodrAus
Mazdak Farrokhzad [Wed, 12 Jun 2019 02:22:45 +0000 (04:22 +0200)]
Rollup merge of #61348 - dronesforwork-forks:clone-from, r=KodrAus

Implement Clone::clone_from for Option and Result

See https://github.com/rust-lang/rust/issues/28481

5 years agoRollup merge of #60187 - tmandry:generator-optimization, r=eddyb
Mazdak Farrokhzad [Wed, 12 Jun 2019 02:22:44 +0000 (04:22 +0200)]
Rollup merge of #60187 - tmandry:generator-optimization, r=eddyb

Generator optimization: Overlap locals that never have storage live at the same time

The specific goal of this optimization is to optimize async fns which use `await!`. Notably, `await!` has an enclosing scope around the futures it awaits ([definition](https://github.com/rust-lang/rust/blob/08bfe16129b0621bc90184f8704523d4929695ef/src/libstd/macros.rs#L365-L381)), which we rely on to implement the optimization.

More generally, the optimization allows overlapping the storage of some locals which are never storage-live at the same time. **We care about storage-liveness when computing the layout, because knowing a field is `StorageDead` is the only way to prove it will not be accessed, either directly or through a reference.**

To determine whether we can overlap two locals in the generator layout, we look at whether they might *both* be `StorageLive` at any point in the MIR. We use the `MaybeStorageLive` dataflow analysis for this. We iterate over every location in the MIR, and build a bitset for each local of the locals it might potentially conflict with.

Next, we assign every saved local to one or more variants. The variants correspond to suspension points, and we include the set of locals live across a given suspension point in the variant. (Note that we use liveness instead of storage-liveness here; this ensures that the local has actually been initialized in each variant it has been included in. If the local is not live across a suspension point, then it doesn't need to be included in that variant.). It's important to note that the variants are a "view" into our layout.

For the layout computation, we use a simplified approach.

1. Start with the set of locals assigned to only one variant. The rest are disqualified.
2. For each pair of locals which may conflict *and are not assigned to the same variant*, we pick one local to disqualify from overlapping.

Disqualified locals go into a non-overlapping "prefix" at the beginning of our layout. This means they always have space reserved for them. All the locals that are allowed to overlap in each variant are then laid out after this prefix, in the "overlap zone".

So, if A and B were disqualified, and X, Y, and Z were all eligible for overlap, our generator might look something like this:

You can think of a generator as an enum, where some fields are shared between variants. e.g.

```rust
enum Generator {
  Unresumed,
  Poisoned,
  Returned,
  Suspend0(A, B, X),
  Suspend1(B),
  Suspend2(A, Y, Z),
}
```

where every mention of `A` and `B` refer to the same field, which does not move when changing variants. Note that `A` and `B` would automatically be sent to the prefix in this example. Assuming that `X` is never `StorageLive` at the same time as either `Y` or `Z`, it would be allowed to overlap with them.

Note that if two locals (`Y` and `Z` in this case) are assigned to the same variant in our generator, their memory would never overlap in the layout. Thus they can both be eligible for the overlapping section, even if they are storage-live at the same time.

---

Depends on:
- [x] #59897 Multi-variant layouts for generators
- [x] #60840 Preserve local scopes in generator MIR
- [x] #61373 Emit StorageDead along unwind paths for generators

Before merging:

- [x] ~Wrap the types of all generator fields in `MaybeUninitialized` in layout::ty::field~ (opened #60889)
- [x] Make PR description more complete (e.g. explain why storage liveness is important and why we have to check every location)
- [x] Clean up TODO
- [x] Fix the layout code to enforce that the same field never moves around in the generator
- [x] Add tests for async/await
- [x] ~Reduce # bits we store by half, since the conflict relation is symmetric~ (note: decided not to do this, for simplicity)
- [x] Store liveness information for each yield point in our `GeneratorLayout`, that way we can emit more useful debuginfo AND tell miri which fields are definitely initialized for a given variant (see discussion at https://github.com/rust-lang/rust/pull/59897#issuecomment-489468627)

5 years agoAuto merge of #60187 - tmandry:generator-optimization, r=eddyb
bors [Wed, 12 Jun 2019 02:13:11 +0000 (02:13 +0000)]
Auto merge of #60187 - tmandry:generator-optimization, r=eddyb

Generator optimization: Overlap locals that never have storage live at the same time

The specific goal of this optimization is to optimize async fns which use `await!`. Notably, `await!` has an enclosing scope around the futures it awaits ([definition](https://github.com/rust-lang/rust/blob/08bfe16129b0621bc90184f8704523d4929695ef/src/libstd/macros.rs#L365-L381)), which we rely on to implement the optimization.

More generally, the optimization allows overlapping the storage of some locals which are never storage-live at the same time. **We care about storage-liveness when computing the layout, because knowing a field is `StorageDead` is the only way to prove it will not be accessed, either directly or through a reference.**

To determine whether we can overlap two locals in the generator layout, we look at whether they might *both* be `StorageLive` at any point in the MIR. We use the `MaybeStorageLive` dataflow analysis for this. We iterate over every location in the MIR, and build a bitset for each local of the locals it might potentially conflict with.

Next, we assign every saved local to one or more variants. The variants correspond to suspension points, and we include the set of locals live across a given suspension point in the variant. (Note that we use liveness instead of storage-liveness here; this ensures that the local has actually been initialized in each variant it has been included in. If the local is not live across a suspension point, then it doesn't need to be included in that variant.). It's important to note that the variants are a "view" into our layout.

For the layout computation, we use a simplified approach.

1. Start with the set of locals assigned to only one variant. The rest are disqualified.
2. For each pair of locals which may conflict *and are not assigned to the same variant*, we pick one local to disqualify from overlapping.

Disqualified locals go into a non-overlapping "prefix" at the beginning of our layout. This means they always have space reserved for them. All the locals that are allowed to overlap in each variant are then laid out after this prefix, in the "overlap zone".

So, if A and B were disqualified, and X, Y, and Z were all eligible for overlap, our generator might look something like this:

You can think of a generator as an enum, where some fields are shared between variants. e.g.

```rust
enum Generator {
  Unresumed,
  Poisoned,
  Returned,
  Suspend0(A, B, X),
  Suspend1(B),
  Suspend2(A, Y, Z),
}
```

where every mention of `A` and `B` refer to the same field, which does not move when changing variants. Note that `A` and `B` would automatically be sent to the prefix in this example. Assuming that `X` is never `StorageLive` at the same time as either `Y` or `Z`, it would be allowed to overlap with them.

Note that if two locals (`Y` and `Z` in this case) are assigned to the same variant in our generator, their memory would never overlap in the layout. Thus they can both be eligible for the overlapping section, even if they are storage-live at the same time.

---

Depends on:
- [x] #59897 Multi-variant layouts for generators
- [x] #60840 Preserve local scopes in generator MIR
- [x] #61373 Emit StorageDead along unwind paths for generators

Before merging:

- [x] ~Wrap the types of all generator fields in `MaybeUninitialized` in layout::ty::field~ (opened #60889)
- [x] Make PR description more complete (e.g. explain why storage liveness is important and why we have to check every location)
- [x] Clean up TODO
- [x] Fix the layout code to enforce that the same field never moves around in the generator
- [x] Add tests for async/await
- [x] ~Reduce # bits we store by half, since the conflict relation is symmetric~ (note: decided not to do this, for simplicity)
- [x] Store liveness information for each yield point in our `GeneratorLayout`, that way we can emit more useful debuginfo AND tell miri which fields are definitely initialized for a given variant (see discussion at https://github.com/rust-lang/rust/pull/59897#issuecomment-489468627)

5 years agoAuto merge of #61741 - Centril:rollup-fgro5kz, r=Centril
bors [Tue, 11 Jun 2019 23:29:20 +0000 (23:29 +0000)]
Auto merge of #61741 - Centril:rollup-fgro5kz, r=Centril

Rollup of 11 pull requests

Successful merges:

 - #61518 (Add loops to doc list of things not stable in const fn)
 - #61526 (move some tests into subfolders)
 - #61550 (Windows 10 SDK is also required now.)
 - #61606 (Remove some legacy proc macro flavors)
 - #61652 (Mention slice patterns in array)
 - #61686 (librustc_errors: Add some more documentation)
 - #61698 (typeck: Fix const generic in repeat param ICE.)
 - #61707 (Azure: retry failed awscli installs)
 - #61715 (make sure make_ascii_lowercase actually leaves upper-case non-ASCII characters alone)
 - #61724 (core: use memcmp optimization for 128 bit integer slices)
 - #61726 (Use `for_each` in `Iterator::partition`)

Failed merges:

r? @ghost

5 years agoFix x.py install
Tyler Mandry [Tue, 11 Jun 2019 21:21:03 +0000 (14:21 -0700)]
Fix x.py install

Make sure we look for save analysis in the right place. Fixes #61703.

5 years agoMore review fixes
Tyler Mandry [Mon, 10 Jun 2019 22:54:00 +0000 (15:54 -0700)]
More review fixes

5 years agoAuto merge of #61735 - eddyb:must-use-life, r=oli-obk
bors [Tue, 11 Jun 2019 20:45:17 +0000 (20:45 +0000)]
Auto merge of #61735 - eddyb:must-use-life, r=oli-obk

Add deny(unused_lifetimes) to all the crates that have deny(internal).

@Zoxc brought up, regarding #61722, that we don't force the removal of unused lifetimes.
Turns out that it's not that bad to enable for compiler crates (I wonder why it's not `warn` by default?).

I would've liked to enable `single_use_lifetimes` as well, but https://github.com/rust-lang/rust/issues/53738 makes it unusable for now.

For the `rustfmt` commit, I used https://github.com/rust-lang/rustfmt/issues/1324#issuecomment-482109952, and manually filtered out some noise.

r? @oli-obk cc @rust-lang/compiler

5 years agois_fp and is_floating_point do the same thing, remove the former
Ralf Jung [Sun, 9 Jun 2019 10:53:47 +0000 (12:53 +0200)]
is_fp and is_floating_point do the same thing, remove the former

also consistently mark all these is_* methods for inlining

5 years agoRollup merge of #61726 - cuviper:partition-for_each, r=scottmcm
Mazdak Farrokhzad [Tue, 11 Jun 2019 15:14:12 +0000 (17:14 +0200)]
Rollup merge of #61726 - cuviper:partition-for_each, r=scottmcm

Use `for_each` in `Iterator::partition`

We already use this for `unzip`, but `partition` is not much different.

5 years agoRollup merge of #61724 - aschampion:128-bit-memcmp, r=sfackler
Mazdak Farrokhzad [Tue, 11 Jun 2019 15:14:11 +0000 (17:14 +0200)]
Rollup merge of #61724 - aschampion:128-bit-memcmp, r=sfackler

core: use memcmp optimization for 128 bit integer slices

All other sized integer slices do this. From #61665.

5 years agoRollup merge of #61715 - RalfJung:test-ascii-lowercase, r=varkor
Mazdak Farrokhzad [Tue, 11 Jun 2019 15:14:09 +0000 (17:14 +0200)]
Rollup merge of #61715 - RalfJung:test-ascii-lowercase, r=varkor

make sure make_ascii_lowercase actually leaves upper-case non-ASCII characters alone

Cc https://github.com/rust-lang/rust/pull/61677 @napen123

5 years agoRollup merge of #61707 - wesleywiser:awscli_retry, r=alexcrichton
Mazdak Farrokhzad [Tue, 11 Jun 2019 15:14:08 +0000 (17:14 +0200)]
Rollup merge of #61707 - wesleywiser:awscli_retry, r=alexcrichton

Azure: retry failed awscli installs

Fixes #61604

r? @pietroalbini

5 years agoRollup merge of #61698 - davidtwco:ice-const-generic-length, r=varkor
Mazdak Farrokhzad [Tue, 11 Jun 2019 15:14:04 +0000 (17:14 +0200)]
Rollup merge of #61698 - davidtwco:ice-const-generic-length, r=varkor

typeck: Fix const generic in repeat param ICE.

Fixes #61336. Turns out this wasn't related to #49147 after all.

r? @varkor

5 years agoRollup merge of #61686 - phansch:librustc_errors_docs, r=estebank
Mazdak Farrokhzad [Tue, 11 Jun 2019 15:14:03 +0000 (17:14 +0200)]
Rollup merge of #61686 - phansch:librustc_errors_docs, r=estebank

librustc_errors: Add some more documentation

r? @estebank

5 years agoRollup merge of #61652 - JohnTitor:docs-improve-array, r=Centril
Mazdak Farrokhzad [Tue, 11 Jun 2019 15:14:01 +0000 (17:14 +0200)]
Rollup merge of #61652 - JohnTitor:docs-improve-array, r=Centril

Mention slice patterns in array

Fixes #61650

r? @scottmcm

5 years agoRollup merge of #61606 - petrochenkov:legclean, r=pnkfelix
Mazdak Farrokhzad [Tue, 11 Jun 2019 15:13:59 +0000 (17:13 +0200)]
Rollup merge of #61606 - petrochenkov:legclean, r=pnkfelix

Remove some legacy proc macro flavors

Namely
- `IdentTT` (`foo! ident { ... }`). Can be replaced with `foo! { ident ... }` or something similar.
- `MultiDecorator`. Can be replaced by `MultiModifier` (aka `LegacyAttr` after renaming).
- `DeclMacro`. It was a less powerful duplicate of `NormalTT` (aka `LegacyBang` after renaming) and can be replaced by it.

Stuff like this slows down any attempts to refactor the expansion infra, so it's desirable to retire it already.
I'm not sure whether a lang team decision is necessary, but would be nice to land this sooner because I have some further work in this area scheduled.

The documentation commit (https://github.com/rust-lang/rust/commit/a9397fd0d5eede4bbc0ada94bf92657ca8084cb3) describes how the remaining variants are different from each other and shows that there's actually some system behind them.

The last commit renames variants of `SyntaxExtension` in more systematic way.
- `ProcMacro` -> `Bang`
- `NormalTT` -> `LegacyBang`
- `AttrProcMacro` -> `Attr`
- `MultiModifier` -> `LegacyAttr`
- `ProcMacroDerive` -> `Derive`
- `BuiltinDerive` -> `LegacyDerive`

All the `Legacy*` variants are AST-based, as opposed to "modern" token-based variants.

5 years agoRollup merge of #61550 - jacobsun:patch-1, r=alexcrichton
Mazdak Farrokhzad [Tue, 11 Jun 2019 15:13:58 +0000 (17:13 +0200)]
Rollup merge of #61550 - jacobsun:patch-1, r=alexcrichton

Windows 10 SDK is also required now.

5 years agoRollup merge of #61526 - lcnr:test_reorder, r=nikomatsakis
Mazdak Farrokhzad [Tue, 11 Jun 2019 15:13:56 +0000 (17:13 +0200)]
Rollup merge of #61526 - lcnr:test_reorder, r=nikomatsakis

move some tests into subfolders

This reduces the size of the test folders without making the moved tests harder to find.

Is this kind of change desired/worth the effort?

5 years agoRollup merge of #61518 - czipperz:const-fn-doc-disallow-loops, r=Centril
Mazdak Farrokhzad [Tue, 11 Jun 2019 15:13:54 +0000 (17:13 +0200)]
Rollup merge of #61518 - czipperz:const-fn-doc-disallow-loops, r=Centril

Add loops to doc list of things not stable in const fn

Closes #61508

5 years agoci: Collect CPU usage statistics on Azure
Alex Crichton [Fri, 7 Jun 2019 18:30:11 +0000 (11:30 -0700)]
ci: Collect CPU usage statistics on Azure

This commit adds a script which we'll execute on Azure Pipelines which
is intended to run in the background and passively collect CPU usage
statistics for our builders. The intention here is that we can use this
information over time to diagnose issues with builders, see where we can
optimize our build, fix parallelism issues, etc. This might not end up
being too useful in the long run but it's data we've wanted to collect
for quite some time now, so here's a stab at it!

Comments about how this is intended to work can be found in the python
script used here to collect CPU usage statistics.

Closes #48828

5 years agoRun `rustfmt --file-lines ...` for changes from previous commits.
Eduard-Mihai Burtescu [Tue, 11 Jun 2019 10:20:33 +0000 (13:20 +0300)]
Run `rustfmt --file-lines ...` for changes from previous commits.

5 years agoAdd deny(unused_lifetimes) to all the crates that have deny(internal).
Eduard-Mihai Burtescu [Tue, 11 Jun 2019 09:50:47 +0000 (12:50 +0300)]
Add deny(unused_lifetimes) to all the crates that have deny(internal).

5 years agorustdoc: deny(unused_lifetimes).
Eduard-Mihai Burtescu [Tue, 11 Jun 2019 09:50:17 +0000 (12:50 +0300)]
rustdoc: deny(unused_lifetimes).

5 years agorustc_codegen_*: deny(unused_lifetimes).
Eduard-Mihai Burtescu [Tue, 11 Jun 2019 09:49:10 +0000 (12:49 +0300)]
rustc_codegen_*: deny(unused_lifetimes).

5 years agorustc_borrowck: deny(unused_lifetimes).
Eduard-Mihai Burtescu [Tue, 11 Jun 2019 09:48:58 +0000 (12:48 +0300)]
rustc_borrowck: deny(unused_lifetimes).

5 years agorustc_traits: deny(unused_lifetimes).
Eduard-Mihai Burtescu [Tue, 11 Jun 2019 09:47:56 +0000 (12:47 +0300)]
rustc_traits: deny(unused_lifetimes).

5 years agorustc_mir: deny(unused_lifetimes).
Eduard-Mihai Burtescu [Tue, 11 Jun 2019 09:47:30 +0000 (12:47 +0300)]
rustc_mir: deny(unused_lifetimes).

5 years agorustc_lint: deny(unused_lifetimes).
Eduard-Mihai Burtescu [Tue, 11 Jun 2019 09:47:08 +0000 (12:47 +0300)]
rustc_lint: deny(unused_lifetimes).

5 years agorustc_incremental: deny(unused_lifetimes).
Eduard-Mihai Burtescu [Tue, 11 Jun 2019 09:46:49 +0000 (12:46 +0300)]
rustc_incremental: deny(unused_lifetimes).

5 years agorustc: deny(unused_lifetimes).
Eduard-Mihai Burtescu [Tue, 11 Jun 2019 09:21:38 +0000 (12:21 +0300)]
rustc: deny(unused_lifetimes).