about summary refs log tree commit diff
AgeCommit message (Collapse)AuthorLines
2020-01-22Auto merge of #68442 - Centril:rollup-ir2vmid, r=Centrilbors-62/+40
Rollup of 3 pull requests Successful merges: - #68421 (Update cargo, books) - #68422 (typeck: simplify the handling of `diverges`) - #68439 (Update Clippy) Failed merges: r? @ghost
2020-01-22Rollup merge of #68439 - JohnTitor:clippy-up, r=JohnTitorMazdak Farrokhzad-12/+8
Update Clippy Fixes #68431 r? @ghost
2020-01-22Rollup merge of #68422 - Centril:diverges-simplify, r=eddybMazdak Farrokhzad-46/+22
typeck: simplify the handling of `diverges` Some drive-by cleanup while working on `hir::ExprKind::Let`. Ostensibly, this has some perf benefits due to reduced allocation and whatnot as well. r? @eddyb
2020-01-22Rollup merge of #68421 - ehuss:update-cargo-books, r=alexcrichtonMazdak Farrokhzad-4/+10
Update cargo, books ## cargo 9 commits in ad3dbe10e1e654fb1f032a5dd9481d7cbaa00d65..f6449ba236db31995255ac5e4cad4ab88296a7c6 2020-01-13 21:37:15 +0000 to 2020-01-21 16:15:39 +0000 - Fix wrong directories in host_libdir. (rust-lang/cargo#7798) - Update humantime requirement from 1.2.0 to 2.0.0 (rust-lang/cargo#7815) - Fix doc_target test which no longer works on stable/beta. (rust-lang/cargo#7817) - Fix some erroneous em-dashes in man pages. (rust-lang/cargo#7814) - fix some clippy warnings (rust-lang/cargo#7808) - Don't assume iowait always increases on Linux (rust-lang/cargo#7803) - Add and update some doc comments. (rust-lang/cargo#7800) - Consistently use em-dash in environment documentation page. (rust-lang/cargo#7799) - Load credentials only when needed (rust-lang/cargo#7774) ## reference 3 commits in e1157538e86d83df0cf95d5e33bd943f80d0248f..11e893fc1357bc688418ddf1087c2b7aa25d154d 2019-12-22 13:13:14 +0100 to 2020-01-18 21:24:08 +0100 - Small improvements to types/pointer.md (rust-lang-nursery/reference#726) - repr(transparent): mention align=1 requirement (rust-lang-nursery/reference#737) - Elaborate on how to use an extern static correctly (rust-lang-nursery/reference#736) ## book 4 commits in 5c5cfd2e94cd42632798d9bd3d1116133e128ac9..87dd6843678575f8dda962f239d14ef4be14b352 2019-12-16 09:27:21 -0600 to 2020-01-20 15:20:40 -0500 - Fix listing numbers (rust-lang/book#2227) - Move `async` and `await` keywords to 'Currently in Use' (rust-lang/book#2140) - More cleanup - remove unneeded files (rust-lang/book#2213) - Small cleanups extracted from the bigger pr i'm working on (rust-lang/book#2212) ## rust-by-example 1 commits in 1d59403cb5269c190cc52a95584ecc280345495a..1c2bd024d13f8011307e13386cf1fea2180352b5 2019-12-27 08:27:05 -0300 to 2020-01-20 12:18:36 -0300 - CamelCase -> UpperCamelCase (rust-lang/rust-by-example#1302) ## embedded-book 1 commits in 9493b7d4dc97eda439bd8780f05ad7b234cd1cd7..4d78994915af1bde9a95c04a8c27d8dca066232a 2019-12-27 20:05:00 +0000 to 2020-01-14 08:25:25 +0000 - Update .gitattributes (rust-embedded/book#221)
2020-01-22Update ClippyYuki Okushi-12/+8
2020-01-21Auto merge of #68423 - Centril:rollup-bdjykrv, r=Centrilbors-564/+780
Rollup of 7 pull requests Successful merges: - #67686 (Simplify NodeHeader by avoiding slices in BTreeMaps with shared roots) - #68140 (Implement `?const` opt-out for trait bounds) - #68313 (Options IP_MULTICAST_TTL and IP_MULTICAST_LOOP are 1 byte on BSD) - #68328 (Actually pass target LLVM args to LLVM) - #68399 (check_match: misc unifications and ICE fixes) - #68415 (tidy: fix most clippy warnings) - #68416 (lowering: cleanup some hofs) Failed merges: r? @ghost
2020-01-21Rollup merge of #68416 - Centril:lowering-cleanup-hofs, r=pietroalbiniMazdak Farrokhzad-12/+3
lowering: cleanup some hofs Some drive-by cleanup while working on `let_chains`. r? @pietroalbini
2020-01-21Rollup merge of #68415 - matthiaskrgr:tidy_clippy, r=oli-obkMazdak Farrokhzad-7/+7
tidy: fix most clippy warnings
2020-01-21Rollup merge of #68399 - Centril:check-match-unify, r=oli-obkMazdak Farrokhzad-95/+198
check_match: misc unifications and ICE fixes These are some unifications made as a by-product of working on `hir::ExprKind::Let`. Fixes https://github.com/rust-lang/rust/issues/68396. Fixes https://github.com/rust-lang/rust/issues/68394. Fixes https://github.com/rust-lang/rust/issues/68393. r? @oli-obk @matthewjasper
2020-01-21Rollup merge of #68328 - jethrogb:jb/target-llvm-args, r=alexcrichtonMazdak Farrokhzad-2/+3
Actually pass target LLVM args to LLVM Missed in #68059 r? @alexcrichton
2020-01-21Rollup merge of #68313 - batrla:master, r=alexcrichtonMazdak Farrokhzad-73/+51
Options IP_MULTICAST_TTL and IP_MULTICAST_LOOP are 1 byte on BSD Options IP_MULTICAST_TTL and IP_MULTICAST_LOOP are 1 byte on BSD and Solaris See ip(4P) man page: IP_MULTICAST_TTL Time to live for multicast datagrams. This option takes an unsigned character as an argument. Its value is the TTL that IP uses on outgoing multi- cast datagrams. The default is 1. IP_MULTICAST_LOOP Loopback for multicast datagrams. Normally multi- cast datagrams are delivered to members on the sending host (or sending zone). Setting the unsigned character argument to 0 causes the oppo- site behavior, meaning that when multiple zones are present, the datagrams are delivered to all zones except the sending zone. https://docs.oracle.com/cd/E88353_01/html/E37851/ip-4p.html https://man.openbsd.org/ip.4
2020-01-21Rollup merge of #68140 - ecstatic-morse:const-trait-bound-opt-out, r=oli-obkMazdak Farrokhzad-310/+494
Implement `?const` opt-out for trait bounds For now, such bounds are treated exactly the same as unprefixed ones in all contexts. [RFC 2632](https://github.com/rust-lang/rfcs/pull/2632) does not specify whether such bounds are forbidden outside of `const` contexts, so they are allowed at the moment. Prior to this PR, the constness of a trait bound/impl was stored in `TraitRef`. Now, the constness of an `impl` is stored in `ast::ItemKind::Impl` and the constness of a bound in `ast::TraitBoundModifer`. Additionally, constness of trait bounds is now stored in an additional field of `ty::Predicate::Trait`, and the combination of the constness of the item along with any `TraitBoundModifier` determines the constness of the bound in accordance with the RFC. Encoding the constness of impls at the `ty` level is left for a later PR. After a discussion in \#wg-grammar on Discord, it was decided that the grammar should not encode the mutual exclusivity of trait bound modifiers. The grammar for trait bound modifiers remains `[?const] [?]`. To encode this, I add a dummy variant to `ast::TraitBoundModifier` that is used when the syntax `?const ?` appears. This variant causes an error in AST validation and disappears during HIR lowering. cc #67794 r? @oli-obk
2020-01-21Rollup merge of #67686 - ssomers:keys_start_slasher, r=Mark-SimulacrumMazdak Farrokhzad-65/+24
Simplify NodeHeader by avoiding slices in BTreeMaps with shared roots Simplify a complicated piece of code that creates slices of keys in node leaves.
2020-01-21Update cargo, booksEric Huss-4/+10
2020-01-21typeck: remove redundant diverges checkMazdak Farrokhzad-10/+8
2020-01-21typeck: remove redundant diverges codeMazdak Farrokhzad-23/+8
2020-01-21typeck: use diverges.replace(..)Mazdak Farrokhzad-13/+6
2020-01-21lowering: cleanup some hofsMazdak Farrokhzad-12/+3
2020-01-21Auto merge of #65672 - ecstatic-morse:unified-dataflow-proto, r=pnkfelixbors-721/+1824
A single framework for gen-kill and generic dataflow problems This is the prototype implementation discussed in rust-lang/compiler-team#202. You can read a high-level description of it in [the proposal](https://hackmd.io/@39Qr_z9cQhasi25sGjmFnA/Skvd9rztS) for that design meeting. This would eventually supersede the existing `BitDenotation` interface. r? @ghost cc @rust-lang/compiler (esp. @eddyb and @pnkfelix)
2020-01-21Declare unsafe functions that can no longer handle shared rootsStein Somers-6/+6
2020-01-21tidy: fix most clippy warningsMatthias Krüger-7/+7
2020-01-21Add comment explaining `MaybeConstMaybe` loweringDylan MacKenzie-0/+5
2020-01-21trade in outdated comments for correct onesStein Somers-2/+2
2020-01-21Auto merge of #68267 - estebank:lt-sugg, r=petrochenkovbors-80/+485
Tweak lifetime definition errors Taking inspiration from the narrative in @fasterthanlime's https://fasterthanli.me/blog/2019/declarative-memory-management/, add suggestions to some lifetime definition errors.
2020-01-21Auto merge of #68154 - ssomers:btreemap_navigation_benches, r=Mark-Simulacrumbors-8/+69
Add more BTreeMap/BTreeSet benchmarks regarding iteration Serving #67073 or other developments
2020-01-20Auto merge of #68405 - JohnTitor:rollup-kj0x4za, r=JohnTitorbors-242/+266
Rollup of 8 pull requests Successful merges: - #67734 (Remove appendix from Apache license) - #67795 (Cleanup formatting code) - #68290 (Fix some tests failing in `--pass check` mode) - #68297 ( Filter and test predicates using `normalize_and_test_predicates` for const-prop) - #68302 (Fix #[track_caller] and function pointers) - #68339 (Add `riscv64gc-unknown-linux-gnu` into target list in build-manifest) - #68381 (Added minor clarification to specification of GlobalAlloc::realloc.) - #68397 (rustdoc: Correct order of `async` and `unsafe` in `async unsafe fn`s) Failed merges: r? @ghost
2020-01-20check_match: simplify check_armMazdak Farrokhzad-63/+46
2020-01-21Rollup merge of #68397 - ollie27:rustdoc_async_unsafe, r=CentrilYuki Okushi-5/+12
rustdoc: Correct order of `async` and `unsafe` in `async unsafe fn`s The order was swapped in #61319 but rustdoc was never updated to match. r? @GuillaumeGomez
2020-01-21Rollup merge of #68381 - mjp41:master, r=Dylan-DPCYuki Okushi-1/+2
Added minor clarification to specification of GlobalAlloc::realloc. The specification of `realloc` is slightly unclear: ``` /// * `layout` must be the same layout that was used /// to allocate that block of memory, ``` https://github.com/rust-lang/rust/blob/master/src/libcore/alloc.rs#L541-L542 In the case of an `alloc` or `alloc_zeroed` this is fairly evidently the `layout` parameter passed into the original call. In the case of a `realloc`, this I assume is `layout` modified to contain `new_size`. However, I could not find this case specified in the documentation. Thus technically in a sequence of calls to `realloc`, it would be valid to provide the second call to `realloc` the same `layout` as the first call to `realloc`, which is almost certainly not going to be handled correctly. This PR attempts to clarify the specification.
2020-01-21Rollup merge of #68339 - msizanoen1:patch-1, r=pietroalbiniYuki Okushi-0/+1
Add `riscv64gc-unknown-linux-gnu` into target list in build-manifest Missed in #68037 r? @alexcrichton
2020-01-21Rollup merge of #68302 - anp:caller-fn-ptr, r=eddyb,oli-obkYuki Okushi-28/+97
Fix #[track_caller] and function pointers Starting with failing tests, fix the miscompilation and ICE caused by `ReifyShim` bug. Fixes #68178.
2020-01-21Rollup merge of #68297 - Aaron1011:fix/new-const-prop-bounds, r=oli-obkYuki Okushi-72/+79
Filter and test predicates using `normalize_and_test_predicates` for const-prop Fixes #68264 Previously, I attempted to use `substitute_normalize_and_test_predicates` to detect unsatisfiable bounds. Unfortunately, since const-prop runs in a generic environment (we don't have any of the function's generic parameters substituted), this could lead to cycle errors when attempting to normalize predicates. This check is replaced with a more precise check. We now only call `normalize_and_test_predicates` on predicates that have the possibility of being proved unsatisfiable - that is, predicates that don't depend on anything local to the function (e.g. generic parameters). This ensures that we don't hit cycle errors when we normalize said predicates, while still ensuring that we detect unsatisfiable predicates. I haven't been able to come up with a minimization of the Diesel issue - however, I've verified that it compiles successfully.
2020-01-21Rollup merge of #68290 - petrochenkov:passcheck, r=oli-obkYuki Okushi-25/+28
Fix some tests failing in `--pass check` mode Warnings reported at codegen or linking time either have to be converted to errors (preferable), or the tests for them need to be marked with `// ignore-pass` (as a last resort). https://github.com/rust-lang/rust/commit/ecd5852194f43511443f134aebf0462b58c8e197 turned them from errors to warnings, but that shouldn't be necessary because it's still clear from the `.stderr` output that the errors are lints and not hard-coded.
2020-01-21Rollup merge of #67795 - Mark-Simulacrum:fmt-argument, r=dtolnayYuki Okushi-86/+47
Cleanup formatting code This removes a few leftover positional enum variants that were no longer used. All details that are changed are unstable (and `#[doc(hidden)]`), so this should not impact downstream code.
2020-01-21Rollup merge of #67734 - XAMPPRocky:master, r=skadeYuki Okushi-25/+0
Remove appendix from Apache license Looking at the codebase I noticed an oddity, in that the appendix of how use the Apache licence is still contained in the licence file. We don't put licence headers at the top of all of our files so I don't think we need to keep this. Alternatively we could delete everything above line 191 to have a shorter licence file.
2020-01-20Auto merge of #68066 - CAD97:stabilize-manuallydrop-take, ↵bors-8/+8
r=Amanieu,Mark-Simulacrum Stabilize ManuallyDrop::take Tracking issue: closes #55422 FCP merge: https://github.com/rust-lang/rust/issues/55422#issuecomment-572653619 Reclaims the doc improvements from closed #62198. ----- Stable version is a simple change if necessary. Proposal: [relnotes] (this changes how to best take advantage of `ManuallyDrop`, esp. wrt. `Drop::drop` and finalize-by-value members)
2020-01-20check_match: unify some lowering code and fix some ICEsMazdak Farrokhzad-19/+100
2020-01-20refactor fix using cfg_if! (fix build on Solaris)Vita Batrla-0/+1
2020-01-20rustdoc: Correct order of `async` and `unsafe` in `async unsafe fn`sOliver Middleton-5/+12
2020-01-20Fix UI testMark Rousskov-31/+8
fmt::Formatter is still not Send/Sync, but the UI test emitted two errors, for the dyn Write and the Void inside Formatter. As of this PR, the Void is now gone, but the dyn Write remains.
2020-01-20generalize bindings_with_variant_name lintMazdak Farrokhzad-14/+53
2020-01-20Drop args from FormatterMark Rousskov-13/+6
These are no longer used by Formatter methods.
2020-01-20Move run/getcount to functionsMark Rousskov-38/+35
These are only called from one place and don't generally support being called from other places; furthermore, they're the only formatter functions that look at the `args` field (which a future commit will remove).
2020-01-20Delete unused "next" variants from formatting infrastructureMark Rousskov-22/+16
The formatting infrastructure stopped emitting these a while back, and in removing them we can simplify related code.
2020-01-20Auto merge of #68277 - michaelwoerister:re-export-dylib-instances, ↵bors-48/+267
r=alexcrichton Make sure that all upstream generics get re-exported from Rust dylibs. This PR contains a fix for #67276. Rust dylibs would not re-export all generic instances when compiling with `-Zshare-generics=on` (=default for debug builds) which could lead to situations where the compiler expected certain generic instances to be available but then the linker would not find them. ### TODO - [x] Write a regression test based on the description [here](https://github.com/rust-lang/rust/issues/67276#issuecomment-574613457). - [x] Find out if this also fixes other issues related to https://github.com/rust-lang/rust/issues/64319. r? @alexcrichton ~~(once the TODOs are done)~~ cc @pnkfelix @AlexKornitzer
2020-01-20Add regression test for #64319 back in.Michael Woerister-0/+53
The regression test is originally from #64324 but was removed again after the fix in there turned out to break other things.
2020-01-20Add regression test for shared-generics x dylibs (#67276).Michael Woerister-0/+74
2020-01-20Make sure that all upstream generics get re-exported from Rust dylibs.Michael Woerister-48/+140
2020-01-20Added minor clarification to specification of realloc.Matthew Parkinson-1/+2
The `layout` for the returned allocation of a `realloc` is only implicitly specified. This change makes it explicit.
2020-01-20Update testsDylan MacKenzie-94/+49