Commit Graph

89912 Commits

Author SHA1 Message Date
Taiki Endo
ba0fbd763d librustc_save_analysis => 2018 2019-02-07 01:02:00 +09:00
Taiki Endo
9f4a11c637 librustc_plugin => 2018 2019-02-06 23:56:39 +09:00
Andy Russell
4deb5959a3
display sugared return types for async functions 2019-02-06 09:24:03 -05: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
44b2cc0941 librustc_allocator => 2018 2019-02-06 22:55:03 +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
Ralf Jung
a996f2c8dc add tracking issue 2019-02-06 12:55:50 +01:00
Ralf Jung
13bbba273c remove now-unneeded raw ptr casts 2019-02-06 11:23:10 +01:00
Mark Rousskov
57c92696a9 Add embedded book to test such that checktools works 2019-02-06 11:14:43 +01:00
Ralf Jung
f3eede6870 fix doctests 2019-02-06 11:14:12 +01: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
Matthias Einwag
8e7ef03141 Move ArcWake in common test file. 2019-02-05 20:32:35 -08: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
f2871a9ce5 Make intern_lazy_const actually intern its argument.
Currently it just unconditionally allocates it in the arena.

For a "Clean Check" build of the the `packed-simd` benchmark, this
change reduces both the `max-rss` and `faults` counts by 59%; it
slightly (~3%) increases the instruction counts but the `wall-time` is
unchanged.

For the same builds of a few other benchmarks, `max-rss` and `faults`
drop by 1--5%, but instruction counts and `wall-time` changes are in the
noise.

Fixes #57432, fixes #57829.
2019-02-06 12:50:28 +11: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
Ralf Jung
b331b86d30 extend box-maybe-uninit test 2019-02-05 22:26:30 +01: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
Ralf Jung
d371bcefb5 fix test case 2019-02-05 22:18:17 +01:00
Patrick McCarter
9204497c29 Allow const assignment for int saturating_add() calls for #58030 2019-02-05 15:36:31 -05:00
Andy Russell
113b7f7be1
allow shorthand syntax for deprecation reason 2019-02-05 15:26:26 -05:00
ljedrz
6da9129b36 typeck: partially HirIdify 2019-02-05 20:34:06 +01:00
ljedrz
44752c260b mir: partially HirIdify 2019-02-05 20:28:11 +01:00
ljedrz
8d6e5fc20f rustc: partially HirIdify 2019-02-05 20:26:24 +01: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
Ralf Jung
346dc37aee fix str mutating through a ptr derived from &self 2019-02-05 20:07:45 +01:00
Mark Mansi
e957ed9d10 move librustc to 2018 2019-02-05 12:45:47 -06:00
Ralf Jung
aaafc3c7fa fix doctest 2019-02-05 18:46:43 +01: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