99512 Commits

Author SHA1 Message Date
Tyler Mandry
a8aa5114bf
Rollup merge of #64486 - matthewjasper:hygiene-debugging, r=petrochenkov
Print out more information for `-Zunpretty=expanded,hygiene`

I've found this helpful when trying to understand how hygiene works.

Closes #16420
2019-09-17 21:27:22 -07:00
Dylan MacKenzie
d583fefa59 Add ignore reason to placate tidy 2019-09-17 17:53:36 -07:00
Dylan MacKenzie
288603709e Temporarily add #[allow(unused)] for CI
This can be removed once dataflow-based const validation is merged.
2019-09-17 17:52:50 -07:00
Dylan MacKenzie
5496a1fbbe Document new dataflow analysis 2019-09-17 17:52:47 -07:00
Dylan MacKenzie
ceb72e4ad1 Add generic dataflow impl 2019-09-17 16:52:13 -07:00
Aaron Hill
3daa8bd2e4
Generate proc macro harness in AST order.
This ensures that we match the order used by proc macro metadata
serialization.

Fixes #64251
2019-09-17 19:10:10 -04:00
bors
528379121c Auto merge of #64562 - tmandry:rollup-kfk0nuo, r=tmandry
Rollup of 10 pull requests

Successful merges:

 - #61626 (Get rid of special const intrinsic query in favour of `const_eval`)
 - #64283 (Updated RELEASES.md for 1.38.0)
 - #64394 (Shrink `SubregionOrigin`.)
 - #64429 (Fix failure note `to_str` implementation)
 - #64436 (improve Vec example soundness in mem::transmute docs)
 - #64502 (avoid duplicate issues for Miri build failures)
 - #64505 (Fix inconsistent link formatting)
 - #64529 (Add an example to Pin::as_mut)
 - #64541 (document Miri error categories)
 - #64544 (build-manifest: re-add some comments)

Failed merges:

r? @ghost
2019-09-17 22:21:10 +00:00
Tyler Mandry
93d610821d
Rollup merge of #64544 - RalfJung:build-manifest, r=pietroalbini
build-manifest: re-add some comments

https://github.com/rust-lang/rust/pull/64543 also reverted the comments I added. This adds them back.
Includes https://github.com/rust-lang/rust/pull/64543.

r? @pietroalbini
2019-09-17 14:10:56 -07:00
Tyler Mandry
f8b6e26cfb
Rollup merge of #64541 - RalfJung:miri-errors, r=oli-obk
document Miri error categories

r? @oli-obk
2019-09-17 14:10:55 -07:00
Tyler Mandry
d782f09ae0
Rollup merge of #64529 - taiki-e:docs-pin-as-mut, r=RalfJung
Add an example to Pin::as_mut

https://github.com/taiki-e/pin-project/issues/89#issuecomment-531701172

r? @RalfJung
2019-09-17 14:10:54 -07:00
Tyler Mandry
b544284315
Rollup merge of #64505 - pickfire:patch-1, r=Mark-Simulacrum
Fix inconsistent link formatting
2019-09-17 14:10:52 -07:00
Tyler Mandry
3a1390cdca
Rollup merge of #64502 - RalfJung:miri-toolstate, r=pietroalbini
avoid duplicate issues for Miri build failures

Currently, when Miri regressed from test-pass to test-fail, we pen an issue -- and then when it regresses further from test-fail to build-fail, we open a *second* issue.

This changes the logic to avoid the redundant second issue for Miri.

r? @pietroalbini @kennytm
2019-09-17 14:10:51 -07:00
Tyler Mandry
d6f2205ed8
Rollup merge of #64436 - llogiq:transmute-docs, r=RalfJung
improve Vec example soundness in mem::transmute docs

The previous version of the `Vec` example had a case of questionable soundness, because at one point `v_orig` was aliased.

r? @RalfJung
2019-09-17 14:10:50 -07:00
Tyler Mandry
ffee7bbf9a
Rollup merge of #64429 - afnanenayet:afnan/fix-failure-note-json-level, r=Mark-Simulacrum
Fix failure note `to_str` implementation

