| Age | Commit message (Collapse) | Author | Lines |
|
|
|
Add more APIs to retrieve information about types, and add more instance
resolution options.
Make `Instance::body()` return an Option<Body>, since not every instance
might have an available body. For example, foreign instances, virtual
instances, dependencies.
|
|
internal: Bump libc
CC https://github.com/rust-lang/rust/pull/117981
|
|
|
|
r=compiler-errors
Try to use approximate placeholder regions when outputting an AscribeUserType error in borrowck
Fixes #114866
Hi from GOSIM :)
|
|
We were not iterating over all local variables due to a typo.
|
|
In cases like Kani, we will invoke the rustc_internal run command
directly for now. It would be handly to be able to have a callback
that can return a value.
We also need extra methods to convert stable constructs into internal
ones, so we can break down the transition into finer grain commits.
|
|
Building rustc with `--rust-profile-use` is currently dumping a lot of
warnings of "no profile data available for function" from `rustc_smir`
and `stable_mir`. These simply aren't exercised by the current profile-
gathering steps, but that's to be expected for new or experimental
functionality. I think for most people, these warnings will be just
noise, so it makes sense to only have them in verbose builds.
|
|
This action was way outdated, produced a lot of warnings and didn't seem to work
anymore.
|
|
|
|
|
|
|
|
|
|
Rustup
r? `@ghost`
changelog: none
|
|
|
|
|
|
|
|
reallocarray shim linux/freebsd support proposal.
|
|
davidbarsky:davidbarsky/allow-companion-extension-to-call-rust-analyzer, r=davidbarsky
code: expose workspaces to other extensions; remove `addProject` command
This (mostly red) PR does three things:
- Exposes two methods to companion extensions (`setWorkspaces` and `notifyRustAnalyzer`).
- `setWorkspaces` is needed to update `linkedProjects` _without_ writing workspace/global configuration.
- `notifyRustAnalyzer` to get the server to pull the new configuration.
- Makes `Ctx` implement `RustAnalyzerExtensionApi` to prevent accidental regressions.
- Remove `rust-analyzer.addProject`, as that will live in a buck2 companion extension. No need for that to be in rust-analyzer!
I can see the utility of combining `notifyRustAnalyzer` and `setWorkspaces` into a single method (`updateWorkspacesAndNotify()`?), but I don't feel strongly about this. My feeling is that this API could be easily changed in the future.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
When encountering a `Result<T, _>` or `Option<T>` where `T` has a field
that's being accessed, suggest calling `.unwrap()` to get to the field.
|
|
Take into account implicit dereferences when suggesting fields.
```
error[E0609]: no field `longname` on type `Arc<S>`
--> $DIR/suggest-field-through-deref.rs:10:15
|
LL | let _ = x.longname;
| ^^^^^^^^ help: a field with a similar name exists: `long_name`
```
CC https://github.com/rust-lang/rust/issues/78374#issuecomment-719564114
|
|
|
|
|
|
|
|
|
|
|
|
When encountering a type error caused by the use of `Self`, suggest
using the actual type name instead.
```
error[E0308]: mismatched types
--> $DIR/struct-path-self-type-mismatch.rs:13:9
|
LL | impl<T> Foo<T> {
| - ------ this is the type of the `Self` literal
| |
| found type parameter
LL | fn new<U>(u: U) -> Foo<U> {
| - ------ expected `Foo<U>` because of return type
| |
| expected type parameter
LL | / Self {
LL | |
LL | | inner: u
LL | |
LL | | }
| |_________^ expected `Foo<U>`, found `Foo<T>`
|
= note: expected struct `Foo<U>`
found struct `Foo<T>`
= note: a type parameter was expected, but a different one was found; you might be missing a type parameter or trait bound
= note: for more information, visit https://doc.rust-lang.org/book/ch10-02-traits.html#traits-as-parameters
help: use the type name directly
|
LL | Foo::<U> {
| ~~~~~~~~
```
Fix #76086.
|
|
When encountering a type error involving a `Self` literal, point at the
self type of the enclosing `impl`.
CC #76086.
|
|
Partially address #71039.
|
|
|
|
Let Miri see the AllocId for all TyCtxt allocations
Per https://github.com/rust-lang/miri/pull/3103#discussion_r1391589896
r? `@RalfJung`
|
|
|
|
|
|
|
|
Bootstrap bump
Bumps bootstrap compiler to just-released beta.
https://forge.rust-lang.org/release/process.html#master-bootstrap-update-t-2-day-tuesday
|
|
rustdoc-search: simplify the checkTypes fast path
This reduces code size while still matching the common case for plain, concrete types. This should not introduce any user-visible behavior changes.
The perf impact of the change was evaluated using <https://gitlab.com/notriddle/rustdoc-js-profile>. The output of the tool can be found here: http://notriddle.com/rustdoc-html-demo-5/profile-1/index.html
r? `@GuillaumeGomez`
|
|
|
|
get rid of our last uses of set_var
Fixes https://github.com/rust-lang/miri/issues/2783
|
|
|
|
Rustup
|
|
|