Commit Graph

92421 Commits

Author SHA1 Message Date
Mazdak Farrokhzad
c065367ca0
Rollup merge of #59707 - GuillaumeGomez:GuillaumeGomez-patch-1, r=Centril
Add missing tryfrom example

r? @rust-lang/docs
2019-04-06 00:14:46 +02:00
Mazdak Farrokhzad
f3f6898719
Rollup merge of #59696 - michaelwoerister:fix-issue-59137, r=alexcrichton
Remove invalid assertion back:🔗:from add_upstream_rust_crates().

This removes a misplaced assertion. The function containing the assertion is actually only ever called for upstream crates that are not considered for LTO, so we don't care whether upstream code has been merged in by LTO or not.

Fixes #59137

r? @alexcrichton
2019-04-06 00:14:44 +02:00
Mazdak Farrokhzad
6c7ec18e33
Rollup merge of #59624 - jethrogb:jb/sgx-unwind-syms, r=alexcrichton
SGX target: Use linker option to avoid code CGU assignment kludge

cc @VardhanThigle @faern
2019-04-06 00:14:43 +02:00
Mazdak Farrokhzad
2b90d67320
Rollup merge of #59599 - XAMPPRocky:master, r=Mark-Simulacrum
Updated RELEASES.md for 1.34.0

