]> git.lizzy.rs Git - rust.git/log
rust.git
5 years agoUpdate cargo
Eric Huss [Mon, 15 Apr 2019 19:47:33 +0000 (12:47 -0700)]
Update cargo

5 years agoAuto merge of #59850 - Zoxc:symbols-attrs, r=petrochenkov
bors [Mon, 15 Apr 2019 13:24:15 +0000 (13:24 +0000)]
Auto merge of #59850 - Zoxc:symbols-attrs, r=petrochenkov

Preallocate BUILTIN_ATTRIBUTES symbols

Builds on https://github.com/rust-lang/rust/pull/59655

r? @petrochenkov

5 years agoUpdate test
John Kåre Alsaker [Sat, 13 Apr 2019 11:31:24 +0000 (13:31 +0200)]
Update test

5 years agoPreallocate BUILTIN_ATTRIBUTES symbols and use a hash map instead of looping
John Kåre Alsaker [Wed, 10 Apr 2019 17:47:55 +0000 (19:47 +0200)]
Preallocate BUILTIN_ATTRIBUTES symbols and use a hash map instead of looping

5 years agoAuto merge of #59655 - Zoxc:symbols, r=petrochenkov
bors [Mon, 15 Apr 2019 10:03:39 +0000 (10:03 +0000)]
Auto merge of #59655 - Zoxc:symbols, r=petrochenkov

Use a proc macro to declare preallocated symbols

r? @petrochenkov

5 years agoAuto merge of #59626 - nnethercote:DepGraph-1.02x, r=Zoxc
bors [Mon, 15 Apr 2019 07:12:16 +0000 (07:12 +0000)]
Auto merge of #59626 - nnethercote:DepGraph-1.02x, r=Zoxc

Reduce the `DepNode` pre-allocation ratio.

A code size of increase of 15% is overly generous. 2% is more realistic.

This change reduces peak memory size by 20+ MiB on some workloads.

r? @Zoxc

5 years agoUse colon for keyword defs
John Kåre Alsaker [Tue, 9 Apr 2019 07:39:48 +0000 (09:39 +0200)]
Use colon for keyword defs

5 years agoMove modules outside the proc macro
John Kåre Alsaker [Tue, 9 Apr 2019 07:36:17 +0000 (09:36 +0200)]
Move modules outside the proc macro

5 years agoEnsure the symbols are pure strings
John Kåre Alsaker [Tue, 9 Apr 2019 07:18:49 +0000 (09:18 +0200)]
Ensure the symbols are pure strings

5 years agoMake check_name generic
John Kåre Alsaker [Fri, 5 Apr 2019 01:05:30 +0000 (03:05 +0200)]
Make check_name generic

5 years agoUse a proc macro to declare preallocated symbols
John Kåre Alsaker [Wed, 3 Apr 2019 00:43:49 +0000 (02:43 +0200)]
Use a proc macro to declare preallocated symbols

5 years agoReduce the `DepNode` pre-allocation ratio.
Nicholas Nethercote [Mon, 1 Apr 2019 05:40:45 +0000 (16:40 +1100)]
Reduce the `DepNode` pre-allocation ratio.

A code size of increase of 15% is overly generous. 2% is more realistic.

This change reduces peak memory size by 20+ MiB on some workloads.

5 years agoAuto merge of #59982 - stepancheg:hasher-no-unsafe, r=rkruppe
bors [Mon, 15 Apr 2019 02:24:21 +0000 (02:24 +0000)]
Auto merge of #59982 - stepancheg:hasher-no-unsafe, r=rkruppe

Hasher: replace unsafe trasmute with to_ne_bytes

Spead the knowledge of `to_ne_bytes` functions existence.

5 years agoHasher: replace unsafe trasmute with to_ne_bytes
Stepan Koltsov [Sun, 14 Apr 2019 23:33:10 +0000 (00:33 +0100)]
Hasher: replace unsafe trasmute with to_ne_bytes

Spead the knowledge of `to_ne_bytes` functions existence.

5 years agoAuto merge of #59965 - Manishearth:clippyup, r=Xanewok
bors [Sun, 14 Apr 2019 23:30:48 +0000 (23:30 +0000)]
Auto merge of #59965 - Manishearth:clippyup, r=Xanewok

Update clippy

One of our tests using the alloc crate broke because alloc was stabilized.

r? @oli-obk

5 years agoUpdate clippy
Manish Goregaokar [Sun, 14 Apr 2019 22:56:58 +0000 (15:56 -0700)]
Update clippy

5 years agoAuto merge of #59335 - Aaron1011:fix/extern-priv-final, r=Aaron1011
bors [Sun, 14 Apr 2019 19:47:40 +0000 (19:47 +0000)]
Auto merge of #59335 - Aaron1011:fix/extern-priv-final, r=Aaron1011

Properly parse '--extern-private' with name and path

It turns out that https://github.com/rust-lang/rust/pull/57586 didn't properly parse `--extern-private name=path`.

This PR properly implements the `--extern-private` option. I've added a new `extern-private` option to `compiletest`, which causes an `--extern-private` option to be passed to the compiler with the proper path.

Part of https://github.com/rust-lang/rust/issues/44663

