Commit Graph

89308 Commits

Author SHA1 Message Date
kennytm
c0a135f541
Rollup merge of #58225 - taiki-e:librustc_fs_util-2018, r=Centril
librustc_fs_util => 2018

Transitions `librustc_fs_util` to Rust 2018; cc #58099

r? @Centril
2019-02-07 13:57:54 +08:00
kennytm
d05313db26
Rollup merge of #58223 - taiki-e:librustc_lsan-2018, r=Centril
librustc_lsan => 2018

Transitions `librustc_lsan` to Rust 2018; cc #58099

r? @Centril
2019-02-07 13:57:53 +08:00
kennytm
247da16f1d
Rollup merge of #58220 - taiki-e:libprofiler_builtins-2018, r=Centril
libprofiler_builtins => 2018

Transitions `libprofiler_builtins` to Rust 2018; cc #58099

r? @Centril
2019-02-07 13:57:52 +08:00
kennytm
c1123aac4b
Rollup merge of #58219 - taiki-e:librustc_asan-2018, r=Centril
librustc_asan => 2018

Transitions `librustc_asan` to Rust 2018; cc #58099

r? @Centril
2019-02-07 13:57:50 +08:00
kennytm
f3908add8c
Rollup merge of #58218 - taiki-e:librustc_msan-2018, r=Centril
librustc_msan => 2018

Transitions `librustc_msan` to Rust 2018; cc #58099

r? @Centril
2019-02-07 13:57:49 +08:00
kennytm
2b99c4eec7
Rollup merge of #58217 - taiki-e:librustc_tsan-2018, r=Centril
librustc_tsan => 2018

Transitions `librustc_tsan` to Rust 2018; cc #58099

r? @Centril
2019-02-07 13:57:48 +08:00
kennytm
fab527f5bb
Rollup merge of #58210 - nnethercote:find_outlives-debug_assert, r=matthewjasper
Make an assert debug-only in `find_constraint_paths_between_regions`.

This reduces instruction counts for NLL builds of `wg-grammar` by over
20%.

r? @nikomatsakis
2019-02-07 13:57:47 +08:00
kennytm
26b157b23c
Rollup merge of #58193 - mark-i-m:rustc-2018, r=Centril
Move librustc to 2018

r? @Centril

Part of #58099

It would be great to get this reviewed quickly to avoid merge conflicts...
2019-02-07 13:57:45 +08:00
kennytm
7168eadafe
Rollup merge of #58192 - dlrobertson:fix_57876, r=oli-obk
Do not ICE in codegen when using a extern_type static