Serialize the level to something a little more useful for a failure note struct. This fixes #60425.
2019-09-17 14:10:48 -07:00
Tyler Mandry
ec905cf9e5
Rollup merge of #64394 - nnethercote:shrink-SubregionOrigin, r=Mark-Simulacrum
Shrink `SubregionOrigin`.

It's currently 120 bytes on x86-64, due to one oversized variant
(`Subtype`). This commit boxes `Subtype`'s contents, reducing the size
of `SubregionOrigin` to 32 bytes.

The change speeds things up by avoiding lots of `memcpy` calls, mostly
relating to `RegionConstraintData::constraints`, which is a `BTreeMap`
with `SubregionOrigin` values.
2019-09-17 14:10:47 -07:00
Tyler Mandry
20d43d03dd
Rollup merge of #64283 - XAMPPRocky:master, r=Mark-Simulacrum
Updated RELEASES.md for 1.38.0

### [Rendered](https://github.com/XAMPPRocky/rust/blob/master/RELEASES.md)

r? @Mark-Simulacrum
cc @rust-lang/release
2019-09-17 14:10:45 -07:00
Tyler Mandry
6bbb935a61
Rollup merge of #61626 - oli-obk:const_eval_intrinsics, r=eddyb
Get rid of special const intrinsic query in favour of `const_eval`

r? @eddyb
2019-09-17 14:10:44 -07:00
Ralf Jung
ebd129b7ff update Nomicon and Reference 2019-09-17 22:28:49 +02:00
Matthew Jasper
3c2fd1a72d Print syntax contexts and marks when printing hygiene information 2019-09-17 21:23:33 +01:00
bors
7efe1c6e67 Auto merge of #64525 - nikomatsakis:issue-64512-drop-order-tail-temp, r=davidtwco
adjust desugaring for async fn to correct drop order

Old desugaring, given a user function body `{ $stmts; $expr }`

```
{
    let $param_pattern0 = $raw_param0;
    ...
    let $param_patternN = $raw_paramN;
    $stmts;
    $expr
}
```

New desugaring:

```
{
    let $param_pattern0 = $raw_param0;
    ...
    let $param_patternN = $raw_paramN;
    drop-temps {
        $stmts;
        $expr
    }
}
```

The drop-temps is an internal bit of HIR that drops temporaries from the resulting expression, but it should be equivalent to `return { $stmts; $expr }`.

Fixes #64512
Fixes #64391
2019-09-17 18:23:30 +00:00
lqd
f9c73293e2 Bless json output of test ui/json-options.rs for Polonius 2019-09-17 19:35:16 +02:00
lqd
34d3167368 Bless json output of test ui/json-multiple.rs for Polonius 2019-09-17 19:34:12 +02:00
lqd
3ef980aeaa Update expectations of test ui/dropck/dropck_trait_cycle_checked.rs for Polonius
as its output was changed by 2ff337a8e2 (diff-bd3f80b956148a5d1567aa8698b8a507)
2019-09-17 19:32:36 +02:00
lqd
222e920151 Bless output of test borrowck/return-local-binding-from-desugaring.rs for Polonius 2019-09-17 19:30:34 +02:00
lqd
9f4351d406 Bless output of test borrowck/return-local-binding-from-desugaring.rs for Polonius 2019-09-17 19:28:49 +02:00
Andre Bogus
ab6e108644 improve Vec example soundness in mem::transmute docs 2019-09-17 18:31:54 +02:00
Ralf Jung
a4dc33baf6 build-manifest: add some comments 2019-09-17 17:26:55 +02:00
bors
9150f844e2 Auto merge of #64517 - alexcrichton:less-assertions, r=pietroalbini
azure: Disable more LLVM/debug assertions in

This commit disables LLVM/debug assertions in our 5 slowest builders:

* i686-gnu
* i686-gnu-nopt
* i686-msvc-1
* i686-msvc-2
* x86_64-msvc-cargo