5 years agoFix typo in comment
Aaron Hill [Sun, 14 Apr 2019 02:25:27 +0000 (22:25 -0400)]
Fix typo in comment

5 years agoFix Windows dll name format
Aaron Hill [Sat, 13 Apr 2019 22:49:01 +0000 (18:49 -0400)]
Fix Windows dll name format

5 years agoHandle --extern-private properly on musl
Aaron Hill [Sat, 13 Apr 2019 00:14:51 +0000 (20:14 -0400)]
Handle --extern-private properly on musl

On musl (and some other platforms), compiletest ends up creating a static rlib
(instead of a dylib) when building 'aux-build' crates.

This commit changes the '--extern-private' path computed by compiletest
to properly take this into account

5 years agoDerive Default for ExternEntry
Aaron Hill [Tue, 9 Apr 2019 21:24:24 +0000 (17:24 -0400)]
Derive Default for ExternEntry

5 years agoFix ExternEntry test
Aaron Hill [Tue, 9 Apr 2019 03:22:22 +0000 (23:22 -0400)]
Fix ExternEntry test

5 years agoUpdate rustdoc to new ExternEntry format
Aaron Hill [Sun, 7 Apr 2019 23:15:32 +0000 (19:15 -0400)]
Update rustdoc to new ExternEntry format

5 years agoRefactor structure of ExternEntry
Aaron Hill [Sun, 7 Apr 2019 22:48:40 +0000 (18:48 -0400)]
Refactor structure of ExternEntry

5 years agoMove new_public to 'tess' module
Aaron Hill [Sun, 7 Apr 2019 00:39:12 +0000 (20:39 -0400)]
Move new_public to 'tess' module

5 years agoImprove formatting
Aaron Hill [Tue, 2 Apr 2019 20:06:43 +0000 (16:06 -0400)]
Improve formatting

5 years agoFix tests
Aaron Hill [Mon, 1 Apr 2019 19:13:08 +0000 (15:13 -0400)]
Fix tests

5 years agoAuto merge of #59967 - Centril:rollup-bdqq7ux, r=Centril
bors [Sun, 14 Apr 2019 17:00:16 +0000 (17:00 +0000)]
Auto merge of #59967 - Centril:rollup-bdqq7ux, r=Centril

Rollup of 7 pull requests

Successful merges:

 - #59856 (update polonius-engine)
 - #59877 (HirIdify hir::Def)
 - #59896 (Remove duplicated redundant spans)
 - #59900 (Remove [mut] syntax in pin docs)
 - #59906 (Make BufWriter use get_mut instead of manipulating inner in Write implementation)
 - #59936 (Fix cross-crate visibility of fictive variant constructors)
 - #59957 (Add missing backtick to Symbol documentation.)

Failed merges:

r? @ghost

5 years agoRollup merge of #59957 - krk:fix-doctypo-symbol, r=jonas-schievink
Mazdak Farrokhzad [Sun, 14 Apr 2019 15:49:27 +0000 (17:49 +0200)]
Rollup merge of #59957 - krk:fix-doctypo-symbol, r=jonas-schievink

Add missing backtick to Symbol documentation.

5 years agoRollup merge of #59936 - petrochenkov:confict, r=davidtwco
Mazdak Farrokhzad [Sun, 14 Apr 2019 15:49:26 +0000 (17:49 +0200)]
Rollup merge of #59936 - petrochenkov:confict, r=davidtwco

Fix cross-crate visibility of fictive variant constructors

After merging https://github.com/rust-lang/rust/pull/59376 I realized that the code in the decoder wasn't entirely correct - we "decoded" fictive variant constructors with their variant's visibility, which could be public, rather than demoted to `pub(crate)`.

Fictive constructors are not directly usable in expression/patterns, but the effect still can be observed with imports.

r? @davidtwco

5 years agoRollup merge of #59906 - czipperz:bufwriter-use-getmut, r=kennytm
Mazdak Farrokhzad [Sun, 14 Apr 2019 15:49:24 +0000 (17:49 +0200)]
Rollup merge of #59906 - czipperz:bufwriter-use-getmut, r=kennytm

Make BufWriter use get_mut instead of manipulating inner in Write implementation

`get_mut` allows us to abstract over the implementation detail of inner being optional.

5 years agoRollup merge of #59900 - czipperz:remove-bracket-mut-syntax-in-pin-docs, r=RalfJung
Mazdak Farrokhzad [Sun, 14 Apr 2019 15:49:23 +0000 (17:49 +0200)]
Rollup merge of #59900 - czipperz:remove-bracket-mut-syntax-in-pin-docs, r=RalfJung

Remove [mut] syntax in pin docs

Resolves #59832

5 years agoRollup merge of #59896 - estebank:dedup-spans, r=davidtwco
Mazdak Farrokhzad [Sun, 14 Apr 2019 15:49:21 +0000 (17:49 +0200)]
Rollup merge of #59896 - estebank:dedup-spans, r=davidtwco

Remove duplicated redundant spans

Fix #59895.

5 years agoRollup merge of #59877 - Zoxc:hiridify_def_id, r=eddyb
Mazdak Farrokhzad [Sun, 14 Apr 2019 15:49:19 +0000 (17:49 +0200)]
Rollup merge of #59877 - Zoxc:hiridify_def_id, r=eddyb

