Michael Goulet
fd34549686
Remove body_def_id from Inherited
2023-03-09 23:25:23 +00:00
Michael Goulet
64eea3c47a
Tweak E0740
2023-03-08 01:58:15 +00:00
Michael Goulet
08e5a77b06
Don't report E0740 for type error
2023-03-08 01:55:32 +00:00
Matthias Krüger
1c2f641e15
Rollup merge of #108764 - cjgillot:dpm-adapt, r=compiler-errors
...
Tweaks to -Zdrop-tracking-mir
Split from https://github.com/rust-lang/rust/pull/107421
3 commits: 1 diagnostic improvement and 2 ICEs.
2023-03-05 20:57:21 +01:00
Camille GILLOT
0916616fec
drop_tracking_mir: diagnose recursive generator.
2023-03-05 08:29:35 +00:00
Vadim Petrochenkov
c83553da31
rustc_middle: Remove trait DefIdTree
...
This trait was a way to generalize over both `TyCtxt` and `Resolver`, but now `Resolver` has access to `TyCtxt`, so this trait is no longer necessary.
2023-03-02 23:46:44 +04:00
Michael Goulet
ecac8fd5af
Descriptive error when users try to combine RPITIT/AFIT with specialization
2023-02-28 02:03:43 +00:00
bors
0978711950
Auto merge of #108324 - notriddle:notriddle/assoc-fn-method, r=compiler-errors,davidtwco,estebank,oli-obk
...
diagnostics: if AssocFn has self argument, describe as method
Discussed in 329265515
This commit also changes the tooltips on rustdoc intra-doc links targeting methods.
For anyone not sure why this is being done, see the Reference definitions of these terms in <https://doc.rust-lang.org/1.67.1/reference/items/associated-items.html#methods >
> Associated functions whose first parameter is named `self` are called methods and may be invoked using the [method call operator](https://doc.rust-lang.org/1.67.1/reference/expressions/method-call-expr.html ), for example, `x.foo()`, as well as the usual function call notation.
In particular, while this means it's technically correct for rustc to refer to a method as an associated function (and there are a few cases where it'll still do so), rustc *must never* use the term "method" to refer to an associated function that does not have a `self` parameter.
2023-02-23 00:19:12 +00:00
Alan Egerton
695072daa6
Remove type-traversal trait aliases
2023-02-22 17:04:58 +00:00
Michael Howell
3d056c3125
diagnostics: if AssocFn has self argument, describe as method
...
Discussed in
329265515
This commit also changes the tooltips on rustdoc intra-doc links
targeting methods.
2023-02-22 08:40:33 -07:00
bors
9aa5c24b7d
Auto merge of #108075 - WaffleLapkin:de-arena-allocates-you-OwO, r=Nilstrieb
...
Remove `arena_cache` modifier from `associated_item` query & copy `ty::AssocItem` instead of passing by ref
r? `@ghost`
2023-02-17 17:42:51 +00:00
Kyle Matsuda
c183110cc2
remove bound_type_of query; make type_of return EarlyBinder; change type_of in metadata
2023-02-16 17:05:56 -07:00
Kyle Matsuda
d822b97a27
change usages of type_of to bound_type_of
2023-02-16 17:01:52 -07:00
Maybe Waffle
a32d392741
Copy ty::AssocItem
all other the place
2023-02-15 20:22:41 +00:00
bors
2d14db321b
Auto merge of #108006 - cjgillot:def-impl, r=oli-obk
...
Avoid accessing HIR when it can be avoided
Experiment to see if it helps some incremental cases.
Will be rebased once https://github.com/rust-lang/rust/pull/107942 gets merged.
r? `@ghost`
2023-02-15 16:14:10 +00:00
Camille GILLOT
40cb4d1bc7
Even less HIR.
2023-02-14 20:27:38 +00:00
Camille GILLOT
facecf6e1b
Fetch less HIR in signature check.
2023-02-14 20:26:03 +00:00
Camille GILLOT
03dff82d59
Add of_trait
to DefKind::Impl.
2023-02-14 19:55:44 +00:00
Oli Scherer
936bf29d4c
s/eval_usize/eval_target_usize/ for clarity
2023-02-14 08:51:19 +00:00
Alan Egerton
dea342d861
Make visiting traits generic over the Interner
2023-02-13 10:24:49 +00:00
Alan Egerton
ba55a453eb
Alias folding/visiting traits instead of re-export
2023-02-13 10:24:46 +00:00
bors
c40919b7a7
Auto merge of #106938 - GuillaumeGomez:normalize-projection-field-ty, r=oli-obk
...
Add missing normalization for union fields types
Overshadows https://github.com/rust-lang/rust/pull/106808 .
From the experiment https://github.com/rust-lang/rust/pull/103985 .
In short, it allows to use projections as a type for union's fields.
cc `@compiler-errors`
r? `@oli-obk`
2023-02-09 07:08:19 +00:00
Guillaume Gomez
53bb6322db
Rollup merge of #107467 - WaffleLapkin:uneq, r=oli-obk
...
Improve enum checks
Some light refactoring.
2023-01-31 23:38:52 +01:00
Esteban Küber
3fa95b847b
review comments
2023-01-30 20:12:21 +00:00
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
Maybe Waffle
fd649a3cc5
Replace enum ==
s with match
es where it makes sense
2023-01-30 12:26:26 +00:00
Camille GILLOT
15d6325747
Remove HirId -> LocalDefId
map from HIR.
2023-01-28 09:55:26 +00:00
Camille GILLOT
60e04d1e8c
Compute generator saved locals on MIR.
2023-01-27 20:10:06 +00:00
Vincenzo Palazzo
7d2c1103d7
fix: use LocalDefId instead of HirId in trait res
...
use LocalDefId instead of HirId in trait resolution to simplify
the obligation clause resolution
Signed-off-by: Vincenzo Palazzo <vincenzopalazzodev@gmail.com>
2023-01-23 11:42:18 +00:00
Michael Goulet
8742fd9c85
Label closure captures/generator locals that make opaque types recursive
2023-01-21 05:49:36 +00:00
bors
56ee85274e
Auto merge of #106090 - WaffleLapkin:dereffffffffff, r=Nilstrieb
...
Remove some `ref` patterns from the compiler
Previous PR: https://github.com/rust-lang/rust/pull/105368
r? `@Nilstrieb`
2023-01-20 04:52:28 +00:00
Scott McMurray
925dc37313
Stop using BREAK
& CONTINUE
in compiler
...
Switching them to `Break(())` and `Continue(())` instead.
libs-api would like to remove these constants, so stop using them in compiler to make the removal PR later smaller.
2023-01-17 23:17:51 -08:00
Maybe Waffle
09485eaae1
rustc_hir_analysis
: remove ref
patterns
2023-01-17 07:48:19 +00:00
Guillaume Gomez
921efd2e67
Add missing normalization for union fields types
2023-01-16 15:18:14 +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
Yuki Okushi
e5e116dca9
Rollup merge of #106204 - compiler-errors:no-take-opaques-in-compare, r=oli-obk
...
No need to take opaques in `check_type_bounds`
`InferCtxt` already has its defining use anchor set to err
r? ``@oli-obk``
2023-01-10 08:05:34 +09:00
Michael Goulet
f769d34291
Assert defining anchor is set in take_opaque_types
2023-01-09 18:14:28 +00:00
Michael Goulet
c104ee9f6d
Move check_region_obligations_and_report_errors to TypeErrCtxt
2023-01-03 23:58:12 +00:00
bors
83a28ef095
Auto merge of #106129 - compiler-errors:compare_method-tweaks, r=BoxyUwU
...
Some `compare_method` tweaks
1. Make some of the comparison functions' names more regular
2. Reduce pub scope of some of the things in `compare_method`
~3. Remove some unnecessary opaque type handling code -- `InferCtxt` already is in a mode that doesn't define opaque types~
* moved to a different PR
4. Bubble up `ErrorGuaranteed` for region constraint errors in `compare_method` - Improves a redundant error message in one unit test.
5. Move the `compare_method` module to have a more general name, since it's more like `compare_impl_item` :)
6. Rename `collect_trait_impl_trait_tys`
2022-12-28 13:07:30 +00:00
Michael Goulet
c7b414adb6
Rename module compare_method -> compare_impl_item
2022-12-28 04:18:37 +00:00
Esteban Küber
50c1be1d19
Emit fewer errors on invalid #[repr(transparent)]
on enum
...
Fix #68420 .
2022-12-27 18:28:02 -08:00
Michael Goulet
8973b3e3cc
Bubble up ErrorGuaranteed from region constraints in method item compare
2022-12-24 21:37:00 +00:00
Michael Goulet
6161758b6d
Rename some compare_method functions
2022-12-24 21:36:58 +00:00
Jeremy Stucki
3dde32ca97
rustc: Remove needless lifetimes
2022-12-20 22:10:40 +01:00
Matthias Krüger
6e52a0f421
remove redundant fn params that were only "used" in recursion
2022-12-18 14:27:07 +01:00
Oli Scherer
6af3638709
Prevent the creation of TraitRef
without dedicated methods
2022-12-14 15:36:39 +00:00
Oli Scherer
a5cd3bde95
Ensure no one constructs AliasTy
s themselves
2022-12-14 15:36:39 +00:00
Michael Goulet
61adaf8187
Combine projection and opaque into alias
2022-12-13 17:48:55 +00:00