]> git.lizzy.rs Git - rust.git/log
rust.git
5 years agoAuto merge of #60969 - Centril:rollup-3j71mqj, r=Centril
bors [Mon, 20 May 2019 00:37:48 +0000 (00:37 +0000)]
Auto merge of #60969 - Centril:rollup-3j71mqj, r=Centril

Rollup of 6 pull requests

Successful merges:

 - #60590 (Test interaction of unions with non-zero/niche-filling optimization)
 - #60745 (Perform constant propagation into terminators)
 - #60895 (Enable thumbv7a-pc-windows-msvc target build end to end in rust/master)
 - #60908 (Fix lints handling in rustdoc)
 - #60960 (Stop using gensyms in HIR lowering)
 - #60962 (Fix data types indication)

Failed merges:

r? @ghost

5 years agoRollup merge of #60962 - VeryTastyTomato:patch-1, r=jonas-schievink
Mazdak Farrokhzad [Sun, 19 May 2019 23:01:44 +0000 (01:01 +0200)]
Rollup merge of #60962 - VeryTastyTomato:patch-1, r=jonas-schievink

Fix data types indication

Fix the data types indication in basic examples of the Trait std::fmt::LowerExp and std::fmt::UpperExp.
Since there aren’t any type annotation on the let statement using the number 42.0, they are of type f64 according to The Book:
https://doc.rust-lang.org/book/ch03-02-data-types.html#floating-point-types

5 years agoRollup merge of #60960 - matthewjasper:remove-lowering-gensym, r=petrochenkov
Mazdak Farrokhzad [Sun, 19 May 2019 23:01:42 +0000 (01:01 +0200)]
Rollup merge of #60960 - matthewjasper:remove-lowering-gensym, r=petrochenkov

Stop using gensyms in HIR lowering

These names aren't ever handled by resolve, so there's no reason to
make them gensyms.

Diagnostics wanting to behave differently for these variables should
inspect either the `MatchSource`/`LocalSource` or the `Span`. All
current diagnostics appear to do this.

r? @petrochenkov

5 years agoRollup merge of #60908 - GuillaumeGomez:errors, r=oli-obk
Mazdak Farrokhzad [Sun, 19 May 2019 23:01:41 +0000 (01:01 +0200)]
Rollup merge of #60908 - GuillaumeGomez:errors, r=oli-obk

Fix lints handling in rustdoc

Part of #60664: now lints are handled just like any other lints you would setup in rustc. Still remains to handle `missing code examples` and `missing_docs` as part of the same group.

r? @oli-obk

5 years agoRollup merge of #60895 - chandde:master, r=alexcrichton
Mazdak Farrokhzad [Sun, 19 May 2019 23:01:39 +0000 (01:01 +0200)]
Rollup merge of #60895 - chandde:master, r=alexcrichton

Enable thumbv7a-pc-windows-msvc target build end to end in rust/master

With this PR, plus another commit https://github.com/rust-lang-nursery/compiler-builtins/commit/cf98161da7ed5217b6031796f0f60b4dd07148a4, I'm able to build the target thumbv7a-pc-windows-msvc successfully, and I'm able to use the stage2 artifacts to build arm32 projects. The commit in compiler_builtins is in release 0.1.14, the current cargo.lock in rust master still uses 0.1.12, so I bumped the compiler_builtins version in cargo.lock to 0.1.15

The command I used to build rust
```
c:\python27\python.exe x.py build --host x86_64-pc-windows-msvc --build x86_64-pc-windows-msvc --target thumbv7a-pc-windows-msvc --verbose
```

**Changes**
1. update cargolock to use compiler_builtins 0.1.15
2. handle libunwind in libtest for thumv7a the same as what we have for aarch64
3. in llvm codegen add a field in CodegenContext to carry the arch, so later in create_msvc_imps function, the arch can be used to check against "x86", instead of 32 pointer width. Apparently Thumv7a is handled differently than x86.

**Background**
I'm from Microsoft working on enabling Azure IoTEdge on ARM32 Windows IoTCore, Azure IoTEdge has a component called IoTEdged written in rust as a NT service running on Windows, so we need to enable rust on thumbv7a in order to have full IoTEdge. My colleague had made some heavy lifting and we've been using our private toolchain to build IoTEdged in our devops pipeline, because at that time we cannot build thumbv7a target end to end successfully. This change is a followup to enable the end to end build for thumbv7a-pc-windows-msvc target.

**Next step**
I'll submit more changes to have this target built nightly in rust/master, to achieve the same availability for aarch64-pc-windows-msvc, indexed here https://rust-lang.github.io/rustup-components-history/aarch64-pc-windows-msvc.html and can be manually installed. **Please do share what takes to make this happen, is there a formal process I need to follow\?**

5 years agoRollup merge of #60745 - wesleywiser:const_prop_into_terminators, r=oli-obk
Mazdak Farrokhzad [Sun, 19 May 2019 23:01:38 +0000 (01:01 +0200)]
Rollup merge of #60745 - wesleywiser:const_prop_into_terminators, r=oli-obk

Perform constant propagation into terminators

Perform constant propagation into MIR `Assert` and `SwitchInt` `Terminator`s which in some cases allows them to be removed by the branch simplification pass.

r? @oli-obk

5 years agoRollup merge of #60590 - petertodd:2018-test-union-nonzero, r=nikomatsakis,Centril
Mazdak Farrokhzad [Sun, 19 May 2019 23:01:37 +0000 (01:01 +0200)]
Rollup merge of #60590 - petertodd:2018-test-union-nonzero, r=nikomatsakis,Centril

Test interaction of unions with non-zero/niche-filling optimization

Notably this nails down part of the behavior that MaybeUninit assumes, e.g. that a Option<MaybeUninit<&u8>> does not take advantage of non-zero optimization, and thus is a safe construct.

