about summary refs log tree commit diff
AgeCommit message (Collapse)AuthorLines
2019-04-22Auto merge of #60168 - varkor:tidy-leading-newline, r=alexcrichtonbors-16/+14
Add a tidy check for leading newlines This is fairly uncommon, but it can slip through when refactoring (as evidenced by the files with leading newlines here).
2019-04-22Update ui testsvarkor-4/+4
2019-04-22Remove leading newlinesvarkor-12/+3
2019-04-22Add a tidy check for leading trailing newlinesvarkor-0/+7
2019-04-22Disallow double trailing newlines in tidyvarkor-1/+1
2019-04-22Remove double trailing newlinesvarkor-240/+2
2019-04-22upgrade rustdoc's pulldown-cmark to 0.4.1Andy Russell-124/+113
2019-04-22Auto merge of #59114 - matthewjasper:enable-migate-2015, r=pnkfelixbors-22244/+6035
Enable NLL migrate mode on the 2015 edition ## What is in this PR? * Remove the `-Zborrowck=ast` flag option from rustc. * The default in the 2015 edition is now `-Zborrowck=migrate`. * The 2018 edition default is unchanged: it's still `-Zborrowck=migrate`. * Enable two-phase borrows (currently toggled via the `-Ztwo-phase-borrows` flag) on all editions. * Remove most dead code that handled these options. * Update tests for the above changes. ## What is *not* in this PR? These are left for future PRs * Use `-Zborrowck=mir` in NLL compare mode tests (#56993) * Remove the `-Zborrowck=compare` option (#59193) * Remove the `-Ztwo-phase-borrows` flag. It's kept, as a flag that does nothing so that perf.rlo has time to stop using it (cc @Mark-Simulacrum) * Remove MIR typeck as its own MIR pass - it's now run by NLL. * Enabling `-Zborrowck=mir` by default (#58781) * Replace `allow_bind_by_move_patterns_with_guards` and `check_for_mutation_in_guard_via_ast_walk` with just using the feature gate. (#59192) Soundness issues that are fixed by NLL will stay open until full NLL is emitting hard errors. However, these diagnostics and completeness issues can now be closed: Closes #18330 Closes #22323 Closes #23591 Closes #26736 Closes #27487 Closes #28092 Closes #28970 Closes #29733 Closes #30104 Closes #38915 Closes #39908 Closes #43407 Closes #47524 Closes #48540 Closes #49073 Closes #52614 Closes #55085 Closes #56093 Closes #56496 Closes #57804 cc #43234 r? @pnkfelix cc @rust-lang/lang cc @rust-lang/wg-compiler-nll
2019-04-22update tests for migrate mode by defaultMatthew Jasper-21887/+5881
2019-04-22Auto merge of #60133 - phansch:deny_rust_2018_idioms, r=Centrilbors-52/+56
Deny rust_2018_idioms globally cc https://github.com/rust-lang/rust/issues/58099#issuecomment-484921194
2019-04-22Breaking update of stdsimdgnzlbg-0/+0
This commit updates stdsimd and contains two breaking changes: * https://github.com/rust-lang-nursery/stdsimd/pull/733 * https://github.com/rust-lang-nursery/stdsimd/pull/586 We already did a crater run of 586 but we should do another one here.
2019-04-22Auto merge of #60053 - Xanewok:serde-save-analysis, r=nrcbors-43/+42
save-analysis: Use serde instead of libserialize to dump JSON data This breaks the save-analysis infrastructure (which also includes `rls-{analysis, data, span}` crates) from depending on rustc_serialize and so we can start moving them to being supported on stable without implementing `Decodable` et al. by hand for data structures defined there. Notable benefits: - we drop the awkward raw byte `PathBuf` [serialization](https://gist.github.com/Xanewok/f4fe8564d0dc0c3ab1dbc244279ff895) (until now (de)serialized as `&[u8]`) - [faster](https://github.com/serde-rs/json-benchmark) (hopefully noticeable for inner crate dependencies for the RLS workloads) - we can easily explore the binary serialization backend (which we planned to do for save-analysis anyway) ~This should be merged together with an update to RLS (https://github.com/rust-lang/rls/pull/1435), which technically could be included right now because we can use the bundled `rls-analysis` here directly, however I'd prefer to publish this to crates.io first (https://github.com/rust-lang/rls/pull/1434, cc @nrc) and use the published version, instead.~ Includes https://github.com/rust-lang/rls/pull/1436. @matklad @nikomatsakis This is also important for the potential RLS 1.0 - 2.0 bridge we talked about on Zulip today
2019-04-21Auto merge of #60158 - Xanewok:update-clippy, r=matthiaskrgrbors-8/+10
Update Clippy Fixes fallout from https://github.com/rust-lang/rust/pull/60124. Closes #60154. r? @oli-obk cc @matthiaskrgr
2019-04-21Update ClippyIgor Matuszewski-8/+10
Fixes fallout from https://github.com/rust-lang/rust/pull/60124. Closes #60154.
2019-04-21Enable migrate mode by default on the 2015 editionMatthew Jasper-357/+154
This also fully stabilizes two-phase borrows on all editions
2019-04-21Suggest dereferencing when `Deref` is implemented.David Wood-10/+70
This commit suggests dereferencing a type when it implements `Deref` with the correct `Output` associated type.
2019-04-21Add existing behaviour test for deref suggestions.David Wood-0/+44
This commit adds a test that demonstrates the current behaviour where suggestions to add a dereference aren't given for non-references.
2019-04-21Display original pattern in rustdoc.David Wood-1/+1
This commit displays the original pattern in generated documentation for async functions rather than the synthesized pattern.
2019-04-21Correct lowering order to avoid ICE after rebase.David Wood-11/+17
This commit changes the order that arguments and bodies of async functions are lowered so that when the body attempts to `lower_def` of a upvar then the id has already been assigned by lowering the argument first.
2019-04-21Introduce `ArgSource` for diagnostics.David Wood-21/+128
This commit introduces an `ArgSource` enum that is lowered into the HIR so that diagnostics can correctly refer to the argument pattern's original name rather than the generated pattern.
2019-04-21Do not specify type in generated let bindings.David Wood-6/+7
This avoids issues with `impl_trait_in_bindings` as the type from the argument is normally used as the let binding, but `impl Trait` is unstable in binding position.
2019-04-21Enforce consistent drop order w/ async methods.David Wood-9/+130
This commit extends the previous commit to apply to trait methods as well as free functions.
2019-04-21Move `async fn` arguments into closure.David Wood-37/+115
This commit takes advantage of `AsyncArgument` type that was added in a previous commit to replace the arguments of the `async fn` in the HIR and add statements to move the bindings from the new arguments to the pattern from the old argument. For example, the async function `foo` below: async fn foo((x, _y): (T, V)) { async move { } } becomes: async fn foo(__arg0: (T, V)) { async move { let (x, _y) = __arg0; } }
2019-04-21Add `AsyncArgument` to AST.David Wood-53/+171
This commit adds an `AsyncArgument` struct to the AST that contains the generated argument and statement that will be used in HIR lowering, name resolution and def collection.
2019-04-21Use sysroot libserialize in newtype_index testIgor Matuszewski-1/+1
2019-04-21Auto merge of #60124 - petrochenkov:stanomut, r=eddybbors-96/+93
Remove mutability from `Def::Static` Querify `TyCtxt::is_static`. Use `Mutability` instead of bool in foreign statics in AST/HIR. cc https://github.com/rust-lang/rust/pull/60110 r? @eddyb
2019-04-21AST/HIR: Use `Mutability` instead of bool in foreign staticsVadim Petrochenkov-16/+14
2019-04-21Remove mutability from `Def::Static`Vadim Petrochenkov-35/+26
2019-04-21Change return type of `TyCtxt::is_static` to boolVadim Petrochenkov-20/+23
Add `TyCtxt::is_mutable_static`
2019-04-21Introduce query `static_mutability`Vadim Petrochenkov-28/+33
2019-04-21Switch to serde-enabled rls-* and update RLS appropriatelyIgor Matuszewski-33/+30
This also bumps RLS version to 1.36. The updated rls-* packages use serde but *not* serde_derive thanks to manual proc macro expansion. This is a hack, since rustc cannot handle crates.io proc macros (duplicated in tools) when cross-compiling, so that's the best we can do in order to support serde_json in save-analysis.
2019-04-21save-analysis: Use serde instead of libserialize to dump JSON dataIgor Matuszewski-9/+11
2019-04-21Auto merge of #60119 - estebank:bad-recovery, r=davidtwcobors-1/+17
Remove assumption from recovery code Fix #60115.
2019-04-21Allow unused_extern_crates for rustc_libserializePhilipp Hansch-0/+2
2019-04-21Introduce `LocalSource` into the AST.David Wood-4/+46
This will be used to keep track of the origin of a local in the AST. In particular, it will be used by `async fn` lowering for the locals in `let <pat>: <ty> = __arg0;` statements.
2019-04-21Add test for drop order in async functions.David Wood-0/+89
This tests that async functions drop parameters in the same order as regular functions.
2019-04-21Auto merge of #60132 - davidtwco:issue-60075, r=estebankbors-1/+55
Fix fn front matter parsing ICE from invalid code. Fixes #60075. This PR fixes an "unreachable code" ICE that results from parsing invalid code where the compiler is expecting the next trait item declaration in the middle of the previous trait item due to extra closing braces. r? @estebank (thanks for the minimized test case)
2019-04-20Update Fira Sans to version 4.202Manish Goregaokar-8/+3
From https://github.com/mozilla/Fira
2019-04-20Update Source Code Pro fonts to version 2.030Manish Goregaokar-3/+3
Pulled in from https://github.com/adobe-fonts/source-code-pro/
2019-04-20Update Source Serif Pro fonts to version 2.010Manish Goregaokar-3/+3
Pulled in from https://github.com/adobe-fonts/source-serif-pro/ See https://bugzilla.mozilla.org/show_bug.cgi?id=1545317
2019-04-21Auto merge of #60116 - RalfJung:miri-exit, r=oli-obkbors-0/+9
add Miri error variant for process exit This is to support https://github.com/rust-lang/miri/pull/702 r? @oli-obk
2019-04-20Auto merge of #60088 - varkor:async_await-method-feature-gate, r=cramertjbors-41/+79
Feature gate async methods Fixes https://github.com/rust-lang/rust/issues/60069.
2019-04-20Update error message in testvarkor-2/+1
2019-04-20Check async in trait methodsvarkor-5/+29
2019-04-20Fix additional variadic typosvarkor-3/+3
2019-04-20Fix typo in variadic C function warningvarkor-1/+1
2019-04-20Add test for async fn methods feature gatingvarkor-4/+19
2019-04-20Feature gate async fn methodsvarkor-19/+23
2019-04-20Refactor some existing methodsvarkor-15/+3
2019-04-20Add a `header` method to `FnKind`varkor-0/+8