| Age | Commit message (Collapse) | Author | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
using TyCtxt
|
|
|
|
for definitions that have no HIR
|
|
There are several `mk_foo`/`intern_foo` pairs, where the former takes an
iterator and the latter takes a slice. (This naming convention is bad,
but that's a fix for another PR.)
This commit changes several `mk_foo` occurrences into `intern_foo`,
avoiding the need for some `.iter()`/`.into_iter()` calls. Affected
cases:
- mk_type_list
- mk_tup
- mk_substs
- mk_const_list
|
|
Switch to `EarlyBinder` for `type_of` query
Part of the work to finish #105779 and implement https://github.com/rust-lang/types-team/issues/78.
Several queries `X` have a `bound_X` variant that wraps the output in `EarlyBinder`. This adds `EarlyBinder` to the return type of the `type_of` query and removes `bound_type_of`.
r? `@lcnr`
|
|
Rollup of 8 pull requests
Successful merges:
- #104068 (rustdoc: Add PartialOrd trait to doc comment explanation)
- #107489 (Implement partial support for non-lifetime binders)
- #107905 (Pass arguments to `x` subcommands with `--`)
- #108009 (Move some tests)
- #108086 (wasm: Register the `relaxed-simd` target feature)
- #108104 (don't into self)
- #108133 (Small cleanups around `EarlyBinder`)
- #108136 (Do not ICE on unmet trait alias impl bounds)
Failed merges:
r? `@ghost`
`@rustbot` modify labels: rollup
|
|
in metadata
|
|
|
|
Small cleanups around `EarlyBinder`
Cleaning up a few things that were brought up by `@lcnr` in reviewing #106696:
- [make `issue33140_self_ty` query return `Option<EarlyBinder<Ty>>`](https://github.com/rust-lang/rust/pull/106696#discussion_r1067821423)
- [small style improvement](https://github.com/rust-lang/rust/pull/106696#discussion_r1067816772)
|
|
|
|
|
|
|
|
|
|
And remove `Clone` impls and `Lrc`s that are no longer necessary
|
|
|
|
Enable new rlib in non stable cases
If bundled static library uses cfg (unstable) or whole-archive (wasn't supported) bundled libs are packed even without packed_bundled_libs.
r? `@petrochenkov`
|
|
|
|
This commit implements MCP https://github.com/rust-lang/compiler-team/issues/584
It also removes code that is no longer used, and that includes code cloning resolver, so issue #83761 is fixed.
|
|
r=compiler-errors,GuillaumeGomez
Add compiler error E0523 long description and test
This PR is one step towards addressing: https://github.com/rust-lang/rust/issues/61137.
|
|
Adds the extended error documentation for E0523 to indicate that the
error is no longer produced by the compiler.
Update the E0464 documentation to include example code that produces the
error.
Remove the error message E0523 from the compiler and replace it with an
internal compiler error.
|
|
|
|
Also add asserts to decoding `LazyArray`s with `Option`
|
|
|
|
Change wording from "nullable" to "default".
Introduce a trait `IsDefault` for detecting values that are encoded as zeros or not encoded at all.
Add panics to impossible cases.
Some other minor cleanups.
|
|
|
|
|
|
Improve enum checks
Some light refactoring.
|
|
|
|
|
|
|
|
Only compute mir_generator_witnesses query in drop_tracking_mir mode.
Attempt to fix the perf regression in https://github.com/rust-lang/rust/pull/101692
r? `@ghost`
|
|
|
|
|
|
|
|
Switch to `EarlyBinder` for `fn_sig` query
Part of the work to finish #105779 (also see https://github.com/rust-lang/types-team/issues/78).
Several queries `X` have a `bound_X` variant that wraps the output in [`EarlyBinder`](https://doc.rust-lang.org/nightly/nightly-rustc/rustc_middle/ty/subst/struct.EarlyBinder.html). This adds `EarlyBinder` to the return type of the `fn_sig` query and removes `bound_fn_sig`.
r? `@lcnr`
|
|
rustdoc: Collect "rustdoc-reachable" items during early doc link resolution
This pass only needs to know about visibilities, attributes and reexports, so it can be run early, similarly to `compute_effective_visibilities` in rustc.
Results of this pass can be used to prune the list of extern impls early thus improving performance of https://github.com/rust-lang/rust/pull/94857.
|
|
rustc_metadata: Fix `encode_attrs`
This function didn't do what the authors intended it to do.
- Due to `move` in the closure `is_public` wasn't captured by mutalbe reference and wasn't used as a cache.
- Due to iterator cloning all the `should_encode_attr` logic run for the second time to calculate `may_have_doc_links`
This PR fixes these issues, and calculates all the needed attribute flags in one go.
(Noticed while implementing https://github.com/rust-lang/rust/pull/107136.)
|
|
EarlyBinder to fn_sig in metadata
|
|
|
|
Encode info for Adt in a single place.
Split from https://github.com/rust-lang/rust/pull/98867
|
|
|
|
This function didn't do what the authors intended it to do.
- Due to `move` in the closure `is_public` wasn't captured by mutalbe reference and wasn't used as a cache.
- Due to iterator cloning all the `should_encode_attr` logic run for the second time to calculate `may_have_doc_links`
This PR fixes these issues, and calculates all the needed attribute flags in one go.
|
|
This is a convenience feature for cases in which "no value in the table" and "default value in the table" are equivalent.
Tables using `Table<DefIndex, ()>` are migrated in this PR, some other cases can be migrated later.
This helps `DocFlags` in https://github.com/rust-lang/rust/pull/107136 in particular.
|
|
|