about summary refs log tree commit diff
path: root/src
AgeCommit message (Collapse)AuthorLines
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-11/+13
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-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-2/+2
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-8/+10
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
2019-04-20Auto merge of #59826 - llogiq:multi-dbg, r=SimonSapinbors-1/+44
allow multiple args to `dbg!(..)` This closes #59763
2019-04-20Auto merge of #59700 - matklad:simplify, r=eddybbors-17/+5
Simplify doc comment lexing is_doc_comment function checks the first four chars, but this is redundant, `doc_comment` local var has the same info.
2019-04-20Deny rust_2018_idioms in libcore testsPhilipp Hansch-38/+38
2019-04-20improve docsRalf Jung-2/+2
2019-04-20Auto merge of #59987 - saleemjaffer:refactor_adjust_castkinds, r=oli-obkbors-219/+161
Refactor Adjust and CastKind fixes rust-lang#59588
2019-04-20Deny rust_2018_idioms in liballoc testsPhilipp Hansch-14/+15
2019-04-20Auto merge of #59564 - bjorn3:move_link_to_cg_ssa, r=eddybbors-1599/+1619
Move back::link and debuginfo::type_names to cg ssa r? @eddyb
2019-04-20Deny rust_2018_idioms globallyPhilipp Hansch-0/+1
2019-04-20Tidybjorn3-2/+15
2019-04-20Move cg_llvm/debuginfo/type_names.rs to cg_ssabjorn3-45/+41