| Age | Commit message (Collapse) | Author | Lines |
|
Deny rust_2018_idioms globally
cc https://github.com/rust-lang/rust/issues/58099#issuecomment-484921194
|
|
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.
|
|
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
|
|
Fixes fallout from https://github.com/rust-lang/rust/pull/60124.
Closes #60154.
|
|
This also fully stabilizes two-phase borrows on all editions
|
|
This commit suggests dereferencing a type when it implements `Deref`
with the correct `Output` associated type.
|
|
This commit adds a test that demonstrates the current behaviour where
suggestions to add a dereference aren't given for non-references.
|
|
This commit displays the original pattern in generated documentation for
async functions rather than the synthesized pattern.
|
|
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.
|
|
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.
|
|
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.
|
|
This commit extends the previous commit to apply to trait methods as
well as free functions.
|
|
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;
}
}
|
|
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.
|
|
|
|
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
|
|
|
|
|
|
Add `TyCtxt::is_mutable_static`
|
|
|
|
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.
|
|
|
|
Remove assumption from recovery code
Fix #60115.
|
|
|
|
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.
|
|
This tests that async functions drop parameters in the same order as
regular functions.
|
|
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)
|
|
From https://github.com/mozilla/Fira
|
|
Pulled in from https://github.com/adobe-fonts/source-code-pro/
|
|
Pulled in from https://github.com/adobe-fonts/source-serif-pro/
See https://bugzilla.mozilla.org/show_bug.cgi?id=1545317
|
|
add Miri error variant for process exit
This is to support https://github.com/rust-lang/miri/pull/702
r? @oli-obk
|
|
Feature gate async methods
Fixes https://github.com/rust-lang/rust/issues/60069.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
allow multiple args to `dbg!(..)`
This closes #59763
|
|
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.
|
|
|
|
|
|
Refactor Adjust and CastKind
fixes rust-lang#59588
|
|
|
|
Move back::link and debuginfo::type_names to cg ssa
r? @eddyb
|
|
|
|
|
|
|