Esteban Küber
62ba3e70a1
Modify primary span label for E0308
...
The previous output was unintuitive to users.
2023-01-30 20:12:19 +00:00
Dylan DPC
e19ae977ec
Rollup merge of #107146 - compiler-errors:unsizing-params, r=cjgillot
...
Make `unsizing_params_for_adt` into a query
Addresses a FIXME in confirmation.
r? ``@ghost``
2023-01-30 15:11:45 +05:30
Michael Goulet
32bf8c767f
Make unsizing_params_for_adt into a query
2023-01-28 20:10:59 +00:00
Gary Guo
94e59cb6e2
Rename is_object_safe to check_is_object_safe to hint side effects
2023-01-28 15:07:57 +00:00
Camille GILLOT
60e04d1e8c
Compute generator saved locals on MIR.
2023-01-27 20:10:06 +00:00
Camille GILLOT
1974b6b68d
Introduce GeneratorWitnessMIR.
2023-01-27 18:58:44 +00:00
Michael Goulet
9b5a2a4a48
Use new solver during selection
2023-01-26 20:09:39 +00:00
Michael Goulet
096f454774
Filter predicates first for fast-path type flags
2023-01-20 03:20:17 +00:00
Matthias Krüger
3d7677d91a
Rollup merge of #106970 - kylematsuda:earlybinder-item-bounds, r=lcnr
...
Switch to `EarlyBinder` for `item_bounds` 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`. This adds `EarlyBinder` to the return type of the `item_bounds` query and removes `bound_item_bounds`.
r? `@lcnr`
2023-01-17 20:21:28 +01:00
Matthias Krüger
68f12338af
Rollup merge of #104505 - WaffleLapkin:no-double-spaces-in-comments, r=jackh726
...
Remove double spaces after dots in comments
Most of the comments do not have double spaces, so I assume these are typos.
2023-01-17 20:21:25 +01:00
Kyle Matsuda
fc942eed7f
change item_bounds query to return EarlyBinder; remove bound_item_bounds query
2023-01-17 08:55:28 -07:00
Maybe Waffle
6a28fb42a8
Remove double spaces after dots in comments
2023-01-17 08:09:33 +00:00
Michael Goulet
90df86f474
Remove bound_{explicit,}_item_bounds
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
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
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
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
Michael Goulet
83fbc71d02
Filter impl and where-clause candidates that reference errors
2023-01-11 20:03:29 +00:00
Michael Goulet
3c41003873
Add type flags support for Ty and Const late-bound regions
2023-01-08 03:37:20 +00:00
Michael Goulet
a4974fa9c7
Split -Zchalk flag into -Ztrait-solver=(stock|chalk|next) flag
2023-01-04 18:12:42 +00:00
Deadbeef
983606d367
Allow trait method paths to satisfy const Fn bounds
2022-12-28 09:06:31 +00:00
lcnr
a213bb36c9
implement the skeleton of the updated trait solver
2022-12-19 16:46:17 +00:00
Oli Scherer
a5cd3bde95
Ensure no one constructs AliasTys themselves
2022-12-14 15:36:39 +00:00
Oli Scherer
fef872a875
Guard AliasTy creation against passing the wrong number of substs
2022-12-14 15:36:39 +00:00
Michael Goulet
96cb18e864
Combine identical alias arms
2022-12-13 17:48:55 +00:00
Michael Goulet
61adaf8187
Combine projection and opaque into alias
2022-12-13 17:48:55 +00:00
Michael Goulet
c13bd83528
squash OpaqueTy and ProjectionTy into AliasTy
2022-12-13 17:40:27 +00:00
Michael Goulet
5c6afb850c
ProjectionTy.item_def_id -> ProjectionTy.def_id
2022-12-13 17:34:44 +00:00
Michael Goulet
7f3af72606
Use ty::OpaqueTy everywhere
2022-12-13 17:29:26 +00:00
Michael Goulet
b36035c20f
Move vtable methods into its own module
2022-12-08 05:16:57 +00:00
Michael Goulet
d2a80c1571
Avoid noting cause code (which is usually misc, b/c codegen) for opaque type reveal overflow
2022-12-06 00:19:55 +00:00
bors
d1449560e3
Auto merge of #105094 - Swatinem:generator-not-future, r=compiler-errors
...
Make sure async constructs do not `impl Generator`
Async lowering turns async functions and blocks into generators internally.
Though these special kinds of generators should not `impl Generator` themselves.
The other way around, normal generators should not `impl Future`.
This was discovered in https://github.com/rust-lang/rust/pull/105082#issuecomment-1332210907 and is a regression from https://github.com/rust-lang/rust/pull/104321 .
r? `@compiler-errors`
2022-12-04 22:46:11 +00:00
bhbs
715d4a8949
Don't add a note for implementing a trait if its inner type is erroneous
2022-12-03 09:06:47 +09:00
Arpad Borsos
b5ae4c9629
Make sure async constructs do not impl Generator
...
Async lowering turns async functions and blocks into generators internally.
Though these special kinds of generators should not `impl Generator` themselves.
The other way around, normal generators should not `impl Future`.
2022-11-30 19:53:59 +01:00
Matthias Krüger
08a6c939a5
Rollup merge of #105066 - lcnr:mv-candidate_from_obligation, r=compiler-errors
...
move `candidate_from_obligation` out of assembly
it doesn't belong there as it also does winnowing
r? `@compiler-errors`
2022-11-29 22:43:22 +01:00
lcnr
bb982df771
move candidate_from_obligation out of assembly
...
it doesn't belong there as it also does winnowing
2022-11-29 20:32:48 +00:00
Michael Goulet
9512446a00
Explain why rematch_impl fails to be infallible
2022-11-29 19:02:40 +00:00
Arpad Borsos
2db0dc3297
Simplify checking for GeneratorKind::Async
...
Adds a helper method around `generator_kind` that makes matching async constructs simpler.
2022-11-28 23:12:01 +01:00
Dylan DPC
9178bc059f
Rollup merge of #104907 - compiler-errors:selcx-infcx, r=oli-obk
...
Remove `SelectionContext::infcx()` in favor of field access
Encapsulation doesn't seem particularly important here, and having two choices is always more confusing than having one.
r? types
2022-11-28 15:42:11 +05:30
Maybe Waffle
4b6e1d1c5f
Add TyCtxt::is_fn_trait
2022-11-27 07:19:29 +00:00
Maybe Waffle
881862ecb7
Rename fn_trait_kind_from_{from_lang=>def_id} to better convey meaning
2022-11-27 07:14:49 +00:00
Michael Goulet
6436c348db
Remove SelectionContext::infcx() in favor of field access
2022-11-25 23:31:37 +00:00
bors
aff003becd
Auto merge of #99798 - JulianKnodt:ac1, r=BoxyUwU
...
Add `ConstKind::Expr`
Starting to implement `ty::ConstKind::Abstract`, most of the match cases are stubbed out, some I was unsure what to add, others I didn't want to add until a more complete implementation was ready.
r? `@lcnr`
2022-11-25 22:56:59 +00:00
bors
8681d4cffc
Auto merge of #104902 - matthiaskrgr:rollup-oo27a4u, r=matthiaskrgr
...
Rollup of 8 pull requests
Successful merges:
- #104716 (move 2 candidates into builtin candidate)
- #104760 (Clarify `SyntaxExtensionKind::LegacyDerive`.)
- #104797 (rustc_codegen_ssa: write `.dwp` in a streaming fashion)
- #104835 (Use infcx.partially_normalize_associated_types_in)
- #104853 (Fix typo in miri sysroot)
- #104879 (jsondoclint: Recognise Typedef as valid kind for Type::ResolvedPath)
- #104887 (rustbuild: Don't build doc::SharedAssets when building JSON docs.)
- #104896 (rustdoc: fix broken tooltip CSS)
Failed merges:
r? `@ghost`
`@rustbot` modify labels: rollup
2022-11-25 19:09:30 +00:00
Matthias Krüger
9c7dc3e30b
Rollup merge of #104716 - lcnr:selection-candidate, r=jackh726
...
move 2 candidates into builtin candidate
having separate candidates for these isn't too helpful i think
r? types
2022-11-25 18:35:39 +01:00
bors
051cab2b84
Auto merge of #104846 - spastorino:santa-clauses-make-goals-early-christmas- 🎄 , r=oli-obk
...
Branch Clause from Predicate
r? `@oli-obk`
This is part of what's proposed in https://github.com/rust-lang/compiler-team/issues/531
2022-11-25 15:59:31 +00:00
lcnr
31431ccda9
move 2 candidates into builtin candidate
2022-11-25 11:59:08 +01:00
Boxy
2ac5d91d63
Make expand_abstract_consts infallible
2022-11-25 09:28:44 +00:00
Boxy
fd271ffe28
also handle it in evaluate
2022-11-25 09:28:43 +00:00