It also verifies the status quo: that even unions that could theoretically take advantage of niches don't. (relevant: https://github.com/rust-lang/rust/issues/36394)

5 years agoAuto merge of #60272 - Jakst:patch-1, r=Manishearth
bors [Sun, 19 May 2019 21:36:15 +0000 (21:36 +0000)]
Auto merge of #60272 - Jakst:patch-1, r=Manishearth

Explicitly set height on rust logo <img> element in docs

The layout of the left side menu in docs reflows when navigating between pages because of missing height on the <img> element of rust logo.

Setting height='100' tells the browser to reserve that vertical space, leading to a less janky experience.

5 years ago[const-prop] Don't const-prop into terminators unless mir-opt-level >= 2
Wesley Wiser [Sat, 11 May 2019 16:33:10 +0000 (12:33 -0400)]
[const-prop] Don't const-prop into terminators unless mir-opt-level >= 2

5 years ago[const-prop] Remove catch all match and add FIXME
Wesley Wiser [Sat, 11 May 2019 16:28:53 +0000 (12:28 -0400)]
[const-prop] Remove catch all match and add FIXME

5 years ago[const-prop] Support propagating into SwitchInt's `discr` Operand
Wesley Wiser [Sat, 11 May 2019 15:24:14 +0000 (11:24 -0400)]
[const-prop] Support propagating into SwitchInt's `discr` Operand

5 years ago[const-prop] Support propagating into Assert's `cond` Operand
Wesley Wiser [Sat, 11 May 2019 14:55:34 +0000 (10:55 -0400)]
[const-prop] Support propagating into Assert's `cond` Operand

5 years agoAuto merge of #60065 - QuietMisdreavus:async-move-doctests, r=ollie27
bors [Sun, 19 May 2019 16:48:12 +0000 (16:48 +0000)]
Auto merge of #60065 - QuietMisdreavus:async-move-doctests, r=ollie27

rustdoc: set the default edition when pre-parsing a doctest

Fixes https://github.com/rust-lang/rust/issues/59313 (possibly more? i think we've had issues with parsing edition-specific syntax in doctests at some point)

When handling a doctest, rustdoc needs to parse it beforehand, so that it can see whether it declares a `fn main` or `extern crate my_crate` explicitly. However, while doing this, rustdoc doesn't set the "default edition" used by the parser like the regular compilation runs do. This caused a problem when parsing a doctest with an `async move` block in it, since it was expecting the `move` keyword to start a closure, not a block.

This PR changes the `rustdoc::test::make_test` function to set the parser's default edition while looking for a main function and `extern crate` statement. However, to do this, `make_test` needs to know what edition to set. Since this is also used during the HTML rendering process (to make playground URLs), now the HTML renderer needs to know about the default edition. Upshot: rendering standalone markdown files can now accept a "default edition" for their doctests with the `--edition` flag! (I'm pretty sure i waffled around how to set that a long time ago when we first added the `--edition` flag... `>_>`)

