97379 Commits

Author SHA1 Message Date
Mazdak Farrokhzad
6c7613b7fd Add semantic test for rest patterns. 2019-07-29 21:39:36 +02:00
Tyler Mandry
6fae7f8071 Wrap promoted generator fields in MaybeUninit
This prevents uninhabited fields from "infecting" the abi and
largest_niche of the generator layout.

This fixes a latent bug, where an uninhabited field could be promoted to
the generator prefix and cause the entire generator to become
uninhabited.
2019-07-29 12:17:49 -07:00
Matthew Jasper
0fb9295e12 Add another test for const parameter (non) hygiene. 2019-07-29 20:04:07 +01:00
Mazdak Farrokhzad
15bc63e8bf Add syntactic test for rest patterns. 2019-07-29 21:04:03 +02:00
CrLF0710
870efe34c8 Add very simple edition check to tidy; and add missing edition = 2018s. 2019-07-30 01:56:03 +08:00
Alex Crichton
8d7fb87e65 std: Fix a failing fs test on Windows
In testing 4-core machines on Azure the `realpath_works_tricky` test in
the standard library is failing with "The directory name is invalid". In
attempting to debug this test I was able to reproduce the failure
locally on my machine, and after inspecing the test it I believe is
exploiting Unix-specific behavior that seems to only sometimes work on
Windows. Specifically the test basically executes:

    mkdir -p a/b
    mkdir -p a/d
    touch a/f
    ln -s a/b/c ../d/e
    ln -s a/d/e ../f

and then asserts that `canonicalize("a/b/c")` and
`canonicalize("a/d/e")` are equivalent to `a/f`. On Windows however the
first symlink is a "directory symlink" and the second is a file symlink.
In both cases, though, they're pointing to files. This means that for
whatever reason locally and on the 4-core environment the call to
`canonicalize` is failing. On Azure today it seems to be passing, and
I'm not entirely sure why. I'm sort of presuming that there's some sort
of internals going on here where there's some global Windows setting
which makes symlinks behavior more unix-like and ignore the directory
hint.

In any case this should keep the test working and also fixes the test
locally for me.
2019-07-29 10:53:47 -07:00
Baoshan Pang
f6906ba11b use gloabl variable 'environ' to pass environments to rtpSpawn 2019-07-29 10:19:59 -07:00
Maximilian Roos
3325ff6df4
comments from @lzutao 2019-07-29 12:26:59 -04:00
Maximilian Roos
624c5da1aa
impl Debug for Chars 2019-07-29 12:17:59 -04:00
Lzu Tao
c56d8a81e2 Add links to None in Option doc 2019-07-29 15:56:40 +00:00
Alex Crichton
9f6e1ce5df rustc: Compile the fmt_macros crate as an rlib
I think this was left out by accident from the "convert everything to
rlibs" commit, there's no need for this to be a dylib just as everything
else doesn't need to be a dylib!
2019-07-29 08:15:08 -07:00
Saleem Jaffer
5bb06b3acb code review fixes 2019-07-29 20:26:25 +05:30
Saleem Jaffer
9f8b099846 code review fixes 2019-07-29 20:17:52 +05:30
Alex Crichton
60680d4e98 ci: Skip installing SWIG/xz on OSX
I'm relatively certain that SWIG was only needed for LLDB which is no
longer built, and I'm hoping we can remove the xz install to remove the
reliance on `brew` for our build (which is another point of failure for
flaky networks).
2019-07-29 07:33:48 -07:00
bors
04b88a9eba Auto merge of #63089 - kennytm:use-try-run-for-linkchecker, r=Mark-Simulacrum
Fix rustc-guide build failure ignoring no-fail-fast
2019-07-29 10:21:33 +00:00
Saleem Jaffer
03d47be8f0 code review fixes 2019-07-29 13:41:32 +05:30
Saleem Jaffer
654519d3c5 use PanicInfo and UnsupportedOpInfo 2019-07-29 13:35:59 +05:30
Saleem Jaffer
8e9d0faff2 adding a err macro for each of the InterpError variants 2019-07-29 13:35:59 +05:30
Saleem Jaffer
9782b373b3 implementing Debug for UnsupportedInfo 2019-07-29 13:35:10 +05:30
Saleem Jaffer
aa3d40cd71 tidy fixes 2019-07-29 13:35:10 +05:30
Saleem Jaffer
307798aa38 fixing fallout due to InterpError refactor 2019-07-29 13:35:09 +05:30
Saleem Jaffer
4f0ab6ccce code review fixes 2019-07-29 13:33:54 +05:30
Saleem Jaffer
eeb2335401 moving remaining variants to UnsupportedInfo 2019-07-29 13:33:54 +05:30
Saleem Jaffer
fc48f3e824 more grouping of the variants in InterpError 2019-07-29 13:33:54 +05:30
Saleem Jaffer
01859bb160 grouping the variants of InterpError 2019-07-29 13:33:54 +05:30
Saleem Jaffer
0aa9658f5d changing the fields of InterpError 2019-07-29 13:33:54 +05:30
Joe Richey
0cdd693bf6 vxworks: Remove Linux-specific comments. 2019-07-28 23:09:21 -07:00
Mazdak Farrokhzad
a54dd2318a Add test for #60564. 2019-07-29 06:56:28 +02:00
Mazdak Farrokhzad
1e927d8689 Add test for #60407. 2019-07-29 06:56:28 +02:00
Mazdak Farrokhzad
b779f45fed Add test for #53678. 2019-07-29 06:56:28 +02:00
Mazdak Farrokhzad
b2a5d99705 Move ui/existential_type.rs -> ui/existential_type/existential_type-pass. 2019-07-29 06:56:28 +02:00
Mazdak Farrokhzad
e2ee2a3854 Move ui/{existential-type -> existential_types}. 2019-07-29 06:56:28 +02:00
kennytm
ebd1bf7096
Fix rustc-guide build failure ignoring no-fail-fast.
This caused clippy not being built on Linux previously.
2019-07-29 11:52:50 +08:00
Tim Vermeulen
2e41ba8742 Use internal iteration in the Sum and Product impls of Result and Option 2019-07-29 02:40:50 +02:00
bors
8b94e9e918 Auto merge of #63094 - Centril:rollup-lm7peuh, r=Centril
Rollup of 6 pull requests