[Rendered](https://github.com/XAMPPRocky/rust/blob/master/RELEASES.md)

This also corrects an omission in the previous 1.33.0 release.

r? @Mark-Simulacrum

cc @rust-lang/release
2019-04-06 00:14:41 +02:00
Mazdak Farrokhzad
e5435d97ea
Rollup merge of #58894 - GuillaumeGomez:invalid-lifetime-bounds, r=estebank
Fix invalid bounds string generation in rustdoc

Fixes #58737.

Very weird and I'm not sure this is the best fix around. However, trying to fix it beforehand seems overly complicated compared to the gain (in `clean`, it wouldn't change anything since we **have to** return something so that wouldn't work, and in `hir`, I'm afraid I'd break something else for very little gain).

Also, I wasn't able to make a small code to reproduce the issue. The only way to test is to document `crossbeam` directly and check the `Scope` struct...

r? @QuietMisdreavus
2019-04-06 00:14:40 +02:00
Taylor Cramer
1691e06db6 Future-proof the Futures API 2019-04-05 15:03:33 -07:00
Josh Stone
0730a01c5c Use for_each to extend collections
This updates the `Extend` implementations to use `for_each` for many
collections: `BinaryHeap`, `BTreeMap`, `BTreeSet`, `LinkedList`, `Path`,
`TokenStream`, `VecDeque`, and `Wtf8Buf`.

Folding with `for_each` enables better performance than a `for`-loop for
some iterators, especially if they can just forward to internal
iterators, like `Chain` and `FlatMap` do.
2019-04-05 14:51:07 -07:00
flip1995
278ab1905c
Move match_path from DefId to lint::LateContext 2019-04-05 23:04:56 +02:00
Aleksey Kladov
63080b3c25 remove lookup_char_pos_adj
It is now exactly equivalent to lookup_char_pos.
2019-04-05 23:16:09 +03:00
bors
acd8dd6a50 Auto merge of #59500 - crlf0710:boxed-closure-impls, r=cramertj
Unsized rvalues: implement boxed closure impls. (2nd try)

This is a rebase of S-blocked-closed PR #55431 to current master. LLVM has moved forward since then, so maybe we can check whether the new LLVM 8.0 version unblocked this work.
2019-04-05 17:45:43 +00:00
Unreachable
62a7bfd1ba Remove parens 2019-04-05 17:42:09 +00:00
Mazdak Farrokhzad
4ba3034140
Update RELEASES.md
Co-Authored-By: XAMPPRocky <4464295+XAMPPRocky@users.noreply.github.com>
2019-04-05 19:38:24 +02:00
Alex Crichton
bb2c0d1839 wasi: Use shared API for preopened fds
This commit updates the wasi target with supported added in
CraneStation/wasi-sysroot#10. That function allows both C and Rust to
cooperate in how preopened files are managed, enabling us to learn about
propened files through the same interface. The `open_parent` function in
the wasi `fs` module was updated to avoid its own initialization of a
global preopened map and instead delegate to libc to perform this
functionality.

This should both be more robust into the future in terms of handling
path logic as well as ensuring the propened map is correctly set up at
process boot time. This does currently require some unfortunate
allocations on our side, but if that becomes an issue we can always
paper over those in time!
2019-04-05 09:13:46 -07:00
Guillaume Gomez
c386210714 Add missing tryfrom example 2019-04-05 17:38:25 +02:00
Alex Crichton
d5985bc9ec rustc: Start implementing compat with LLVM 9
This commit doesn't actually migrate to LLVM 9, but it brings our own
C++ bindings in line with LLVM 9 and able to compile against tip of
tree. The changes made were:

* The `MainSubprogram` flag for debuginfo moved between flag types.
* Iteration of archive members was tweaked slightly and we have to
  construct the two iterators before constructing the returned
  `RustArchiveIterator` value.
* The `getOrInsertFunction` binding now returns a wrapper which we use
  `getCallee()` on to get the value we're interested in.
2019-04-05 08:10:18 -07:00
bors
20dbf28624 Auto merge of #59076 - dtolnay:comma, r=alexcrichton
Include trailing comma in multiline Debug representation

This PR changes the behavior of [`Formatter::debug_struct`](https://doc.rust-lang.org/std/fmt/struct.Formatter.html#method.debug_struct), [`debug_tuple`](https://doc.rust-lang.org/std/fmt/struct.Formatter.html#method.debug_tuple), [`debug_list`](https://doc.rust-lang.org/std/fmt/struct.Formatter.html#method.debug_list), [`debug_set`](https://doc.rust-lang.org/std/fmt/struct.Formatter.html#method.debug_set), and [`debug_map`](https://doc.rust-lang.org/std/fmt/struct.Formatter.html#method.debug_map) to render trailing commas in `{:#?}` mode, which is the dominant style in modern Rust code.

#### Before:

```console
Language {
    name: "Rust",
    trailing_commas: false
}
```

#### After:

```console
Language {
    name: "Rust",
    trailing_commas: true,
}
```
2019-04-05 15:01:07 +00:00
David Tolnay
cfd31fb4df
Include trailing comma in multiline Debug representation
This commit changes the behavior of Formatter::debug_struct,
debug_tuple, debug_list, debug_set, and debug_map to render trailing
commas in {:#?} mode, which is the dominant style in modern Rust code.

Before:

    Language {
        name: "Rust",
        trailing_commas: false
    }

After:

    Language {
        name: "Rust",
        trailing_commas: true,
    }
2019-04-05 06:45:40 -07:00
bors
4d7defb265 Auto merge of #59721 - Centril:rollup-ieam9ke, r=Centril
Rollup of 5 pull requests

Successful merges:

 - #59665 (improve worst-case performance of HashSet.is_subset)
 - #59687 (cleanup shebang handling in the lexer)
 - #59690 (Mark unix::ffi::OsStrExt methods as inline)
 - #59702 (Use declare_lint_pass! and impl_lint_pass! in more places)
 - #59712 (wasm32: Default to a "static" relocation model)

Failed merges:

r? @ghost
2019-04-05 12:13:52 +00:00
John Kåre Alsaker
25c448ffd8 Remove no_force from coherent_trait 2019-04-05 13:25:24 +02:00
Mazdak Farrokhzad
7249036de5
Rollup merge of #59712 - alexcrichton:wasm-static-not-pic, r=eddyb
wasm32: Default to a "static" relocation model

LLVM 9 is adding support for a "pic" relocation model for wasm code,
which is quite different than the current model. In order to preserve
the mode of compilation that we have today default to "static" to ensure
that we don't accidentally start creating experimental relocatable
binaries.
2019-04-05 12:46:53 +02:00
Mazdak Farrokhzad
c0ed443fdd
Rollup merge of #59702 - hgallagher1993:origin, r=Centril
Use declare_lint_pass! and impl_lint_pass! in more places

Fixes #59683
2019-04-05 12:46:52 +02:00
Mazdak Farrokhzad
c392832195
Rollup merge of #59690 - xfix:patch-17, r=cramertj
Mark unix::ffi::OsStrExt methods as inline

This is a small change, but I found it surprising it's not inlined looking at the assembly.
2019-04-05 12:46:51 +02:00
Mazdak Farrokhzad
2e7be1ed6c
Rollup merge of #59687 - matklad:shebang, r=petrochenkov
cleanup shebang handling in the lexer
2019-04-05 12:46:49 +02:00
Mazdak Farrokhzad
a3122e12d8
Rollup merge of #59665 - ssomers:hashset_revisited, r=KodrAus
improve worst-case performance of HashSet.is_subset

One more simple optimization opportunity for HashSet that was applied in BTreeSet in #59186 (and wasn't in #57043). Already covered by the existing unit test.

r? @KodrAus
2019-04-05 12:46:48 +02:00
Michael Woerister
a6e802ab4c Add regression test for #59137. 2019-04-05 11:32:45 +02:00
bors
a781c47243 Auto merge of #59681 - dtolnay:cargo, r=alexcrichton
Update cargo

20 commits in
63231f438a2b5b84ccf319a5de22343ee0316323..6f3e9c367abb497c64f360c3839dab5e74928d5c
2019-03-27 12:26:45 +0000 to 2019-04-04 14:11:33 +0000
- Fix Init for Fossil SCM project (rust-lang/cargo#6792)
- Fix member_manifest_version_error accessing the network (rust-lang/cargo#6799)
- Don't include email if it is empty (rust-lang/cargo#6802)
- Fix unused import warning (rust-lang/cargo#6807)
- Add some help and documentation for unstable flags (rust-lang/cargo#6791)
- Allow `cargo doc --open` with multiple packages (rust-lang/cargo#6803)
- Allow `cargo install --path P` to load config from P (rust-lang/cargo#6804)
- Add more suggestions on how to deal with excluding a package from a workspace (rust-lang/cargo#6805)
- Warn on version req with metadata (rust-lang/cargo#6806)
- cargo install: Be more restrictive about cli flags (rust-lang/cargo#6801)
- Support force-pushed repos with git-fetch-with-cli (rust-lang/cargo#6800)
- Cargo clippy (rust-lang/cargo#6759)
- Don't include metadata in wasm binary examples (rust-lang/cargo#6812)
- Update glossary for `feature` (rust-lang/cargo#6809)
- Include proc-macros in `build-override` (rust-lang/cargo#6811)
- Resolver: A dep is equivalent to one of the things it can resolve to (rust-lang/cargo#6776)
- Add some docs for `Downloads` (rust-lang/cargo#6815)
- Resolve: Be less strict while offline (rust-lang/cargo#6814)
- Accept trailing comma in test of impl Debug for PackageId (rust-lang/cargo#6818)
- Fix doc link (rust-lang/cargo#6820)

<br>

I specifically care about "Accept trailing comma in test of impl Debug for PackageId (rust-lang/cargo#6818)" to unblock https://github.com/rust-lang/rust/pull/59076.

Mentioning @ehuss.
2019-04-05 09:30:13 +00:00
Charles Lew
812d89c87d Fix expectations on some ui test in nll compare mode. 2019-04-05 14:47:20 +08:00
bors
a11083e3c6 Auto merge of #59643 - alexcrichton:wasi-symbols, r=sanxiyn
std: Upgrade `compiler_builtins` to fix wasi linkage

Turns out we needed to exclude a number of math functions on the
`wasm32-unknown-wasi` target, and this was fixed in 0.1.9 of
compiler-builtins and this is pulling in the fix to libstd's own build.
2019-04-05 05:16:45 +00:00
Unreachable
84096e0530 improve docs for std::hint::unreachable_unchecked() 2019-04-05 03:05:33 +00:00
bors
8e2faa0041 Auto merge of #59704 - alexcrichton:fix-freebsd, r=pietroalbini
ci: Update FreeBSD tarball downloads

These appear to have disappeared from the original server, so I acquired
the contents from a different mirror and uploaded them to our S3 bucket
2019-04-05 02:32:20 +00:00
Nicholas Nethercote
fd7f605365 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 12% for incremental "check" builds of `script-servo`.

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.
2019-04-05 12:26:09 +11:00
John Kåre Alsaker
43e33ea1ff Add DropArena and use it to allocate types with few allocations 2019-04-05 00:55:09 +02:00
John Kåre Alsaker
4ccb9ae98a Impl UseSpecializedDecodable for &T 2019-04-05 00:55:07 +02:00
John Kåre Alsaker
e835d27ad3 Make ArenaAllocatable a marker trait to allow overlapping impls and use specialization to find the right field 2019-04-05 00:55:07 +02:00
John Kåre Alsaker
002c70f2d4 Introduce an arena type which may be used to allocate a list of types with destructors 2019-04-05 00:55:07 +02:00
Guillaume Gomez
894142de5d Add back the substring test 2019-04-04 22:28:52 +02:00
Matthew Jasper
968ea1ce32 Mark variables captured by reference as mutable correctly 2019-04-04 21:25:08 +01:00
Alex Crichton
471db2b84b wasm32: Default to a "static" relocation model
LLVM 9 is adding support for a "pic" relocation model for wasm code,
which is quite different than the current model. In order to preserve
the mode of compilation that we have today default to "static" to ensure
that we don't accidentally start creating experimental relocatable
binaries.
2019-04-04 13:23:42 -07:00
Alex Crichton
fcc8b8cef2 ci: Update FreeBSD tarball downloads
These appear to have disappeared from the original server, so I acquired
the contents from a different mirror and uploaded them to our S3 bucket
2019-04-04 11:40:21 -07:00
Masaki Hara
7a63c7f010 Add ignore to doc code 2019-04-05 02:32:30 +08:00
Masaki Hara
440e873a47 Simplify fnbox docs. 2019-04-05 02:32:29 +08:00
Charles Lew
ecc3e89dd0 Stabilize boxed_closure_impls in 1.35.0. 2019-04-05 02:32:21 +08:00
Masaki Hara
45c0b28bcb Remove FnBox specialization of impl FnOnce for Box<impl FnOnce>. 2019-04-05 02:27:05 +08:00
Masaki Hara
a38f29272e We already have unsized_locals in stage0. 2019-04-05 02:27:03 +08:00
Masaki Hara
4dcd6cc208 Fix failing tests. 2019-04-05 02:27:01 +08:00
Masaki Hara
e55d82c8a3 Fix expectations on some ui tests involving FnOnce. 2019-04-05 02:26:59 +08:00
Masaki Hara
219097ecf6 Add unstable-book articles on fnbox and boxed_closure_impls. 2019-04-05 02:26:56 +08:00
Masaki Hara
480dcb403c Add tests for boxed_closure_impls. 2019-04-05 02:26:54 +08:00
Masaki Hara
059ec76d9b Add Fn* blanket impls for Box. 2019-04-05 02:26:51 +08:00
Masaki Hara
79941973af Make FnBox a subtrait of FnOnce. 2019-04-05 02:26:49 +08:00