I'm posting this before i stop for the night so that i can write this description while it's still in my head, but before this merges i want to make sure that (1) the `rustdoc-ui/failed-doctest-output` test still works (i expect it doesn't), and (2) i add a test with the sample from the linked issue.

5 years agoFix data types indication
VeryTastyTomato [Sun, 19 May 2019 13:51:46 +0000 (13:51 +0000)]
Fix data types indication

Fix the data types indication in basic examples of the Trait std::fmt::LowerExp and std::fmt::UpperExp.
Since there aren’t any type annotation on the let statement using the number 42.0, they are of type f64 according to The Book:
https://doc.rust-lang.org/book/ch03-02-data-types.html#floating-point-types

5 years agoStop using gensyms in HIR lowering
Matthew Jasper [Sun, 19 May 2019 12:00:28 +0000 (13:00 +0100)]
Stop using gensyms in HIR lowering

These names aren't ever handled by resolve, so there's no reason to
make them gensyms.

5 years agoAuto merge of #60946 - Xanewok:update-rls, r=oli-obk
bors [Sun, 19 May 2019 11:51:34 +0000 (11:51 +0000)]
Auto merge of #60946 - Xanewok:update-rls, r=oli-obk

Update RLS

Includes a fix (https://github.com/rust-lang/rls/pull/1462) for breakage due to Cargo update PR (https://github.com/rust-lang/rust/pull/60874)

r? @Manishearth @oli-obk @ehuss

5 years agoAuto merge of #60937 - RalfJung:miri, r=oli-obk
bors [Sun, 19 May 2019 08:56:24 +0000 (08:56 +0000)]
Auto merge of #60937 - RalfJung:miri, r=oli-obk

update Miri

r? @oli-obk

5 years agoAuto merge of #60760 - GuillaumeGomez:generic-display, r=varkor,badboy
bors [Sun, 19 May 2019 06:06:12 +0000 (06:06 +0000)]
Auto merge of #60760 - GuillaumeGomez:generic-display, r=varkor,badboy

Fix display of const generics in rustdoc

<img width="745" alt="Screenshot 2019-05-18 at 15 45 22" src="https://user-images.githubusercontent.com/3050060/57970638-04854e80-7984-11e9-9f04-da6b51ec8bc7.png">

Part of #60737.

cc @varkor

r? @badboy

5 years agoMake clear that status quo ≠ guarantee
Peter Todd [Sun, 19 May 2019 02:27:33 +0000 (22:27 -0400)]
Make clear that status quo ≠ guarantee

5 years agoAuto merge of #60949 - Centril:rollup-f918e1v, r=Centril
bors [Sun, 19 May 2019 01:56:14 +0000 (01:56 +0000)]
Auto merge of #60949 - Centril:rollup-f918e1v, r=Centril

Rollup of 8 pull requests

Successful merges:

 - #60370 (Mark core::alloc::Layout::from_size_align_unchecked const)
 - #60678 (Stabilize vecdeque_rotate)
 - #60924 (Explain that ? converts the error type using From)
 - #60931 (Use iter() for iterating arrays by slice)
 - #60934 (Declare DefIndex with the newtype_index macro)
 - #60943 (fix copy-paste typo in docs for ptr::read_volatile)
 - #60945 (Simplify BufRead::fill_buf doc example using NLL)
 - #60947 (Fix typos in docs of GlobalAlloc)

Failed merges:

r? @ghost

5 years agoRollup merge of #60947 - blkerby:global_alloc_typo, r=jonas-schievink
Mazdak Farrokhzad [Sun, 19 May 2019 00:31:46 +0000 (02:31 +0200)]
Rollup merge of #60947 - blkerby:global_alloc_typo, r=jonas-schievink

Fix typos in docs of GlobalAlloc

5 years agoRollup merge of #60945 - blkerby:fill_buf_nll_doc_example, r=shepmaster
Mazdak Farrokhzad [Sun, 19 May 2019 00:31:44 +0000 (02:31 +0200)]
Rollup merge of #60945 - blkerby:fill_buf_nll_doc_example, r=shepmaster

Simplify BufRead::fill_buf doc example using NLL

With non-lexical lifetimes, in this example it is no longer necessary to use a block to end the borrow early.

5 years agoRollup merge of #60943 - blkerby:master, r=Mark-Simulacrum
Mazdak Farrokhzad [Sun, 19 May 2019 00:31:43 +0000 (02:31 +0200)]
Rollup merge of #60943 - blkerby:master, r=Mark-Simulacrum

fix copy-paste typo in docs for ptr::read_volatile

5 years agoRollup merge of #60934 - fabric-and-ink:defindex_with_newtype_macro, r=petrochenkov
Mazdak Farrokhzad [Sun, 19 May 2019 00:31:42 +0000 (02:31 +0200)]
Rollup merge of #60934 - fabric-and-ink:defindex_with_newtype_macro, r=petrochenkov

Declare DefIndex with the newtype_index macro

See #60666

5 years agoRollup merge of #60931 - cuviper:array-iter, r=KodrAus
Mazdak Farrokhzad [Sun, 19 May 2019 00:31:40 +0000 (02:31 +0200)]
Rollup merge of #60931 - cuviper:array-iter, r=KodrAus

Use iter() for iterating arrays by slice

These `into_iter()` calls will change from iterating references to
values if we ever get `IntoIterator` for arrays, which may break the
code using that iterator. Calling `iter()` is future proof.

5 years agoRollup merge of #60924 - estebank:try-msg, r=petrochenkov
Mazdak Farrokhzad [Sun, 19 May 2019 00:31:39 +0000 (02:31 +0200)]
Rollup merge of #60924 - estebank:try-msg, r=petrochenkov

Explain that ? converts the error type using From

Fix #60917.

5 years agoRollup merge of #60678 - DutchGhost:master, r=scottmcm
Mazdak Farrokhzad [Sun, 19 May 2019 00:31:35 +0000 (02:31 +0200)]
Rollup merge of #60678 - DutchGhost:master, r=scottmcm

Stabilize vecdeque_rotate

This PR stabilizes the vecdeque_rotate feature.
r? @scottmcm

Closes https://github.com/rust-lang/rust/issues/56686

5 years agoRollup merge of #60370 - Richard-W:const-layout-construction, r=sfackler
Mazdak Farrokhzad [Sun, 19 May 2019 00:31:32 +0000 (02:31 +0200)]
Rollup merge of #60370 - Richard-W:const-layout-construction, r=sfackler

Mark core::alloc::Layout::from_size_align_unchecked const

Makes it possible (pending stabilization of #57563 (`const_fn`)) to rewrite code like

```rust
const BUFFER_SIZE: usize = 0x2000;
const BUFFER_ALIGN: usize = 0x1000;

fn foo() {
  let layout = std::alloc::Layout::from_size_align(BUFFER_SIZE, BUFFER_ALIGN)
    .unwrap();
  let buffer = std::alloc::alloc(layout);
}
```
to
```rust
const BUFFER_LAYOUT: std::alloc::Layout = unsafe {
  std::alloc::Layout::from_size_align_unchecked(0x2000, 0x1000)
};

fn foo() {
  let buffer = std::alloc::alloc(BUFFER_LAYOUT);
}
```

which (although `unsafe` is used) looks somewhat cleaner and is easier to read.

5 years agoFix typos in docs of GlobalAlloc
Brent Kerby [Sat, 18 May 2019 22:22:59 +0000 (16:22 -0600)]
Fix typos in docs of GlobalAlloc

5 years agoReverse RLS toolstate check override
Igor Matuszewski [Sat, 18 May 2019 21:59:57 +0000 (23:59 +0200)]
Reverse RLS toolstate check override

As per https://github.com/rust-lang/rust/pull/60946#issuecomment-493707005

5 years agoUpdate RLS
Igor Matuszewski [Sat, 18 May 2019 20:54:33 +0000 (22:54 +0200)]
Update RLS

5 years agoAuto merge of #60093 - GuillaumeGomez:fix-attrs-pos, r=Manishearth
bors [Sat, 18 May 2019 20:49:22 +0000 (20:49 +0000)]
Auto merge of #60093 - GuillaumeGomez:fix-attrs-pos, r=Manishearth

Fix attrs pos

Fixes #60042.

Screenshot:

<img width="438" alt="Screenshot 2019-05-12 at 15 02 25" src="https://user-images.githubusercontent.com/3050060/57582606-1455ec00-74c7-11e9-9d4e-5ec4da4de7dd.png">

r? @rust-lang/rustdoc

5 years agoSimplify BufRead doc example using NLL
Brent Kerby [Sat, 18 May 2019 18:38:06 +0000 (12:38 -0600)]
Simplify BufRead doc example using NLL

5 years agoAuto merge of #60940 - Manishearth:clippyup, r=Manishearth
bors [Sat, 18 May 2019 17:57:55 +0000 (17:57 +0000)]
Auto merge of #60940 - Manishearth:clippyup, r=Manishearth

Update clippy

Contains https://github.com/rust-lang/rust-clippy/pull/4110

Should fix RLS

r? @ghost

5 years agofix copy-paste typo in docs for ptr::read_volatile
Brent Kerby [Sat, 18 May 2019 16:03:12 +0000 (10:03 -0600)]
fix copy-paste typo in docs for ptr::read_volatile

5 years agoUpdate clippy
Manish Goregaokar [Sat, 18 May 2019 15:32:50 +0000 (08:32 -0700)]
Update clippy

5 years agoAuto merge of #60252 - davidtwco:issue-57672, r=Mark-Simulacrum
bors [Sat, 18 May 2019 15:07:38 +0000 (15:07 +0000)]
Auto merge of #60252 - davidtwco:issue-57672, r=Mark-Simulacrum

Don't suggest changing extern crate w/ alias to use.

Fixes #57672.

5 years agoFix display of const generics in rustdoc
Guillaume Gomez [Sun, 12 May 2019 14:53:39 +0000 (16:53 +0200)]
Fix display of const generics in rustdoc

5 years agoupdate miri
Ralf Jung [Sat, 18 May 2019 12:40:34 +0000 (14:40 +0200)]
update miri

5 years agoexpand comment in StorageLive
Ralf Jung [Sat, 18 May 2019 12:40:17 +0000 (14:40 +0200)]
expand comment in StorageLive

5 years agoDeclare DefIndex with the newtype_index macro
Fabian Drinck [Sat, 18 May 2019 11:19:33 +0000 (13:19 +0200)]
Declare DefIndex with the newtype_index macro

5 years agoFix tests not running locally
Guillaume Gomez [Sat, 18 May 2019 10:42:13 +0000 (12:42 +0200)]
Fix tests not running locally

5 years agoUpdate rustdoc-ui tests
Guillaume Gomez [Fri, 17 May 2019 11:39:20 +0000 (13:39 +0200)]
Update rustdoc-ui tests

5 years agoFix lints handling in rustdoc
Guillaume Gomez [Thu, 16 May 2019 16:31:53 +0000 (18:31 +0200)]
Fix lints handling in rustdoc

5 years agoAuto merge of #60386 - Goirad:sgx-ignore-tests, r=nikomatsakis
bors [Sat, 18 May 2019 09:04:14 +0000 (09:04 +0000)]
Auto merge of #60386 - Goirad:sgx-ignore-tests, r=nikomatsakis

Added ignore-sgx for appropriate tests in src/test

These are all the tests that make sense to ignore when targeting fortanix-unknonw-sgx, at least in test/runpass. Other suites not yet covered.

5 years agofix line length
chandde [Sat, 18 May 2019 07:49:54 +0000 (00:49 -0700)]
fix line length

5 years agooptimize the arm64 OR arm32 check
chandde [Sat, 18 May 2019 03:45:25 +0000 (20:45 -0700)]
optimize the arm64 OR arm32 check

5 years agoUse iter() for iterating arrays by slice
Josh Stone [Sat, 18 May 2019 02:56:35 +0000 (19:56 -0700)]
Use iter() for iterating arrays by slice

These `into_iter()` calls will change from iterating references to
values if we ever get `IntoIterator` for arrays, which may break the
code using that iterator. Calling `iter()` is future proof.

5 years agoAuto merge of #60910 - nnethercote:avoid-some-unnecessary-interning, r=petrochenkov
bors [Sat, 18 May 2019 02:10:21 +0000 (02:10 +0000)]
Auto merge of #60910 - nnethercote:avoid-some-unnecessary-interning, r=petrochenkov

Avoid some unnecessary interning

r? @petrochenkov

5 years agoAuto merge of #49799 - hdhoang:46205_deny_incoherent_fundamental_impls, r=nikomatsakis
bors [Fri, 17 May 2019 23:06:51 +0000 (23:06 +0000)]
Auto merge of #49799 - hdhoang:46205_deny_incoherent_fundamental_impls, r=nikomatsakis

lint: convert incoherent_fundamental_impls into hard error

*Summary for affected authors:* If your crate depends on one of the following crates, please upgrade to a newer version:
- gtk-rs: upgrade to at least 0.4
- rusqlite: upgrade to at least 0.14
- nalgebra: upgrade to at least 0.15, or the last patch version of 0.14
- spade: upgrade or refresh the Cargo.lock file to use version 1.7
- imageproc: upgrade to at least 0.16 (newer versions no longer use nalgebra)

implement #46205

r? @nikomatsakis

5 years agoAuto merge of #60920 - Manishearth:rollup-p4xp4gk, r=Manishearth
bors [Fri, 17 May 2019 20:02:13 +0000 (20:02 +0000)]
Auto merge of #60920 - Manishearth:rollup-p4xp4gk, r=Manishearth

Rollup of 4 pull requests

Successful merges:

 - #60791 (Update books)
 - #60891 (Allow claiming issues with triagebot)
 - #60901 (Handle more string addition cases with appropriate suggestions)
 - #60902 (Prevent Error::type_id overrides)

Failed merges:

r? @ghost

5 years agoExplain that ? converts the error type using From
Esteban Küber [Fri, 17 May 2019 19:18:56 +0000 (12:18 -0700)]
Explain that ? converts the error type using From

5 years agoRollup merge of #60902 - sfackler:fix-error-soudness, r=alexcrichton
Manish Goregaokar [Fri, 17 May 2019 18:34:13 +0000 (11:34 -0700)]
Rollup merge of #60902 - sfackler:fix-error-soudness, r=alexcrichton

Prevent Error::type_id overrides

type_id now takes an argument that can't be named outside of the
std::error module, which prevents any implementations from overriding
it. It's a pretty grody solution, and there's no way we can stabilize
the method with this API, but it avoids the soudness issue!

Closes #60784

r? @alexcrichton

5 years agoRollup merge of #60901 - estebank:str-str-str, r=Centril
Manish Goregaokar [Fri, 17 May 2019 18:34:12 +0000 (11:34 -0700)]
Rollup merge of #60901 - estebank:str-str-str, r=Centril

Handle more string addition cases with appropriate suggestions

5 years agoRollup merge of #60891 - jonas-schievink:triagebot-claim, r=Mark-Simulacrum
Manish Goregaokar [Fri, 17 May 2019 18:34:10 +0000 (11:34 -0700)]
Rollup merge of #60891 - jonas-schievink:triagebot-claim, r=Mark-Simulacrum

Allow claiming issues with triagebot

Not sure if this was intentionally left out, but it can probably be enabled now that https://github.com/rust-lang/triagebot/issues/3 is fixed (assuming that the deployed commit is recent enough). People have tried to use it already (https://github.com/rust-lang/rust/issues/60622#issuecomment-493212465).

r? @Mark-Simulacrum

5 years agoRollup merge of #60791 - ehuss:update-books, r=Mark-Simulacrum
Manish Goregaokar [Fri, 17 May 2019 18:34:08 +0000 (11:34 -0700)]
Rollup merge of #60791 - ehuss:update-books, r=Mark-Simulacrum

Update books

## nomicon

1 commits in fb29b147be4d9a1f8e24aba753a7e1de537abf61..c656171b749b7307f21371dd0d3278efee5573b8
2019-04-22 19:10:29 -0400 to 2019-04-25 15:31:26 -0400
- Lifetimes: Updates to incorporate NLL (rust-lang-nursery/nomicon#101)

## reference

5 commits in 2a2de9ce095979978ad7b582daecf94e4070b916..862b669c395822bb0938781d74f860e5762ad4fb
2019-04-22 10:25:52 -0700 to 2019-05-04 23:41:35 -0700
- Typo (rust-lang-nursery/reference#606)
- Added missing ? to Generics from InherentImpl and TraitImpl (rust-lang-nursery/reference#604)
- Add missing ( to ExternalFunctionItem (rust-lang-nursery/reference#603)
- Remove unneeded | from AssignmentExpression (rust-lang-nursery/reference#601)
- Remove unneeded ( from TypePathSegment (rust-lang-nursery/reference#602)

## book

6 commits in db919bc6bb9071566e9c4f05053672133eaac33e..29fe982990e43b9367be0ff47abc82fb2123fd03
2019-04-15 20:11:03 -0400 to 2019-05-15 17:48:40 -0400
- Ignore a non-compiling test listing and add code to fix a test listing
- Remove nostarch snapshots I've checked in layout
- Reword error messages to maybe not need to wrap lines in print
- This example doesn't compile but wasn't marked as such
- Update install instructions for VS 2019 (rust-lang/book#1923)
- Switch IRC to Discord

## rust-by-example

9 commits in 1ff0f8e018838a710ebc0cc1a7bf74ebe73ad9f1..811c697b232c611ed754d279ed20643a0c4096f6
2019-04-15 08:15:32 -0300 to 2019-04-28 18:56:42 -0300
- Fix typo in dsl.md (rust-lang/rust-by-example#1187)
- File read lines (rust-lang/rust-by-example#1186)
- For https://github.com/rust-lang/rust-by-example/issues/1184 closes rust-lang/rust-by-example#1184 (rust-lang/rust-by-example#1185)
- Link to Reference for macro_rules designators (rust-lang/rust-by-example#1182)
- Improve section Meta/Docs (rust-lang/rust-by-example#1183)
- Small improvements to various files (rust-lang/rust-by-example#1173)
- 19.2 Vectors Error in Code Example (rust-lang/rust-by-example#1178)
- For https://github.com/rust-lang/rust-by-example/issues/1175 (rust-lang/rust-by-example#1176)
- For https://github.com/rust-lang/rust-by-example/issues/1179 (rust-lang/rust-by-example#1180)

## rustc-guide

12 commits in 99e1b1d53656be08654df399fc200584aebb50e4..3cb727b62b953d59b4360d39aa68b6dc8f157655
2019-04-20 09:57:54 -0500 to 2019-05-07 09:53:32 -0500
- Fix typo, 'which' repeated twice
- [canonicalization] fix result canonicalization example (rust-lang/rustc-guide#304)
- Rename to RUSTC_LOG
- Added mention of universal ctags
- Fix link in walkthrough
- Remove IRC from discussion chats
- Bring the updating LLVM guide up to date
- use nightly rust for ci
- Fixed broken chalk links
- Add documentation for two-phase borrows
- Explain new powers of the `treat-err-as-bug` flag
- Update lowering-module test case

## edition-guide

3 commits in c413d42a207bd082f801ec0137c31b71e4bfed4c..581c6cccfaf995394ea9dcac362dc8e731c18558
2019-04-22 01:14:56 +0200 to 2019-05-06 12:47:44 -0700
- Fix typo in controlling-panics-with-std-panic.md (rust-lang-nursery/edition-guide#158)
- Fix links for book editions. (rust-lang-nursery/edition-guide#149)
- Update now that NLL is enabled in 2015. (rust-lang-nursery/edition-guide#157)

## embedded-book

3 commits in de3d55f521e657863df45260ebbca1b10527f662..9858872bd1b7dbba5ec27dc30d34eba00acd7ef9
2019-04-22 12:58:28 +0000 to 2019-05-02 18:56:54 +0000
- Update linux.md  (rust-embedded/book#167)
- Clarify list of available targets for installation  (rust-embedded/book#165)
- minor grammar fix  (rust-embedded/book#188)

5 years agoAccount for &String + String
Esteban Küber [Fri, 17 May 2019 17:45:54 +0000 (10:45 -0700)]
Account for &String + String

5 years agoAuto merge of #60841 - alexcrichton:update-compiler-builtins, r=RalfJung
bors [Fri, 17 May 2019 16:11:20 +0000 (16:11 +0000)]
Auto merge of #60841 - alexcrichton:update-compiler-builtins, r=RalfJung

Update the compiler_builtins crate

This updates to 0.1.13 for `compiler_builtins`, published to fix a few
issues. The feature changes here are updated because `compiler_builtins`
no longer enables the `c` feature by default but we want to do so
through our build still.

Closes #60747
Closes #60782

5 years agoUpdate the compiler_builtins crate
Alex Crichton [Tue, 14 May 2019 21:43:43 +0000 (14:43 -0700)]
Update the compiler_builtins crate

This updates to 0.1.13 for `compiler_builtins`, published to fix a few
issues. The feature changes here are updated because `compiler_builtins`
no longer enables the `c` feature by default but we want to do so
through our build still.

Closes #60747
Closes #60782

5 years agoAuto merge of #60171 - matthewjasper:full-nll-compare-mode, r=pnkfelix
bors [Fri, 17 May 2019 13:01:23 +0000 (13:01 +0000)]
Auto merge of #60171 - matthewjasper:full-nll-compare-mode, r=pnkfelix

Use -Zborrowck=mir for NLL compare mode

closes #56993

r? @pnkfelix

5 years agoAuto merge of #60892 - davidtwco:issue-60622, r=oli-obk
bors [Fri, 17 May 2019 10:14:19 +0000 (10:14 +0000)]
Auto merge of #60892 - davidtwco:issue-60622, r=oli-obk

Checking generic args after late bound region err.

Fixes #60622.

This PR fixes an ICE that occurs when a late bound region error is
emitted and that resulted in the rest of the generic arguments of a
function not being checked.

For example, you could specify a generic type parameter `T` in a function
call `foo<'_, T>()` to a function that doesn't have a generic type
parameter.

Since an error wasn't emitted from the function, compilation
continued to parts of typeck that didn't expect a generic type argument
in a call for a function that didn't have any generic type arguments.

5 years agoAvoid unnecessary interning in `DefPathData::as_interned_str()`.
Nicholas Nethercote [Fri, 17 May 2019 08:47:49 +0000 (18:47 +1000)]
Avoid unnecessary interning in `DefPathData::as_interned_str()`.

5 years agoAvoid unnecessary interning in `Ident::from_str()` calls.
Nicholas Nethercote [Fri, 17 May 2019 08:37:53 +0000 (18:37 +1000)]
Avoid unnecessary interning in `Ident::from_str()` calls.

A lot of these static symbols are pre-interned.

5 years agoChange `rustc::util::common::FN_OUTPUT_NAME` to a `Symbol`.
Nicholas Nethercote [Fri, 17 May 2019 05:21:31 +0000 (15:21 +1000)]
Change `rustc::util::common::FN_OUTPUT_NAME` to a `Symbol`.

5 years agoChecking generic args after late bound region err.
David Wood [Thu, 16 May 2019 21:00:27 +0000 (22:00 +0100)]
Checking generic args after late bound region err.

This commit fixes an ICE that occurs when a late bound region error is
emitted and that resulted in the rest of the generic arguments of a
function not being checked.

For example, you could specify a generic type parameter `T` in a function
call `foo<'_, T>()` to a function that doesn't have a generic type
parameter.

Since an error wasn't emitted from the function, compilation
continued to parts of typeck that didn't expect a generic type argument
in a call for a function that didn't have any generic type arguments.

5 years agoAuto merge of #60899 - cuviper:RawEntryMut-origin-story, r=Centril
bors [Fri, 17 May 2019 07:24:16 +0000 (07:24 +0000)]
Auto merge of #60899 - cuviper:RawEntryMut-origin-story, r=Centril

doc: correct the origin of RawEntryMut

5 years agoreview comments
Esteban Küber [Fri, 17 May 2019 03:05:00 +0000 (20:05 -0700)]
review comments

5 years agoAuto merge of #60817 - ecstatic-morse:issue-60779, r=Centril
bors [Fri, 17 May 2019 03:52:27 +0000 (03:52 +0000)]
Auto merge of #60817 - ecstatic-morse:issue-60779, r=Centril

Add stubs to keyword docs

Resolves #60779.

This commit gives each stable keyword a short entry in the "Keywords" section in the docs for `std`. The newly added entries are only a single line each and contain the main purpose of the keyword. I changed some of the existing summary lines for consistency's sake. Each line is either an imperative ("name the type of a trait object" for `dyn`), or an object ("An abstract data type" for `enum`). I tried to avoid using the keyword itself or the word "keyword" in the summary.

Later commits can flesh out each keyword with an example for each context in which it can appear as well as a link to the appropriate part of the rust book.

**edit:**
Here's the list of keywords and summaries (sans formatting) to ease reviewing. I'll try to keep this up to date as I make changes:

keyword | summary
-- | --
Self | The implementing type within a `trait` or `impl` block, or the current type within a type definition.
as | Cast between types, or rename an import.
async | ExperimentalReturn a Future instead of blocking the current thread.
await | ExperimentalSuspend execution until the result of a Future is ready.
break | Exit early from a loop.
const | Compile-time constants and deterministic functions.
continue | Skip to the next iteration of a loop.
crate | A Rust binary or library.
dyn | Name the type of a trait object.
else | What to do when an if condition does not hold.
enum | A type that can be any one of several variants.
extern | Link to or import external code.
false | A value of type bool representing logical false.
fn | A function or function pointer.
for | Iteration with in, trait implementation with impl, or higher-ranked trait bounds (for<'a>).
if | Evaluate a block if a condition holds.
impl | Implement some functionality for a type.
in | Iterate over a series of values with for.
let | Bind a value to a variable.
loop | Loop indefinitely.
match | Control flow based on pattern matching.
mod | Organize code into modules.
move | Capture a closure's environment by value.
mut | A mutable binding, reference, or pointer.
pub | Make an item visible to others.
ref | Bind by reference during pattern matching.
return | Return a value from a function.
self | The receiver of a method, or the current module.
static | A place that is valid for the duration of a program.
struct | A type that is composed of other types.
super | The parent of the current module.
trait | A common interface for a class of types.
true | A value of type bool representing logical true.
type | Define an alias for an existing type.
union | The Rust equivalent of a C-style union.
unsafe | Code or interfaces whose memory safety cannot be verified by the type system.
use | Import or rename items from other crates or modules.
where | Add constraints that must be upheld to use an item.
while | Loop while a condition is upheld.

5 years agoUpdate src/libstd/error.rs
Steven Fackler [Fri, 17 May 2019 03:18:29 +0000 (20:18 -0700)]
Update src/libstd/error.rs

Co-Authored-By: Mazdak Farrokhzad <twingoow@gmail.com>
5 years agoFix binop span
Esteban Küber [Fri, 17 May 2019 02:56:11 +0000 (19:56 -0700)]
Fix binop span

5 years agoPrevent Error::type_id overrides
Steven Fackler [Fri, 17 May 2019 02:48:13 +0000 (19:48 -0700)]
Prevent Error::type_id overrides

type_id now takes an argument that can't be named outside of the
std::error module, which prevents any implementations from overriding
it. It's a pretty grody solution, and there's no way we can stabilize
the method with this API, but it avoids the soudness issue!

Closes #60784

5 years agoHandle more string addition cases with appropriate suggestions
Esteban Küber [Fri, 17 May 2019 02:29:02 +0000 (19:29 -0700)]
Handle more string addition cases with appropriate suggestions

5 years agodoc: correct the origin of RawEntryMut
Josh Stone [Fri, 17 May 2019 01:15:09 +0000 (18:15 -0700)]
doc: correct the origin of RawEntryMut

5 years agoAuto merge of #60898 - Centril:rollup-76o2g8a, r=Centril
bors [Fri, 17 May 2019 00:55:01 +0000 (00:55 +0000)]
Auto merge of #60898 - Centril:rollup-76o2g8a, r=Centril

Rollup of 6 pull requests

Successful merges:

 - #60685 (Switch to SPDX 2.1 license expression)
 - #60687 (Fix .natvis visualizers.)
 - #60805 (remove compiletest's dependency on `filetime`)
 - #60862 (Get ty from local_decls instead of using Place)
 - #60873 (Parse alternative incorrect uses of await and recover)
 - #60894 (Add entry-like methods to HashSet)

Failed merges:

r? @ghost

5 years agoRollup merge of #60894 - cuviper:hash_set_entry, r=cramertj,Centril
Mazdak Farrokhzad [Fri, 17 May 2019 00:54:18 +0000 (02:54 +0200)]
Rollup merge of #60894 - cuviper:hash_set_entry, r=cramertj,Centril

Add entry-like methods to HashSet

* `HashSet::get_or_insert`
* `HashSet::get_or_insert_with`

These provide a simplification of the `Entry` API for `HashSet`, with
names chosen to match the similar methods on `Option`.

5 years agoRollup merge of #60873 - estebank:bad-await, r=Centril
Mazdak Farrokhzad [Fri, 17 May 2019 00:54:17 +0000 (02:54 +0200)]
Rollup merge of #60873 - estebank:bad-await, r=Centril

Parse alternative incorrect uses of await and recover

Fix #60613.

r? @Centril

5 years agoRollup merge of #60862 - spastorino:get-ty-from-local_decls, r=oli-obk
Mazdak Farrokhzad [Fri, 17 May 2019 00:54:16 +0000 (02:54 +0200)]
Rollup merge of #60862 - spastorino:get-ty-from-local_decls, r=oli-obk

Get ty from local_decls instead of using Place

r? @oli-obk This is from one of your review on Place 2.0

5 years agoRollup merge of #60805 - euclio:filetime-dep, r=Mark-Simulacrum
Mazdak Farrokhzad [Fri, 17 May 2019 00:54:14 +0000 (02:54 +0200)]
Rollup merge of #60805 - euclio:filetime-dep, r=Mark-Simulacrum

remove compiletest's dependency on `filetime`

5 years agoRollup merge of #60687 - MaulingMonkey:pr-fix-natvis-files, r=alexcrichton
Mazdak Farrokhzad [Fri, 17 May 2019 00:54:13 +0000 (02:54 +0200)]
Rollup merge of #60687 - MaulingMonkey:pr-fix-natvis-files, r=alexcrichton

Fix .natvis visualizers.

### Updated to handle these changes:
  - `core::ptr::*` lost their `__0` elements and are just plain pointers
  - `core::ptr::*` probably shouldn't dereference in `DisplayString` s
  - `VecDeque` probably *should* dereference it's buf pointer to display individual items.
  - `VecDeque` and `Vec` use `core::ptr::*` s
  - `VecDeque` and `LinkedList` moved modules again.

### Retested - still working fine, left alone:
  - `String`, `&str`, `Option`

### Side Chatter
  - Props to Alex for pointing out this was broken in the `#ides-and-editors` Discord channel
  - It'd be nice if there was a sane way to automate unit testing these visualizers.
    (I assume COM automation of Visual Studio would be a no go on the build servers, and probably really incredibly painful to write too!  Suggestions welcome...)

5 years agoRollup merge of #60685 - dtolnay:spdx, r=nikomatsakis
Mazdak Farrokhzad [Fri, 17 May 2019 00:54:11 +0000 (02:54 +0200)]
Rollup merge of #60685 - dtolnay:spdx, r=nikomatsakis

Switch to SPDX 2.1 license expression

[According to the Cargo Reference:](https://doc.rust-lang.org/cargo/reference/manifest.html)

> This is an SPDX 2.1 license expression for this package. Currently crates.io will validate the license provided against a whitelist of known license and exception identifiers from the SPDX license list 2.4. Parentheses are not currently supported.
>
> Multiple licenses can be separated with a \`/\`, although that usage is deprecated. Instead, use a license expression with AND and OR operators to get more explicit semantics.

The notation with slashes is deprecated in favor of explicit AND or OR.

As I understand it, Rust's license is MIT *OR* Apache-2.0 matching the meaning of *OR* defined by [SPDX Specification 2.1](https://spdx.org/spdx-specification-21-web-version):

> If presented with a choice between two or more licenses, use the disjunctive binary "OR" operator to construct a new license expression, where both the left and right operands are valid license expression values.

5 years agoComment why get_or_insert returns &T
Josh Stone [Thu, 16 May 2019 23:21:31 +0000 (16:21 -0700)]
Comment why get_or_insert returns &T

5 years agoAdd a hash_set_entry tracking issue
Josh Stone [Thu, 16 May 2019 22:37:01 +0000 (15:37 -0700)]
Add a hash_set_entry tracking issue

5 years agoreview comments
Esteban Küber [Thu, 16 May 2019 22:25:58 +0000 (15:25 -0700)]
review comments

5 years agoAdd entry-like methods to HashSet
Josh Stone [Thu, 16 May 2019 22:10:52 +0000 (15:10 -0700)]
Add entry-like methods to HashSet

* `HashSet::get_or_insert`
* `HashSet::get_or_insert_with`

These provide a simplification of the `Entry` API for `HashSet`, with
names chosen to match the similar methods on `Option`.

5 years agoadd targetarch for CodegenContext
Chandler Deng [Thu, 16 May 2019 22:05:56 +0000 (15:05 -0700)]
add targetarch for CodegenContext

5 years agoAuto merge of #60888 - Manishearth:rollup-oihtoyq, r=Manishearth
bors [Thu, 16 May 2019 21:54:53 +0000 (21:54 +0000)]
Auto merge of #60888 - Manishearth:rollup-oihtoyq, r=Manishearth

Rollup of 5 pull requests

Successful merges:

 - #60207 (Outdent example, preserving nested fence)
 - #60278 (Document the `html_root_url` doc attribute value.)
 - #60597 (Do some simple constant propagation in the ConstProp pass)
 - #60837 (Update release notes for 1.35.0)
 - #60887 (Update clippy)

Failed merges:

r? @ghost

5 years agoAdd all keywords to keyword docs
Dylan MacKenzie [Tue, 14 May 2019 09:32:55 +0000 (02:32 -0700)]
Add all keywords to keyword docs

This commit gives each stable keyword a short entry in the "Keywords"
section in the docs for `std`. The newly added entries are a single
summary line and a note that the documentation is not yet complete.  I
changed some of the existing summary lines for consistency's sake. Each
line is either a verb phrase ("name the type of a trait object" for
`dyn`), or an object ("A value of type `bool` representing logical true"
for `true`). I tried to avoid using the keyword itself or the word
"keyword" in the summary.

Later PRs can flesh out each keyword with an example of each
context in which a keyword can appear and a link to the rust book.

Keywords which are not close to stable rust such as `box` (which is
getting unstabilized) or `try` are ignored in this PR.

5 years agoMove some parser recovery methods to diagnostics
Esteban Küber [Thu, 16 May 2019 21:31:07 +0000 (14:31 -0700)]
Move some parser recovery methods to diagnostics

5 years agoFix span for await macro call
Esteban Küber [Thu, 16 May 2019 21:30:39 +0000 (14:30 -0700)]
Fix span for await macro call

5 years agoreverted changed cfg test cases
Dario Gonzalez [Tue, 7 May 2019 19:34:46 +0000 (12:34 -0700)]
reverted changed cfg test cases

5 years agofixed issues relating to line numbers being shifted
Dario Gonzalez [Tue, 30 Apr 2019 04:47:15 +0000 (21:47 -0700)]
fixed issues relating to line numbers being shifted

5 years agoFixed tidy errors
Dario Gonzalez [Mon, 29 Apr 2019 23:37:57 +0000 (16:37 -0700)]
Fixed tidy errors

5 years agoAdded ignore-sgx for appropriate tests
Dario Gonzalez [Wed, 24 Apr 2019 16:26:33 +0000 (09:26 -0700)]
Added ignore-sgx for appropriate tests

5 years agoReview comments
Esteban Küber [Thu, 16 May 2019 20:33:26 +0000 (13:33 -0700)]
Review comments

- Change wording of suggestion
- Move recovery logic to `diagnostics.rs`
- Reduce ammount of code duplication

5 years agoreadd match await test case
Esteban Küber [Thu, 16 May 2019 20:20:06 +0000 (13:20 -0700)]
readd match await test case

5 years agoPoint at enclosing fn/closure when it's not async
Esteban Küber [Thu, 16 May 2019 20:17:40 +0000 (13:17 -0700)]
Point at enclosing fn/closure when it's not async

5 years agotidy fix
Esteban Küber [Thu, 16 May 2019 03:37:50 +0000 (20:37 -0700)]
tidy fix

5 years agoSimplify span usage for incorrect await
Esteban Küber [Thu, 16 May 2019 03:06:15 +0000 (20:06 -0700)]
Simplify span usage for incorrect await

5 years agoSplit parser logic to its own method
Esteban Küber [Thu, 16 May 2019 02:59:56 +0000 (19:59 -0700)]
Split parser logic to its own method

5 years agoParse alternative incorrect uses of await and recover
Esteban Küber [Thu, 16 May 2019 02:47:18 +0000 (19:47 -0700)]
Parse alternative incorrect uses of await and recover