Successful merges:

 - #62809 (rustc: Update wasm32 support for LLVM 9)
 - #63055 (Various cleanups to save analysis)
 - #63076 (Miri: fix determining size of an "extra function" allocation)
 - #63077 (cleanup: Remove some language features related to built-in macros)
 - #63086 (Ignore test cases that are not supported by vxWorks)
 - #63092 (Update `impl Trait` gate issues)

Failed merges:

r? @ghost
2019-07-29 00:12:12 +00:00
Mazdak Farrokhzad
f8321d0d97
Rollup merge of #63092 - Centril:update-impl-trait-gates, r=varkor
Update `impl Trait` gate issues

cc https://github.com/rust-lang/rust/issues/63065
cc https://github.com/rust-lang/rust/issues/63063

r? @varkor cc @alexreg
2019-07-29 02:11:00 +02:00
Mazdak Farrokhzad
f6f214233f
Rollup merge of #63086 - BaoshanPang:testcases, r=nagisa
Ignore test cases that are not supported by vxWorks

bypass x86stdcall.rs for vxworks

ignore wait-forked-but-failed-child.rs as there is no command 'ps' on vxWorks

ignore process-sigpipe.rs as there is no 'sh' on vxWorks

ignore core-run-destroy.rs as there is no 'cat' and 'sleep' on vxWorks
2019-07-29 02:10:58 +02:00
Mazdak Farrokhzad
7f2c3e1723
Rollup merge of #63077 - petrochenkov:nolangfeat, r=petrochenkov
cleanup: Remove some language features related to built-in macros

They are now library features.
Cleanup after https://github.com/rust-lang/rust/pull/62086.
The unstable book files are moved because tidy complained.
2019-07-29 02:10:57 +02:00
Mazdak Farrokhzad
5922a1916b
Rollup merge of #63076 - RalfJung:miri-fn-ptr-alloc-size, r=oli-obk
Miri: fix determining size of an "extra function" allocation