This is reducing the amount of test coverage for LLVM/debug assertions,
but we're just unfortunately running out of time on CI too many times.
Some test builds have shown that i686-gnu drops nearly an hour of CI
time by disabling these two assertions. Perhaps when we eventually get
4-core machines we can reenable these, but for now turn them off and
hook them up to the tracking issue at #59637 which will ideally be
repurposes to tracking all of these.
2019-09-17 14:43:44 +00:00
Oliver Scherer
0de9485038 Get rid of special const intrinsic query in favour of const_eval 2019-09-17 16:31:55 +02:00
Mark Rousskov
4cc5aaada2 Protect error handler fields with single lock
This avoids concurrency-related bugs when locks are acquired for too
short a time and similar cases.
2019-09-17 09:30:45 -04:00
Mark Rousskov
2a767eec0c Remove unused methods from Handler 2019-09-17 09:30:45 -04:00
Mark Rousskov
b304e60131 Remove Handler::{emit, emit_with_code} 2019-09-17 09:30:45 -04:00
Mark Rousskov
998df0d70b Remove Handler::cancel 2019-09-17 09:30:44 -04:00
Mark Rousskov
2a3930d43c Privatize DiagnosticBuilder constructors 2019-09-17 09:30:44 -04:00
Mark Rousskov
0b586b436d Take Diagnostic in Handler::emit_diagnostic 2019-09-17 09:30:44 -04:00
Mark Rousskov
cdd805506e Replace DiagnosticBuilder with Diagnostic when emitting error 2019-09-17 09:29:46 -04:00
Taiki Endo
a22e9ee8d0
Update src/libcore/pin.rs
Co-Authored-By: Ralf Jung <post@ralfj.de>
2019-09-17 20:02:48 +09:00
Taiki Endo
522f4e1f3e Add an example to Pin::as_mut 2019-09-17 19:41:12 +09:00
bors
f504e37dc6 Auto merge of #64543 - pietroalbini:revert-miri-manifest, r=pietroalbini
Revert #64451

#64451 is making the release process panic, causing today's missing nightly (see https://github.com/rust-lang/rust/issues/64540). This reverts that PR, but I'm happy to review a fixed version of it.

cc @RalfJung
r? @ghost

Fixes https://github.com/rust-lang/rust/issues/64540
2019-09-17 10:37:01 +00:00
Ralf Jung
686170e87d update miri 2019-09-17 12:31:49 +02:00
Arno Haase
f4f136e67b newly phrased documentation for spin loop hints 2019-09-17 12:09:07 +02:00
Niko Matsakis
2d8b10f63c adjust larger comment to include the body 2019-09-17 05:10:22 -04:00
Niko Matsakis
716b2bcfb3 use drop-temps { .. } pseudo-notation
DropTemps(...) looks like a function, this looks like wacko special stuff
2019-09-17 05:10:22 -04:00
Niko Matsakis
0a11e80fa8 introduce lower_block_expr convenience function, and use it 2019-09-17 05:10:22 -04:00
Niko Matsakis
123f129f79 apply nits from centril
Co-Authored-By: Mazdak Farrokhzad <twingoow@gmail.com>
2019-09-17 04:53:28 -04:00
Pietro Albini
a7a6dedfe6
Revert "Rollup merge of #64451 - RalfJung:miri-manifest, r=pietroalbini"
This reverts commit 7975973e2b806a7ee8e54b40f9e774528a777e31, reversing
changes made to f0320e54c7c2c923e2e05996ac1d74f781115bbc.
2019-09-17 09:58:55 +02:00
Ralf Jung
e8d858ef3c rename Allocation::retag -> with_tags_and_extra 2019-09-17 09:29:06 +02:00
Ralf Jung
daafeb35b7 document Miri error categories 2019-09-17 08:58:51 +02:00
Nicholas Nethercote
7f6e160875 Rename some index variables.
Now that all indices have type `usize`, it makes sense to be more
consistent about their naming. This commit removes all uses of `i` in
favour of `index`.
2019-09-17 15:32:29 +10:00
Nicholas Nethercote
cf3a562c98 Remove NodeIndex.
The size of the indices doesn't matter much here, and having a
`newtype_index!` index type without also using `IndexVec` requires lots
of conversions. So this commit removes `NodeIndex` in favour of uniform
use of `usize` as the index type. As well as making the code slightly
more concise, it also slightly speeds things up.
2019-09-17 15:32:29 +10:00