HirIdify hir::Def

cc @ljedrz
r? @oli-obk

5 years agoRollup merge of #59856 - albins:update-polonius, r=nikomatsakis
Mazdak Farrokhzad [Sun, 14 Apr 2019 15:49:18 +0000 (17:49 +0200)]
Rollup merge of #59856 - albins:update-polonius, r=nikomatsakis

update polonius-engine

This updates polonius-engine to [version 0.7.0](https://github.com/rust-lang/polonius/blob/master/RELEASES.md#v070), which adds a hybrid algorithm that starts off with performing a cheaper, location-insensitive analysis before proceeding with the full analysis.

r? @nikomatsakis

5 years agoAuto merge of #59929 - RalfJung:miri, r=oli-obk
bors [Sun, 14 Apr 2019 12:55:21 +0000 (12:55 +0000)]
Auto merge of #59929 - RalfJung:miri, r=oli-obk

update miri

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

5 years agoAdd missing backtick to Symbol documentation.
krk [Sun, 14 Apr 2019 12:27:54 +0000 (14:27 +0200)]
Add missing backtick to Symbol documentation.

5 years agoAddress review comments
Vadim Petrochenkov [Sun, 14 Apr 2019 09:37:22 +0000 (12:37 +0300)]
Address review comments

5 years agoFix cross-crate visibility of fictive variant constructors
Vadim Petrochenkov [Sat, 13 Apr 2019 09:56:07 +0000 (12:56 +0300)]
Fix cross-crate visibility of fictive variant constructors

5 years agoupdate miri
Ralf Jung [Sun, 14 Apr 2019 09:02:18 +0000 (11:02 +0200)]
update miri

5 years agoAuto merge of #59693 - nnethercote:64-bit-Spans, r=petrochenkov
bors [Sun, 14 Apr 2019 08:55:16 +0000 (08:55 +0000)]
Auto merge of #59693 - nnethercote:64-bit-Spans, r=petrochenkov

Increase `Span` from 4 bytes to 8 bytes.

This increases the size of some important types, such as `ast::Expr` and
`mir::Statement`. However, it drastically reduces how much the interner
is used, and the fields are more natural sizes that don't require bit
operations to extract.

As a result, instruction counts drop across a range of workloads, by as
much as 10% for `script-servo` incremental builds.

Peak memory usage goes up a little for some cases, but down by more for
some other cases -- as much as 18% for non-incremental builds of
`packed-simd`.

The commit also:
- removes the `repr(packed)`, because it has negligible effect, but can
  cause undefined behaviour;
- replaces explicit impls of common traits (`Copy`, `PartialEq`, etc.)
  with derived ones.

r? @petrochenkov

5 years agoUpdate tests
John Kåre Alsaker [Thu, 11 Apr 2019 16:33:36 +0000 (18:33 +0200)]
Update tests

5 years agoHirIdify hir::Def
ljedrz [Wed, 3 Apr 2019 07:07:45 +0000 (09:07 +0200)]
HirIdify hir::Def

5 years agoAuto merge of #59798 - rchaser53:issue-59488, r=estebank
bors [Sun, 14 Apr 2019 05:58:13 +0000 (05:58 +0000)]
Auto merge of #59798 - rchaser53:issue-59488, r=estebank

Improvement for comparision against fn

I try to add error message.
related: https://github.com/rust-lang/rust/issues/59488

5 years agoFix tidy
Aaron Hill [Mon, 25 Mar 2019 04:11:25 +0000 (00:11 -0400)]
Fix tidy

5 years agoCombine 'Extern' and 'ExternPrivate'
Aaron Hill [Mon, 25 Mar 2019 03:06:32 +0000 (23:06 -0400)]
Combine 'Extern' and 'ExternPrivate'

5 years agoProperly parse '--extern-private' with name and path
Aaron Hill [Thu, 21 Mar 2019 03:27:08 +0000 (23:27 -0400)]
Properly parse '--extern-private' with name and path

5 years agoAuto merge of #59950 - Centril:rollup-hpmr62i, r=Centril
bors [Sun, 14 Apr 2019 01:10:57 +0000 (01:10 +0000)]
Auto merge of #59950 - Centril:rollup-hpmr62i, r=Centril

Rollup of 6 pull requests

Successful merges:

 - #59776 (Apply resource-suffix to search-index and source-files scripts as well)
 - #59784 (Suggest importing macros from the crate root)
 - #59812 (Exclude profiler-generated symbols from MSVC __imp_-symbol workaround.)
 - #59874 (Clean up handling of `-Z pgo-gen` commandline option.)
 - #59890 (Don't generate empty json variables)
 - #59911 (Revert "compile crates under test w/ -Zemit-stack-sizes")

Failed merges:

r? @ghost

5 years agoRollup merge of #59911 - pnkfelix:revert-pr-59401-to-fix-emit-stack-sizes-gc-sections...
Mazdak Farrokhzad [Sat, 13 Apr 2019 22:39:50 +0000 (00:39 +0200)]
Rollup merge of #59911 - pnkfelix:revert-pr-59401-to-fix-emit-stack-sizes-gc-sections-ld-gold-bug, r=alexcrichton

Revert "compile crates under test w/ -Zemit-stack-sizes"

Revert PR #59401 to fix issue #59652 (a stable-to-beta regression).

This is result of squashing two revert commits:

Revert "compile all crates under test w/ -Zemit-stack-sizes"

This reverts commit 7d365cf27f4249fc9b61ba8abfc813abe43f1cb7.

Revert "bootstrap: build compiler-builtins with -Z emit-stack-sizes"

This reverts commit 8b8488ce8fc047282e7159343f30609417f9fa39.

----

(My intention is that someone can re-add this code again later, either after the `ld.gold` issue itself is fixed, or with safe-guards to check whether `ld.gold` is in use and then issuing warnings about the problems here when they arise.)

5 years agoRollup merge of #59890 - GuillaumeGomez:empty-json-variables, r=QuietMisdreavus
Mazdak Farrokhzad [Sat, 13 Apr 2019 22:39:48 +0000 (00:39 +0200)]
Rollup merge of #59890 - GuillaumeGomez:empty-json-variables, r=QuietMisdreavus

Don't generate empty json variables

r? @rust-lang/rustdoc

5 years agoRollup merge of #59874 - michaelwoerister:pgo-updates-1, r=cramertj
Mazdak Farrokhzad [Sat, 13 Apr 2019 22:39:46 +0000 (00:39 +0200)]
Rollup merge of #59874 - michaelwoerister:pgo-updates-1, r=cramertj

Clean up handling of `-Z pgo-gen` commandline option.

This PR adapts the `-Z pgo-gen` flag to how Clang and GCC handle the corresponding `-fprofile-generate` flag. In particular, the flag now optionally takes a directory to place the profiling data in and allows to omit the argument (instead of having to pass an empty string).

5 years agoRollup merge of #59812 - michaelwoerister:profile-gen-msvc-imp, r=alexcrichton
Mazdak Farrokhzad [Sat, 13 Apr 2019 22:39:44 +0000 (00:39 +0200)]
Rollup merge of #59812 - michaelwoerister:profile-gen-msvc-imp, r=alexcrichton

Exclude profiler-generated symbols from MSVC __imp_-symbol workaround.

LLVM's profiling instrumentation adds a few symbols that are used by the profiler runtime. Since these show up as globals in the LLVM IR, the compiler generates `dllimport`-related `__imp_` stubs for them. This can lead to linker errors because the instrumentation symbols have weak linkage or are in a comdat section, but the `__imp_` stubs aren't.

Instead of trying to replicate the linkage/comdat setup for the stubs, this PR just excludes the profiler-related symbols from stub-generation since they aren't supposed to be referenced via `__declspec(dllimport)` anywhere anyway.

r? @alexcrichton

EDIT: I considered making this more general, i.e. inferring from the symbol name if it is a Rust symbol or not. But then I figured out that that would yield false negatives for `#[no_mangle]` et al, so I went with a blacklist approach.

5 years agoRollup merge of #59784 - davidtwco:issue-59764, r=estebank
Mazdak Farrokhzad [Sat, 13 Apr 2019 22:39:43 +0000 (00:39 +0200)]
Rollup merge of #59784 - davidtwco:issue-59764, r=estebank

Suggest importing macros from the crate root

Fixes #59764.

r? @estebank
cc @varkor

5 years agoRollup merge of #59776 - GuillaumeGomez:apply-resource-suffix, r=QuietMisdreavus
Mazdak Farrokhzad [Sat, 13 Apr 2019 22:39:41 +0000 (00:39 +0200)]
Rollup merge of #59776 - GuillaumeGomez:apply-resource-suffix, r=QuietMisdreavus

Apply resource-suffix to search-index and source-files scripts as well

Fixes #59771.

r? @QuietMisdreavus

5 years agoAuto merge of #59949 - Centril:rollup-lsiqq1g, r=Centril
bors [Sat, 13 Apr 2019 22:24:33 +0000 (22:24 +0000)]
Auto merge of #59949 - Centril:rollup-lsiqq1g, r=Centril

Rollup of 16 pull requests

Successful merges:

 - #59675 (Stabilize the `alloc` crate.)
 - #59708 (Mark variables captured by reference as mutable correctly)
 - #59735 (remove lookup_char_pos_adj)
 - #59747 (Copy book.toml unstable book generator)
 - #59796 (Retire `IsNotConst` naming)
 - #59804 (Clean up jobserver integration)
 - #59818 (Eliminate `FnBox` usages from libstd.)
 - #59830 (Fix links on keyword docs.)
 - #59835 (Re-export NonZero signed variant in std)
 - #59852 (std: Add `{read,write}_vectored` for more types)
 - #59855 (Fix attributes position in type declaration)
 - #59858 (Make duplicate matcher bindings a hard error)
 - #59899 (In `-Zprint-type-size` output, sort enum variants by size.)
 - #59912 (MaybeUninit: remove deprecated functions)
 - #59925 (Fix paste error in split_ascii_whitespace docs.)
 - #59930 (Exclude some copies of old book editions from search engines)

Failed merges:

r? @ghost

5 years agoRollup merge of #59930 - kornelski:first-robots, r=GuillaumeGomez
Mazdak Farrokhzad [Sat, 13 Apr 2019 22:23:50 +0000 (00:23 +0200)]
Rollup merge of #59930 - kornelski:first-robots, r=GuillaumeGomez

Exclude some copies of old book editions from search engines

These are only stubs that confuse search engine users. There's no useful content in these locations.

5 years agoRollup merge of #59925 - solson:split_ascii_whitespace-docfix, r=Centril
Mazdak Farrokhzad [Sat, 13 Apr 2019 22:23:49 +0000 (00:23 +0200)]
Rollup merge of #59925 - solson:split_ascii_whitespace-docfix, r=Centril

Fix paste error in split_ascii_whitespace docs.

It was accidentally still testing the unicode version, `split_whitespace`.

5 years agoRollup merge of #59912 - RalfJung:maybe-uninit, r=Centril
Mazdak Farrokhzad [Sat, 13 Apr 2019 22:23:47 +0000 (00:23 +0200)]
Rollup merge of #59912 - RalfJung:maybe-uninit, r=Centril

MaybeUninit: remove deprecated functions

5 years agoRollup merge of #59899 - nnethercote:sort-enum-variants-by-size, r=pnkfelix
Mazdak Farrokhzad [Sat, 13 Apr 2019 22:23:46 +0000 (00:23 +0200)]
Rollup merge of #59899 - nnethercote:sort-enum-variants-by-size, r=pnkfelix

In `-Zprint-type-size` output, sort enum variants by size.

It's useful to see the biggest variants first.

r? @pnkfelix

5 years agoRollup merge of #59858 - mark-i-m:dup-matcher-bindings-3, r=Centril
Mazdak Farrokhzad [Sat, 13 Apr 2019 22:23:44 +0000 (00:23 +0200)]
Rollup merge of #59858 - mark-i-m:dup-matcher-bindings-3, r=Centril

Make duplicate matcher bindings a hard error

r? @Centril

Closes #57742

5 years agoRollup merge of #59855 - GuillaumeGomez:fix-attr-position-in-type-decl, r=QuietMisdreavus
Mazdak Farrokhzad [Sat, 13 Apr 2019 22:23:42 +0000 (00:23 +0200)]
Rollup merge of #59855 - GuillaumeGomez:fix-attr-position-in-type-decl, r=QuietMisdreavus

Fix attributes position in type declaration

Fixes #59797.

r? @rust-lang/rustdoc

5 years agoRollup merge of #59852 - alexcrichton:more-vectored, r=sfackler
Mazdak Farrokhzad [Sat, 13 Apr 2019 22:23:40 +0000 (00:23 +0200)]
Rollup merge of #59852 - alexcrichton:more-vectored, r=sfackler

std: Add `{read,write}_vectored` for more types

This commit implements the `{read,write}_vectored` methods on more types
in the standard library, namely:

* `std::fs::File`
* `std::process::ChildStd{in,out,err}`
* `std::io::Std{in,out,err}`
* `std::io::Std{in,out,err}Lock`
* `std::io::Std{in,out,err}Raw`

Where supported the OS implementations hook up to native support,
otherwise it falls back to the already-defaulted implementation.

5 years agoRollup merge of #59835 - lzutao:nonzero-signed, r=Mark-Simulacrum
Mazdak Farrokhzad [Sat, 13 Apr 2019 22:23:39 +0000 (00:23 +0200)]
Rollup merge of #59835 - lzutao:nonzero-signed, r=Mark-Simulacrum

Re-export NonZero signed variant in std

Closes  #59834 .

5 years agoRollup merge of #59830 - ehuss:keyword-links, r=Mark-Simulacrum
Mazdak Farrokhzad [Sat, 13 Apr 2019 22:23:37 +0000 (00:23 +0200)]
Rollup merge of #59830 - ehuss:keyword-links, r=Mark-Simulacrum

Fix links on keyword docs.

- Make links relative.
- Adjust links from old 2018-edition book.
- Fix broken link in `let` docs.

5 years agoRollup merge of #59818 - crlf0710:eliminate_libstd_fnbox, r=cramertj
Mazdak Farrokhzad [Sat, 13 Apr 2019 22:23:35 +0000 (00:23 +0200)]
Rollup merge of #59818 - crlf0710:eliminate_libstd_fnbox, r=cramertj

Eliminate `FnBox` usages from libstd.

5 years agoRollup merge of #59804 - Zoxc:cleaner-jobserver, r=alexcrichton
Mazdak Farrokhzad [Sat, 13 Apr 2019 22:23:34 +0000 (00:23 +0200)]
Rollup merge of #59804 - Zoxc:cleaner-jobserver, r=alexcrichton

Clean up jobserver integration

cc @alexcrichton

5 years agoRollup merge of #59796 - oli-obk:const_arg_ice, r=eddyb
Mazdak Farrokhzad [Sat, 13 Apr 2019 22:23:32 +0000 (00:23 +0200)]
Rollup merge of #59796 - oli-obk:const_arg_ice, r=eddyb

Retire `IsNotConst` naming

This naming scheme caused a lot of confusion lately (including ICEs) due to misrefactored code. Also clean up the initialization code for said flag.

r? @eddyb

previous discussions: https://github.com/rust-lang/rust/pull/58784#issuecomment-468717439 https://github.com/rust-lang/rust/pull/58403#discussion_r265936336

5 years agoRollup merge of #59747 - gruberb:copy-book-toml-unstable-book, r=ehuss
Mazdak Farrokhzad [Sat, 13 Apr 2019 22:23:30 +0000 (00:23 +0200)]
Rollup merge of #59747 - gruberb:copy-book-toml-unstable-book, r=ehuss

Copy book.toml unstable book generator

Solves https://github.com/rust-lang/rust/issues/59554 and adds a book title to the unstable book.

I assume that [copy_recursive](https://github.com/rust-lang/rust/blob/acd8dd6a50d505057a7d7ad8d0d7a4c2bd274200/src/tools/unstable-book-gen/src/main.rs#L105) will take files regardless of their type (`.md` or `.toml`).

Although I had a hard time time testing it. A second pair of eyes is definitely needed.

5 years agoRollup merge of #59735 - matklad:deadcode, r=sanxiyn
Mazdak Farrokhzad [Sat, 13 Apr 2019 22:23:29 +0000 (00:23 +0200)]
Rollup merge of #59735 - matklad:deadcode, r=sanxiyn

remove lookup_char_pos_adj

It is now exactly equivalent to lookup_char_pos.

5 years agoRollup merge of #59708 - matthewjasper:double-closure-unused-mut, r=pnkfelix
Mazdak Farrokhzad [Sat, 13 Apr 2019 22:23:27 +0000 (00:23 +0200)]
Rollup merge of #59708 - matthewjasper:double-closure-unused-mut, r=pnkfelix

Mark variables captured by reference as mutable correctly

Closes #59620

r? @pnkfelix

5 years agoRollup merge of #59675 - SimonSapin:stable-alloc, r=alexcrichton
Mazdak Farrokhzad [Sat, 13 Apr 2019 22:23:25 +0000 (00:23 +0200)]
Rollup merge of #59675 - SimonSapin:stable-alloc, r=alexcrichton

Stabilize the `alloc` crate.

This implements RFC 2480:

* https://github.com/rust-lang/rfcs/pull/2480
* https://github.com/rust-lang/rfcs/blob/master/text/2480-liballoc.md

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

5 years agoExpand note on mutable references
Chris Gregory [Sat, 13 Apr 2019 20:54:57 +0000 (15:54 -0500)]
Expand note on mutable references

5 years agoAuto merge of #59612 - matthewjasper:dataflow-usual-newtype-index, r=estebank
bors [Sat, 13 Apr 2019 16:42:51 +0000 (16:42 +0000)]
Auto merge of #59612 - matthewjasper:dataflow-usual-newtype-index, r=estebank

Use normal newtype_index macro for MIR dataflows

* Makes the definition of these structs contain `struct IndexName`
* Avoids having an offset by removing high values, rather than 0
* Implements some traits for us.

5 years agoAuto merge of #59515 - wesleywiser:measureme, r=michaelwoerister
bors [Sat, 13 Apr 2019 11:54:26 +0000 (11:54 +0000)]
Auto merge of #59515 - wesleywiser:measureme, r=michaelwoerister

Use measureme in self profiler

r? @michaelwoerister

~Changes are still very rough.~

~I'm not sure what the right way to add the `measureme` dependency is. Currently it's just added with a relative path which Works On My Machine ™️.~

I'm also not sure what to do with the category data.

5 years agoAuto merge of #59922 - Centril:rollup-0qmx4jg, r=Centril
bors [Sat, 13 Apr 2019 07:48:01 +0000 (07:48 +0000)]
Auto merge of #59922 - Centril:rollup-0qmx4jg, r=Centril

Rollup of 8 pull requests

Successful merges:

 - #59781 (Remove check_match from const_eval)
 - #59820 (proc_macro: stop using LEB128 for RPC.)
 - #59846 (clarify what the item is in "not a module" error)
 - #59847 (Error when using `catch` after `try`)
 - #59859 (Suggest removing `?` to resolve type errors.)
 - #59862 (Tweak unstable diagnostic output)
 - #59866 (Recover from missing semicolon based on the found token)
 - #59892 (Impl RawFd conversion traits for WASI TcpListener, TcpStream and UdpSocket)

Failed merges:

r? @ghost

5 years agoUse measureme in self-profiler
Wesley Wiser [Thu, 4 Apr 2019 23:41:49 +0000 (19:41 -0400)]
Use measureme in self-profiler

Related to #58372
Related to #58967

5 years agoExclude some copies of old book editions from search engines
Kornel [Fri, 12 Apr 2019 23:38:46 +0000 (00:38 +0100)]
Exclude some copies of old book editions from search engines

5 years agoAuto merge of #59924 - Xanewok:subup, r=Xanewok
bors [Fri, 12 Apr 2019 21:08:14 +0000 (21:08 +0000)]
Auto merge of #59924 - Xanewok:subup, r=Xanewok

Update submodules (Clippy, RLS)

Basically https://github.com/rust-lang/rust/pull/59916 with one fix applied to make it build

5 years agoAdd test and fix dedup
Esteban Küber [Fri, 12 Apr 2019 18:42:52 +0000 (11:42 -0700)]
Add test and fix dedup

5 years agoFix paste error in split_ascii_whitespace docs.
Scott Olson [Fri, 12 Apr 2019 19:57:42 +0000 (13:57 -0600)]
Fix paste error in split_ascii_whitespace docs.

5 years agoUpdate rls
flip1995 [Fri, 12 Apr 2019 13:50:41 +0000 (15:50 +0200)]
Update rls

5 years agoUpdate Clippy
flip1995 [Fri, 12 Apr 2019 13:49:59 +0000 (15:49 +0200)]
Update Clippy

5 years agoRollup merge of #59892 - rylev:as-raw-fd, r=alexcrichton
Mazdak Farrokhzad [Fri, 12 Apr 2019 18:36:18 +0000 (20:36 +0200)]
Rollup merge of #59892 - rylev:as-raw-fd, r=alexcrichton

Impl RawFd conversion traits for WASI TcpListener, TcpStream and UdpSocket

r? @alexcrichton

5 years agoRollup merge of #59866 - estebank:recover-missing-semi, r=petrochenkov
Mazdak Farrokhzad [Fri, 12 Apr 2019 18:36:16 +0000 (20:36 +0200)]
Rollup merge of #59866 - estebank:recover-missing-semi, r=petrochenkov

Recover from missing semicolon based on the found token

When encountering one of a few keywords when a semicolon was
expected, suggest the semicolon and recover:

```
error: expected one of `.`, `;`, `?`, or an operator, found `let`
  --> $DIR/recover-missing-semi.rs:4:5
   |
LL |     let _: usize = ()
   |                      - help: missing semicolon here
LL |
LL |     let _ = 3;
   |     ^^^

error[E0308]: mismatched types
  --> $DIR/recover-missing-semi.rs:2:20
   |
LL |     let _: usize = ()
   |                    ^^ expected usize, found ()
   |
   = note: expected type `usize`
              found type `()`
```

5 years agoRollup merge of #59862 - estebank:tweak-unstable-diag, r=petrochenkov
Mazdak Farrokhzad [Fri, 12 Apr 2019 18:36:15 +0000 (20:36 +0200)]
Rollup merge of #59862 - estebank:tweak-unstable-diag, r=petrochenkov

Tweak unstable diagnostic output

5 years agoRollup merge of #59859 - davidtwco:issue-59756, r=cramertj
Mazdak Farrokhzad [Fri, 12 Apr 2019 18:36:13 +0000 (20:36 +0200)]
Rollup merge of #59859 - davidtwco:issue-59756, r=cramertj

Suggest removing `?` to resolve type errors.

Fixes #59756.

5 years agoRollup merge of #59847 - Kampfkarren:try-block-catch, r=estebank
Mazdak Farrokhzad [Fri, 12 Apr 2019 18:36:11 +0000 (20:36 +0200)]
Rollup merge of #59847 - Kampfkarren:try-block-catch, r=estebank

Error when using `catch` after `try`

Part of https://github.com/rust-lang/rust/issues/31436

5 years agoRollup merge of #59846 - euclio:not-a-module, r=davidtwco
Mazdak Farrokhzad [Fri, 12 Apr 2019 18:36:09 +0000 (20:36 +0200)]
Rollup merge of #59846 - euclio:not-a-module, r=davidtwco

clarify what the item is in "not a module" error

The motivation here was that I was trying to import an associated constant when I thought it was an enum variant, and got confused by this error.

Ideally I would like to add a note saying that associated constants, types, and methods cannot be imported, but I'm not sure that the associated items for a `Def` can be checked at resolve time.

5 years agoRollup merge of #59820 - eddyb:proc-macro-rpc-opt, r=nnethercote
Mazdak Farrokhzad [Fri, 12 Apr 2019 18:36:07 +0000 (20:36 +0200)]
Rollup merge of #59820 - eddyb:proc-macro-rpc-opt, r=nnethercote

proc_macro: stop using LEB128 for RPC.

I'm not sure how much of an improvement this creates, it's pretty tricky to measure.

5 years agoRollup merge of #59781 - whitfin:issue-59378, r=oli-obk
Mazdak Farrokhzad [Fri, 12 Apr 2019 18:36:05 +0000 (20:36 +0200)]
Rollup merge of #59781 - whitfin:issue-59378, r=oli-obk

Remove check_match from const_eval

This fixes #59378.

It seems that the `check_match` may be unnecessary, so this removes it per instructions provided in the issue. I re-ran the tests for `librustc_mir` and everything seemed fine!

5 years agoStabilize the `alloc` crate.
Simon Sapin [Wed, 3 Apr 2019 17:50:28 +0000 (19:50 +0200)]
Stabilize the `alloc` crate.

This implements RFC 2480:

* https://github.com/rust-lang/rfcs/pull/2480
* https://github.com/rust-lang/rfcs/blob/master/text/2480-liballoc.md

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

5 years agoApply resource-suffix to search-index and source-files scripts as well
Guillaume Gomez [Sun, 7 Apr 2019 16:09:28 +0000 (18:09 +0200)]
Apply resource-suffix to search-index and source-files scripts as well

5 years agoAuto merge of #59733 - cramertj:wake-by-ref, r=withoutboats
bors [Fri, 12 Apr 2019 17:24:01 +0000 (17:24 +0000)]
Auto merge of #59733 - cramertj:wake-by-ref, r=withoutboats

Final (one can only hope) futures_api adjustments

Based on https://github.com/rust-lang/rust/pull/59119 -- this change is only the latter two commits.
cc https://github.com/rust-lang/rust/issues/59725

r? @withoutboats

5 years agoDon't generate empty json variables
Guillaume Gomez [Thu, 11 Apr 2019 20:48:53 +0000 (22:48 +0200)]
Don't generate empty json variables

5 years agoadd the logic for when other_ty is FnDef
rchaser53 [Fri, 12 Apr 2019 13:59:30 +0000 (22:59 +0900)]
add the logic for when other_ty is FnDef

5 years agoAuto merge of #59651 - tmandry:discr-index, r=eddyb
bors [Fri, 12 Apr 2019 14:38:15 +0000 (14:38 +0000)]
Auto merge of #59651 - tmandry:discr-index, r=eddyb

 Add discr_index to multi-variant layouts

We remove the assumption that the discriminant is always field 0, in
preparations for layouts like generators where this is not (always) going to be
the case.

Specifically, upvars are going to go before the discriminant. In theory, it's possible to remove _that_ assumption instead and keep the discriminant at field index 0, but one assumption or the other had to go :)

There is one place I know of in the debuginfo code where we'll still need to remove assumptions that the discriminant is the _only_ field. I was planning on doing this along with the upcoming generator change, which will also include tests that exercise the code changing in this PR.

r? @eddyb
cc @oli-obk
cc @cramertj

5 years agoAuto merge of #59910 - Centril:rollup-yjv7b06, r=Centril
bors [Fri, 12 Apr 2019 11:46:01 +0000 (11:46 +0000)]
Auto merge of #59910 - Centril:rollup-yjv7b06, r=Centril

Rollup of 15 pull requests

Successful merges:

 - #59680 (Document the -Z flag to the rustc book)
 - #59711 (Add back the substring test)
 - #59806 (compiletest: Improve no_prefer_dynamic docs)
 - #59809 (Make trait_methods_not_found use a lock)
 - #59811 (Kill dead code dominator code.)
 - #59814 (Fix broken links on std::boxed doc page)
 - #59821 (improve unknown enum variant errors)
 - #59831 (Remove strange formatting in `Ordering` docs.)
 - #59836 (std::ops::Div examples: correct nominator to numerator)
 - #59857 (SGX target: fix cfg(test) build)
 - #59876 (Update TRPL to use mdbook 0.2)
 - #59880 (Remove note about transmute for float bitpatterns.)
 - #59889 (Update diagnostics.rs)
 - #59891 (Fix the link to sort_by_cached_key)
 - #59894 (save-analysis: Pull associated type definition using `qpath_def`)

Failed merges:

r? @ghost

5 years agoMaybeUninit: remove deprecated functions
Ralf Jung [Fri, 12 Apr 2019 10:41:17 +0000 (12:41 +0200)]
MaybeUninit: remove deprecated functions

5 years agoRevert PR #59401 to fix issue #59652 (a stable-to-beta regression).
Felix S. Klock II [Fri, 12 Apr 2019 10:30:21 +0000 (12:30 +0200)]
Revert PR #59401 to fix issue #59652 (a stable-to-beta regression).

This is result of squashing two revert commits:

Revert "compile all crates under test w/ -Zemit-stack-sizes"

This reverts commit 7d365cf27f4249fc9b61ba8abfc813abe43f1cb7.

Revert "bootstrap: build compiler-builtins with -Z emit-stack-sizes"

This reverts commit 8b8488ce8fc047282e7159343f30609417f9fa39.

5 years agoRollup merge of #59894 - Xanewok:save-assoc-ty-qpath, r=eddyb
Mazdak Farrokhzad [Fri, 12 Apr 2019 10:18:11 +0000 (12:18 +0200)]
Rollup merge of #59894 - Xanewok:save-assoc-ty-qpath, r=eddyb

save-analysis: Pull associated type definition using `qpath_def`

Closes https://github.com/rust-lang/rls/issues/1390

This (probably?) fixes the case where we run the save-analysis code on the following snippet:
```rust
trait Test<'a> {
    type Thing: Test2;
}

trait Test2 {
    fn print();
}

#[allow(unused)]
fn example<T>(t: T)
    where T: for<'a> Test<'a>
{
    T::Thing::print(); //~ ERROR cannot extract an associated type from a higher-ranked trait bound in this context
    // ^ only errors in save-analysis mode
}
```

The chain is as follows:
- culprit is `hir_ty_to_ty`
- which calls `ast_ty_to_ty` in the `ItemCtxt`
- which calls `associated_path_to_ty`
- which finally fails on `projected_ty_from_poly_trait_ref`
https://github.com/rust-lang/rust/blob/3de0106789468b211bcc3a25c09c0cf07119186d/src/librustc_typeck/collect.rs#L212-L224

I'm not exactly sure why `hir_ty_to_ty` fails - is it because it needs more setup from typeck to work correctly? I'm guessing the fix is okay since we just pull the already typeck'd data (we run save-analysis after all the analysis passes are complete) from the tables.

With this change we can 'go to def' on all segments in the `T::Thing::print()` path.