Fixes [a bug](https://github.com/rust-lang/miri/pull/862) introduced by https://github.com/rust-lang/rust/pull/62982. Best reviewed commit-by-commit.

r? @oli-obk
2019-07-29 02:10:55 +02:00
Mazdak Farrokhzad
b52a95dfb3
Rollup merge of #63055 - Mark-Simulacrum:save-analysis-clean-2, r=Xanewok
Various cleanups to save analysis
2019-07-29 02:10:54 +02:00
Mazdak Farrokhzad
778b631ff0
Rollup merge of #62809 - alexcrichton:wasm-llvm-9, r=nikic
rustc: Update wasm32 support for LLVM 9

This commit brings in a number of minor updates for rustc's support for
the wasm target which has changed in the LLVM 9 update. Notable updates
include:

* The compiler now no longer manually inserts the `producers` section,
  instead relying on LLVM to do so. LLVM uses the `llvm.ident` metadata
  for the `processed-by` directive (which is now emitted on the wasm
  target in this PR) and it uses debuginfo to figure out what `language`
  to put in the `producers` section.

* Threaded WebAssembly code now requires different flags to be passed
  with LLD. In LLD we now pass:

  * `--shared-memory` - required since objects are compiled with
    atomics. This also means that the generated memory will be marked as
    `shared`.
  * `--max-memory=1GB` - required with the `--shared-memory` argument
    since shared memories in WebAssembly must have a maximum size. The
    1GB number is intended to be a conservative estimate for rustc, but
    it should be overridable with `-C link-arg` if necessary.
  * `--passive-segments` - this has become the default for multithreaded
    memory, but when compiling a threaded module all data segments need
    to be marked as passive to ensure they don't re-initialize memory
    for each thread. This will also cause LLD to emit a synthetic
    function to initialize memory which users will have to arrange to
    call.
  * The `__heap_base` and `__data_end` globals are explicitly exported
    since they're now hidden by default due to the `--export` flags we
    pass to LLD.
2019-07-29 02:10:52 +02:00
Aaron Hill
3e98c3acf5
Rename test and add comment 2019-07-28 19:12:27 -04:00
Aaron Hill
8811b9ce9f
Fix formatting
Co-Authored-By: Mazdak Farrokhzad <twingoow@gmail.com>
2019-07-28 18:33:32 -04:00
Mazdak Farrokhzad
2a49dd0db6 Update existential_type + impl_trait_in_bindings issue numbers. 2019-07-29 00:09:18 +02:00
Aaron Hill
18bf9dd4b7
Properly check the defining scope of existential types
Fixes #52632

Existential types (soon to be 'impl trait' aliases) can either be
delcared at a top-level crate/module scope, or within another item such
as an fn. Previously, we were handling the second case incorrectly when
recursively searching for defining usages - we would check children of
the item, but not the item itself. This lead to us missing closures
that consituted a defining use of the existential type, as their opaque
type instantiations are stored in the TypeckTables of their parent
function.

This commit ensures that we explicitly visit the defining item itself,
not just its children.
2019-07-28 18:02:16 -04:00
Ralf Jung
0e602f10b5 replace match by ok() 2019-07-28 22:30:19 +02:00
bors
c7312fe4ff Auto merge of #63090 - Centril:rollup-xnjwm2h, r=Centril
Rollup of 8 pull requests

Successful merges:

 - #61856 (Lint attributes on function arguments)
 - #62360 (Document that ManuallyDrop::drop should not called more than once)
 - #62392 (Update minifier-rs version)
 - #62871 (Explicit error message for async recursion.)
 - #62995 (Avoid ICE when suggestion span is at Eof)
 - #63053 (SystemTime docs: recommend Instant for elapsed time)
 - #63081 (tidy: Cleanup the directory whitelist)
 - #63088 (Remove anonymous_parameters from unrelated test)

Failed merges:

r? @ghost
2019-07-28 20:22:42 +00:00
Mazdak Farrokhzad
29c377882f
Rollup merge of #63088 - dtolnay:anonymous, r=Centril
Remove anonymous_parameters from unrelated test

The parsing of anonymous_parameters is sufficiently covered by:

- [src/test/ui/issues/issue-13105.rs](023525dbda/src/test/ui/issues/issue-13105.rs)
- [src/test/ui/issues/issue-13775.rs](023525dbda/src/test/ui/issues/issue-13775.rs)
- [src/test/ui/issues/issue-34074.rs](023525dbda/src/test/ui/issues/issue-34074.rs)

Removing anonymous_parameters from this test means fewer exclusions for me in https://github.com/dtolnay/syn/issues/644.
2019-07-28 21:20:02 +02:00
Mazdak Farrokhzad
155bfe4612
Rollup merge of #63081 - petrochenkov:cleantidy, r=Mark-Simulacrum
tidy: Cleanup the directory whitelist

Some entries were outdated - pre-"llvm-project", pre-"crates.io", pre-"Cargo.toml outside of src".
Some entries were unnecessary - `owning_ref` could be fixed and directories outside of `src` are not visited by tidy at all.

r? @Mark-Simulacrum
2019-07-28 21:20:00 +02:00
Mazdak Farrokhzad
117fa1de98
Rollup merge of #63053 - kornelski:clockdrift, r=shepmaster
SystemTime docs: recommend Instant for elapsed time

Introduction to `SystemTime` mentions problems with non-monotonic clocks, but individual methods don't.

For benefit of users who jump directly to method's documentation, also recommend `Instant` in `elapsed` and `duration_since`.

`SystemTime::elapsed()` docs overpromised the elapsed time. It's not elapsed time, but a difference between two clocks.
2019-07-28 21:19:59 +02:00