The layout of a extern_type static is unsized, but may pass the
Well-Formed check in typeck (See #55257).  As a result, we
cannot assume that a static is sized when generating the `Place`
for an r-value.

Fixes: #57876

r? @oli-obk
2019-02-07 13:57:44 +08:00
kennytm
4c9bef0cf8
Rollup merge of #58156 - h-michael:update-rust-installer, r=Centril
update submodule: rust-installer from 27dec6c to ccdc47b

Update rust-installer cc: #58099
27dec6c...ccdc47b

r? @Centril
2019-02-07 13:57:43 +08:00
kennytm
2be3ca4427
Rollup merge of #58136 - abonander:doc-win-stdio-unicode, r=dtolnay
Improve error message and docs for non-UTF-8 bytes in stdio on Windows

This should make debugging problems like abonander/multipart#106 significantly more straightforward in the future.

cc #23344, @retep998 @alexcrichton

Not sure who do r? so I'll let rust-highfive pick one.
2019-02-07 13:57:41 +08:00
kennytm
262b241e16
Rollup merge of #58133 - taiki-e:libsyntax_ext-2018, r=Centril
libsyntax_ext => 2018

Transitions `libsyntax_ext` to Rust 2018; cc #58099

r? @Centril
2019-02-07 13:57:40 +08:00
kennytm
281a26bb33
Rollup merge of #58124 - taiki-e:libsyntax_pos-2018, r=Centril
libsyntax_pos => 2018

Transitions `libsyntax_pos` to Rust 2018; cc #58099

r? @Centril
2019-02-07 13:57:39 +08:00
kennytm
8bc05bacbf
Rollup merge of #58123 - lnicola:binary-heap-no-bounds-checks, r=sfackler
Avoid some bounds checks in binary_heap::{PeekMut,Hole}

Fixes #58121.
2019-02-07 13:57:38 +08:00
kennytm
ed500e6cc4
Rollup merge of #58119 - taiki-e:libproc_macro-2018, r=petrochenkov
libproc_macro => 2018

Transitions `libproc_macro` to Rust 2018; cc #58099

r? @Centril
2019-02-07 13:57:37 +08:00
kennytm
9b793702fe
Rollup merge of #58118 - h-michael:libtest-theme-2018, r=Centril
Transition libtest to 2018 edition

Transitions libtest to Rust 2018; cc #58099
r? @Centril
2019-02-07 13:57:35 +08:00
bors
1efdda10cd Auto merge of #58125 - taiki-e:libsyntax-2018, r=Centril
libsyntax => 2018

Transitions `libsyntax` to Rust 2018; cc #58099

r? @Centril
2019-02-07 01:41:14 +00:00
bors
ff9158c1f8 Auto merge of #58224 - pietroalbini:revert-appveyor-debug, r=alexcrichton
Revert appveyor debug code

r? @alexcrichton
2019-02-06 22:48:39 +00:00
Taiki Endo
7bb082d27f libsyntax => 2018 2019-02-07 02:33:01 +09:00
Taiki Endo
d4a60e01d1 librustc_fs_util => 2018 2019-02-06 23:18:33 +09:00
Pietro Albini
99599245a3
Revert "Auto merge of #57975 - alexcrichton:debug-exit-appveyor, r=pietroalbini"
This reverts commit d3d0bf0e9f, reversing
changes made to 40e6a0bd76.
2019-02-06 15:17:15 +01:00
Pietro Albini
4f20348fd3
Revert "Rollup merge of #58162 - pietroalbini:track-259, r=alexcrichton"
This reverts commit 4c243e2c3d, reversing
changes made to 64f0032a37.
2019-02-06 15:16:50 +01:00
Taiki Endo
ea46f5b2d0 librustc_lsan => 2018 2019-02-06 23:12:47 +09:00
Taiki Endo
3893b2f04e libprofiler_builtins => 2018 2019-02-06 22:46:01 +09:00
Taiki Endo
30fab05bed librustc_asan => 2018 2019-02-06 22:40:09 +09:00
Taiki Endo
fb0f0bfea6 librustc_msan => 2018 2019-02-06 22:36:25 +09:00
Taiki Endo
20022f8b91 librustc_tsan => 2018 2019-02-06 22:28:47 +09:00
bors
b139669f37 Auto merge of #56123 - oli-obk:import_miri_from_future, r=eddyb
Add a forever unstable opt-out of const qualification checks

r? @eddyb

cc @RalfJung @Centril

basically a forever unstable way to screw with const things in horribly unsafe, unsound and incoherent ways.

Note that this does *not* affect miri except by maybe violating assumptions that miri makes. But there's no change in how miri evaluates things.
2019-02-06 08:42:46 +00:00
Nicholas Nethercote
f7ed6e1816 Make an assert debug-only in find_constraint_paths_between_regions.
This reduces instruction counts for NLL builds of `wg-grammar` by over
20%.
2019-02-06 19:05:50 +11:00
bors
2596bc1368 Auto merge of #58061 - nnethercote:overhaul-syntax-Folder, r=petrochenkov
Overhaul `syntax::fold::Folder`.

This PR changes `syntax::fold::Folder` from a functional style
(where most methods take a `T` and produce a new `T`) to a more
imperative style (where most methods take and modify a `&mut T`), and
renames it `syntax::mut_visit::MutVisitor`.

This makes the code faster and more concise.
2019-02-06 06:01:37 +00:00
bors
0e5a209959 Auto merge of #58058 - QuietMisdreavus:use-attr, r=GuillaumeGomez
rustdoc: don't try to get a DefId for a Def that doesn't have one

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

The compiler allows you to write a `use` statement for a built-in non-macro attribute, since `use proc_macro` can apply to both the `proc_macro` crate and the `#[proc_macro]` attribute. However, if you write a use statement for something that *doesn't* have this crossover, rustdoc will try to use it the same way as anything else... which resulted in an ICE because it tried to pull a DefId for something that didn't have one. This PR makes rustdoc skip those lookups when it encounters them, allowing it to properly process and render these imports.
2019-02-06 03:07:04 +00:00
Nicholas Nethercote
bfcbd235a2 Rename fold.rs as mut_visit.rs. 2019-02-06 09:10:05 +11:00
bors
65e647cfe7 Auto merge of #58131 - ehuss:update-cargo, r=alexcrichton
Update cargo

7 commits in 245818076052dd7178f5bb7585f5aec5b6c1e03e..4e74e2fc0908524d17735c768067117d3e84ee9c
2019-01-27 15:17:26 +0000 to 2019-02-02 17:48:44 +0000
- Fix overlapping progress with stdout. (rust-lang/cargo#6618)
- Improve progress bar flickering. (rust-lang/cargo#6615)
- Add detail to multiple rename deps (rust-lang/cargo#6603)
- Fix race condition in local registry crate unpacking (rust-lang/cargo#6591)
- Revert "Make incremental compilation the default for all profiles." (rust-lang/cargo#6610)
- Fixup the docs on crate-type (rust-lang/cargo#6606)
- Document that owner --add now just invites (rust-lang/cargo#6604)
2019-02-05 22:08:47 +00:00
Nicholas Nethercote
9fcb1658ab Overhaul syntax::fold::Folder.
This commit changes `syntax::fold::Folder` from a functional style
(where most methods take a `T` and produce a new `T`) to a more
imperative style (where most methods take and modify a `&mut T`), and
renames it `syntax::mut_visit::MutVisitor`.

The first benefit is speed. The functional style does not require any
reallocations, due to the use of `P::map` and
`MoveMap::move_{,flat_}map`. However, every field in the AST must be
overwritten; even those fields that are unchanged are overwritten with
the same value. This causes a lot of unnecessary memory writes. The
imperative style reduces instruction counts by 1--3% across a wide range
of workloads, particularly incremental workloads.

The second benefit is conciseness; the imperative style is usually more
concise. E.g. compare the old functional style:
```
fn fold_abc(&mut self, abc: ABC) {
    ABC {
        a: fold_a(abc.a),
        b: fold_b(abc.b),
        c: abc.c,
    }
}
```
with the imperative style:
```
fn visit_abc(&mut self, ABC { a, b, c: _ }: &mut ABC) {
    visit_a(a);
    visit_b(b);
}
```
(The reductions get larger in more complex examples.)

Overall, the patch removes over 200 lines of code -- even though the new
code has more comments -- and a lot of the remaining lines have fewer
characters.

Some notes:

- The old style used methods called `fold_*`. The new style mostly uses
  methods called `visit_*`, but there are a few methods that map a `T`
  to something other than a `T`, which are called `flat_map_*` (`T` maps
  to multiple `T`s) or `filter_map_*` (`T` maps to 0 or 1 `T`s).

- `move_map.rs`/`MoveMap`/`move_map`/`move_flat_map` are renamed
  `map_in_place.rs`/`MapInPlace`/`map_in_place`/`flat_map_in_place` to
  reflect their slightly changed signatures.

- Although this commit renames the `fold` module as `mut_visit`, it
  keeps it in the `fold.rs` file, so as not to confuse git. The next
  commit will rename the file.
2019-02-06 09:06:27 +11:00
Dan Robertson
80c052bed7
Do not ICE in codegen given a extern_type static
The layout of a extern_type static is unsized, but may pass the
Well-Formed check in typeck. As a result, we cannot assume that
a static is sized when generating the `Place` for an r-value.
2019-02-05 21:20:07 +00:00
Eric Huss
55917ba0e7 Update cargo 2019-02-05 11:17:23 -08:00
bors
4b1e39b7b3 Auto merge of #57851 - Aaron1011:fix/clean-lifetime, r=GuillaumeGomez
Don't try to clean predicates involving ReErased

There's nothing to render when we have a bound involving ReErased (either
a type or region outliving it), so we don't attempt to generate a clean
WherePredicate

Fixes #57806

I haven't been able to come up with a minimized reproduction for the issue, but I've confirmed that this allows the docs to build for `parqet-rs`
2019-02-05 19:12:11 +00:00
Mark Mansi
e957ed9d10 move librustc to 2018 2019-02-05 12:45:47 -06:00
bors
8bf7fda6b5 Auto merge of #58189 - kennytm:rollup, r=kennytm
Rollup of 23 pull requests

Successful merges:

 - #58001 (proc_macro: make `TokenStream::from_streams` pre-allocate its vector.)
 - #58096 (Transition linkchecker to 2018 edition)
 - #58097 (Transition remote test to Rust 2018)
 - #58106 (libfmt_macros => 2018)
 - #58107 (libgraphviz => 2018)
 - #58108 (Add NVPTX target to a build manifest)
 - #58109 (librustc_privacy => 2018)
 - #58112 (libpanic_abort => 2018)
 - #58113 (Transition build-manifest to 2018 edition)
 - #58114 (Transition tidy and unstable-book-gen to 2018 edition)
 - #58116 (Include the span of attributes of the lhs to the span of the assignment expression)
 - #58117 (Transition rustdoc-theme to 2018 edition)
 - #58128 (libunwind => 2018)
 - #58138 (Fix #58101)
 - #58139 (hir: add more HirId methods)
 - #58141 (Remove weasel word in docs for iter's take_while())
 - #58142 (Remove stray FIXME)
 - #58145 (Add #[must_use] to core::task::Poll)
 - #58162 (Add more debugging code to track down appveyor 259 exit code)
 - #58169 (Update contributor name in .mailmap)
 - #58172 (update split docs)
 - #58182 (SGX target: handle empty user buffers correctly)
 - #58186 (Add Rustlings to the doc index)

Failed merges:

r? @ghost
2019-02-05 16:22:26 +00:00
kennytm
c23871a4c4
Rollup merge of #58186 - komaeda:docs/integrate-rustlings, r=steveklabnik
Add Rustlings to the doc index

r? @steveklabnik
2019-02-06 00:29:21 +09:00
kennytm
b3f814fd30
Rollup merge of #58182 - jethrogb:jb/sgx-bytebuffer-len-0, r=joshtriplett
SGX target: handle empty user buffers correctly

Also, expose correct items in `os::fortanix_sgx::usercalls::alloc`

* [read_alloc documentation](https://edp.fortanix.com/docs/api/fortanix_sgx_abi/struct.Usercalls.html#method.read_alloc)
* [Clarified ByteBuffer documentation](https://github.com/fortanix/rust-sgx/pull/94/files#diff-ca843ad9e25cacd63a80579c0f7efa56)

r? @joshtriplett
2019-02-06 00:29:20 +09:00
kennytm
7e72d06c7d
Rollup merge of #58172 - garyemerson:patch-1, r=steveklabnik
update split docs

Some confusion about split popped up at https://news.ycombinator.com/item?id=19080931 since the docs sorta sound like `&str`, `char` and closures are the only types that can be patterns.

cc @steveklabnik
2019-02-06 00:29:19 +09:00
kennytm
5f17ce24bd
Rollup merge of #58169 - boringcactus:patch-1, r=alexcrichton
Update contributor name in .mailmap

following up on email correspondence with @steveklabnik
2019-02-06 00:29:17 +09:00
kennytm
4c243e2c3d
Rollup merge of #58162 - pietroalbini:track-259, r=alexcrichton
Add more debugging code to track down appveyor 259 exit code

cc https://github.com/rust-lang/rust/issues/58160
r? @alexcrichton
2019-02-06 00:29:16 +09:00
kennytm
64f0032a37
Rollup merge of #58145 - taiki-e:poll, r=cramertj
Add #[must_use] to core::task::Poll

cc rust-lang/rfcs#2592

r? @withoutboats
2019-02-06 00:29:15 +09:00
kennytm
ff097ca773
Rollup merge of #58142 - jethrogb:jb/sgx-rwlock, r=joshtriplett
Remove stray FIXME

These were copied from the WebAssembly implementation, and later commented. There is nothing to be fixed, RWLock is Send/Sync because all member fields are Send/Sync.

r? @joshtriplett
2019-02-06 00:29:13 +09:00
kennytm
f107710afb
Rollup merge of #58141 - lukaslueg:patch-1, r=steveklabnik
Remove weasel word in docs for iter's take_while()

The phrase "... or some similar thing." is very vague and contributes nothing to understanding the example. Simply removed.
2019-02-06 00:29:11 +09:00
kennytm
3fc7373eff
Rollup merge of #58139 - ljedrz:HirIdification_phase_2.5, r=Zoxc
hir: add more HirId methods

Adds a few more methods operating on `HirId` instead of `NodeId` with the intention of replacing the old ones in the near future.

r? @Zoxc
2019-02-06 00:29:10 +09:00
kennytm
3abb03fdb3
Rollup merge of #58138 - ishitatsuyuki:stability-delay, r=estebank
Fix #58101
2019-02-06 00:29:08 +09:00
kennytm
a35dac2c5c
Rollup merge of #58128 - taiki-e:libunwind-2018, r=Centril
libunwind => 2018

Transitions `libunwind` to Rust 2018; cc #58099

r? @Centril
2019-02-06 00:29:05 +09:00