bors
d12412c90f
Auto merge of #106395 - compiler-errors:rework-predicates, r=eholk
...
Rework some `predicates_of`/`{Generic,Instantiated}Predicates` code
1. Make `instantiate_own` return an iterator, since it's a bit more efficient and easier to work with
2. Remove `bound_{explicit,}_predicates_of` -- these `bound_` methods in particular were a bit awkward to work with since `ty::GenericPredicates` *already* acts kinda like an `EarlyBinder` with its own `instantiate_*` methods, and had only a few call sites anyways.
3. Implement `IntoIterator` for `InstantiatedPredicates`, since it's *very* commonly being `zip`'d together.
2023-01-16 05:55:59 +00:00
Michael Goulet
90df86f474
Remove bound_{explicit,}_item_bounds
2023-01-15 15:36:06 +00:00
Michael Goulet
e1533a26f7
drive-by: assert when iterating through InstantiatedPredicates
2023-01-15 15:36:06 +00:00
Michael Goulet
9b28edb6d7
Make InstantiatedPredicates impl IntoIterator
2023-01-15 15:36:06 +00:00
Michael Goulet
91fd862df0
instantiate_own doesn't need to return a pair of vectors
2023-01-15 15:29:53 +00:00
bors
ae4d89dfb5
Auto merge of #106742 - compiler-errors:new-solver-make-it-not-ice, r=lcnr
...
Implement some FIXME methods in the new trait solver
Implement just enough of the solver's response logic to make it not ICE.
Also, fix a bug with `no_bound_vars` call failing due to canonical bound vars.
r? `@lcnr`
2023-01-15 15:07:27 +00:00
Matthias Krüger
cc02ecc010
Rollup merge of #106863 - anden3:compiler-double-spaces, r=Nilstrieb
...
Remove various double spaces in compiler source comments.
Was asked to do it by `@Nilstrieb`
2023-01-15 01:01:37 +01:00
André Vennberg
0e65003c9e
Fix some missed double spaces.
2023-01-14 18:23:40 +01:00
Kyle Matsuda
6e969ea85e
fix various subst_identity vs skip_binder
2023-01-14 00:30:03 -07:00
Kyle Matsuda
f29a334c90
change impl_trait_ref query to return EarlyBinder; remove bound_impl_trait_ref query; add EarlyBinder to impl_trait_ref in metadata
2023-01-14 00:29:56 -07:00
Kyle Matsuda
be130b57d4
change usages of impl_trait_ref to bound_impl_trait_ref
2023-01-14 00:23:32 -07:00
Kyle Matsuda
ef58baf8b8
change const_param_default query to return EarlyBinder; remove bound_const_param_default query; add EarlyBinder to const_param_default in metadata
2023-01-14 00:13:07 -07:00
Kyle Matsuda
c84917ad2e
add EarlyBinder::subst_identity; impl ParameterizedOverTcx (needed for rustc_metadata) and Value for EarlyBinder
2023-01-14 00:13:06 -07:00
bors
0b90256ada
Auto merge of #106776 - oli-obk:om_nom_nom_nom_nom, r=cjgillot
...
Feed a bunch of queries instead of tracking fields on TyCtxt
r? `@cjgillot`
pulled out of https://github.com/rust-lang/rust/pull/105462
2023-01-13 13:57:21 +00:00
Yuki Okushi
d4ad96cf6e
Rollup merge of #106754 - compiler-errors:ty-infer-method-is-confusing, r=lcnr
...
Rename `Ty::is_ty_infer` -> `Ty::is_ty_or_numeric_infer`
Makes sure people are aware that they may have a type variable *or* an int/float variable.
r? `@oli-obk` https://github.com/rust-lang/rust/pull/106322#issuecomment-1376913539 but I could instead implement your solution, let me know.
(This will conflict with #106322 for now, ignore that 😄 )
2023-01-13 16:54:23 +09:00
bors
279f1c9d8c
Auto merge of #106004 - fee1-dead-contrib:const-closures, r=oli-obk
...
Const closures
cc https://github.com/rust-lang/rust/issues/106003
2023-01-13 05:04:48 +00:00
Michael Goulet
8e27211dbc
is_ty_infer -> is_ty_or_numeric_infer
2023-01-12 23:57:41 +00:00
Michael Goulet
1de196fef3
HACK: Handle escaping bound vars from the canonical query
2023-01-12 21:01:34 +00:00
Oli Scherer
d36db0d2a0
Feed the features_query
instead of grabbing it from the session lazily
2023-01-12 17:14:17 +00:00
Oli Scherer
fbe2d5aad2
Remove output_filenames
field from TyCtxt and feed the query instead
2023-01-12 17:14:17 +00:00
Oli Scherer
33b6a7790e
Remove untracked_crate
field and instead pass it along with the resolver.
2023-01-12 17:14:17 +00:00
Oli Scherer
194b4a2adb
Feed crate_name
query
2023-01-12 17:14:17 +00:00
Oli Scherer
408ae0fcb9
Feed resolutions
query instead of it being a thin wrapper around an untracked field
2023-01-12 17:14:17 +00:00
bors
606c390725
Auto merge of #106760 - compiler-errors:rollup-0bogyco, r=compiler-errors
...
Rollup of 8 pull requests
Successful merges:
- #103236 (doc: rewrite doc for signed int::{carrying_add,borrowing_sub})
- #103800 (Stabilize `::{core,std}::pin::pin!`)
- #106097 (Migrate mir_build diagnostics 2 of 3)
- #106170 (Move autoderef to `rustc_hir_analysis`)
- #106323 (Stabilize f16c_target_feature)
- #106360 (Tweak E0277 `&`-removal suggestions)
- #106524 (Label `struct/enum constructor` instead of `fn item`, mention that it should be called on type mismatch)
- #106739 (Remove `<dyn AstConv<'tcx>>::fun(c, ...)` calls in favour of `c.astconv().fun(...)`)
Failed merges:
r? `@ghost`
`@rustbot` modify labels: rollup
2023-01-12 10:46:19 +00:00
Michael Goulet
d7113948d3
Rollup merge of #106524 - compiler-errors:constructor-note, r=cjgillot
...
Label `struct/enum constructor` instead of `fn item`, mention that it should be called on type mismatch
Fixes #106516
2023-01-11 22:25:49 -08:00
Matthias Krüger
890bc3ca90
Rollup merge of #106596 - estebank:verbose-e0271, r=compiler-errors
...
Hide more of long types in E0271
Fix #40186 .
2023-01-12 06:52:36 +01:00
Deadbeef
b0aa859c24
fix fmt and bless
2023-01-12 02:28:38 +00:00
Deadbeef
6e63f7be54
attempt to make a minimal example work
2023-01-12 02:28:37 +00:00
mejrs
5d2b9a9ed0
Migrate deconstruct_pat.rs
2023-01-11 14:39:49 -08:00
Esteban Küber
f1ffe823cf
Hide more of long types in E0271
...
Fix #40186 .
2023-01-11 21:40:39 +00:00
Michael Goulet
4e30ad8d60
Reuse ErrorGuaranteed during relation
2023-01-11 20:02:43 +00:00
Michael Goulet
ede5c31af4
Be more specific about constructor FnDef
s in type mismatch
2023-01-11 19:53:14 +00:00
nils
6e0c404f76
Rollup merge of #106648 - Nilstrieb:poly-cleanup, r=compiler-errors
...
Polymorphization cleanup
Split out of #106233
Use a newtype instead of a bitset directly. This makes the code way easier to read and easier to adapt for future changes.
2023-01-11 17:30:55 +01:00
Yuki Okushi
0e92e1dd99
Rollup merge of #106669 - ozkanonur:helper-function-for-lint-level, r=Nilstrieb
...
create helper function for `rustc_lint_defs::Level` and remove it's duplicated code
Signed-off-by: ozkanonur <work@onurozkan.dev>
2023-01-11 14:18:57 +09:00
ozkanonur
5fb9ca3c5e
create helper function for rustc_lint_defs::Level
and remove it's duplicated code r=ozkanonur
...
Signed-off-by: ozkanonur <work@onurozkan.dev>
2023-01-10 10:56:17 +03:00
bors
3020239de9
Auto merge of #106637 - fee1-dead-contrib:rollup-ticvmsd, r=fee1-dead
...
Rollup of 10 pull requests
Successful merges:
- #105292 (Change a commit_if_ok call to probe)
- #105655 (Remove invalid case for mutable borrow suggestion)
- #106047 (Fix ui constant tests for big-endian platforms)
- #106061 (Enable Shadow Call Stack for Fuchsia on AArch64)
- #106164 (Move `check_region_obligations_and_report_errors` to `TypeErrCtxt`)
- #106291 (Fix incorrect suggestion for extra `&` in pattern)
- #106389 (Simplify some canonical type alias names)
- #106468 (Use FxIndexSet when updating obligation causes in `adjust_fulfillment_errors_for_expr_obligation`)
- #106549 (Use fmt named parameters in rustc_borrowck)
- #106614 (error-code docs improvements (No. 2))
Failed merges:
r? `@ghost`
`@rustbot` modify labels: rollup
2023-01-09 18:20:00 +00:00
Nilstrieb
2855794257
Use newtype for unused generic parameters
2023-01-09 19:10:00 +01:00
fee1-dead
f8319bb403
Rollup merge of #106389 - compiler-errors:no-canonicalized, r=lcnr
...
Simplify some canonical type alias names
* delete the `Canonicalized<'tcx>` type alias in favor for `Canonical<'tcx>`
* `CanonicalizedQueryResponse` -> `CanonicalQueryResponse`
I don't particularly care about the latter, but it should be consistent. We could alternatively delete the first alias and rename the struct to `Canonicalized`, and then keep the name of `CanonicalizedQueryResponse` untouched.
2023-01-09 23:35:30 +08:00
bors
af58fc8699
Auto merge of #101947 - aliemjay:astconv-normalize, r=lcnr
...
Don't normalize in AstConv
See individual commits.
Fixes #101350
Fixes #54940
2023-01-09 15:29:59 +00:00
Michael Goulet
3c41003873
Add type flags support for Ty and Const late-bound regions
2023-01-08 03:37:20 +00:00
Ali MJ Al-Nasrawy
c6a17bf8bc
make ascribe_user_type a TypeOp
...
Projection types in user annotations may contain inference variables.
This makes the normalization depend on the unification with the actual
type and thus requires a separate TypeOp to track the obligations.
Otherwise simply calling `TypeChecker::normalize` would ICE with
"unexpected ambiguity"
2023-01-07 13:41:41 +03:00
Matthias Krüger
7568c49bf0
Rollup merge of #106287 - Nilstrieb:its-bugging-me-how-we-dont-have-docs, r=jyn514
...
Add some docs to `bug`, `span_bug` and `delay_span_bug`
cc `@mejrs` as you wanted me to do this, does this look good and understandable?
2023-01-06 21:26:09 +01:00
Michael Goulet
5ce6311f34
Rollup merge of #106403 - compiler-errors:rename-hir-methods, r=cjgillot
...
Rename `hir::Map::{get_,find_}parent_node` to `hir::Map::{,opt_}parent_id`, and add `hir::Map::{get,find}_parent`
The `hir::Map::get_parent_node` function doesn't return a `Node`, and I think that's quite confusing. Let's rename it to something that sounds more like something that gets the parent hir id => `hir::Map::parent_id`. Same with `find_parent_node` => `opt_parent_id`.
Also, combine `hir.get(hir.parent_id(hir_id))` and similar `hir.find(hir.parent_id(hir_id))` function into new functions that actually retrieve the parent node in one call. This last commit is the only one that might need to be looked at closely.
2023-01-04 20:36:28 -08:00
Michael Goulet
a5d39cf290
review comment: Deduplicate dyn ty_and_layout_field code
2023-01-04 01:03:04 +00:00
Michael Goulet
2011316e59
Mirror metadata changes in layout sanity check
2023-01-04 00:56:05 +00:00
Michael Goulet
b1b19bd851
get_parent and find_parent
2023-01-04 00:43:13 +00:00
Michael Goulet
6af339dbfa
rename find_parent_node to opt_parent_id
2023-01-04 00:43:13 +00:00
Michael Goulet
a313ef05a7
rename get_parent_node to parent_id
2023-01-04 00:43:13 +00:00
Matthias Krüger
da07053ee1
Rollup merge of #105681 - tshepang:doc-mir-visit, r=Nilstrieb
...
some fixes/improvements to mir::visit module
2023-01-03 17:12:10 +01:00
Michael Goulet
50ab306015
Simplify some canonical type alias names
2023-01-03 01:16:10 +00:00