lcnr
791ce0b7b5
remove some trait solver helpers
...
they add more complexity then they are worth. It's confusing
which of these helpers should be used in which context.
2023-03-21 09:57:20 +01:00
Camille GILLOT
bcb161def7
Wrap the whole LocalInfo in ClearCrossCrate.
2023-03-14 20:52:42 +01:00
bors
0d439f8181
Auto merge of #108351 - petrochenkov:rmdit, r=cjgillot
...
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-05 10:37:02 +00:00
Giacomo Pasini
b3a47d9b6b
Desugars drop and replace at MIR build
...
This commit desugars the drop and replace deriving from an
assignment at MIR build, avoiding the construction of the
DropAndReplace terminator (which will be removed in a followign PR)
In order to retain the same error messages for replaces a new
DesugaringKind::Replace variant is introduced.
2023-03-03 16:33:11 +01: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
Camille GILLOT
0915d55d87
Wrap more into into closure_typeinfo query.
2023-02-26 10:30:27 +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
Matthias Krüger
8f65e25aec
Rollup merge of #108010 - compiler-errors:can_eq-returns-bool, r=lcnr
...
Make `InferCtxt::can_eq` and `InferCtxt::can_sub` return booleans
Nobody matches on the result, nor does the result return anything useful...
2023-02-15 21:30:56 +01:00
Camille GILLOT
03dff82d59
Add of_trait
to DefKind::Impl.
2023-02-14 19:55:44 +00:00
Michael Goulet
eb286dd070
Make can_eq and can_sub return booleans
2023-02-13 19:29:02 +00:00
Michael Goulet
03a8a4ff3e
Replacing bound vars is actually instantiating a binder
2023-02-07 23:13:54 +00:00
Camille GILLOT
0241c29123
Put a DefId in AggregateKind.
2023-02-02 23:09:51 +00:00
Nilstrieb
832751fe1d
Also erase substs for new infcx in pin move error
...
The code originally correctly erased the regions of the type it passed
to the newly created infcx. But after the `fn_sig` query was made to
return an `EarlyBinder<T>`, some substs that were around were
substituted there without erasing their regions. They were then passed
into the newly cerated infcx, which caused the ICE.
2023-01-28 20:43:16 +01:00
Kyle Matsuda
4a7d0e9754
add method_substs to CallKind
2023-01-26 20:28:31 -07:00
Kyle Matsuda
a969c194d8
fix up subst_identity vs skip_binder; add some FIXMEs as identified in review
2023-01-26 20:28:31 -07:00
Kyle Matsuda
c2414dfaa4
change fn_sig query to use EarlyBinder; remove bound_fn_sig query; add EarlyBinder to fn_sig in metadata
2023-01-26 20:28:25 -07:00
Kyle Matsuda
e982971ff2
replace usages of fn_sig query with bound_fn_sig
2023-01-26 20:15:36 -07:00
wcampbell
d0cf7e3bf5
Use fmt named parameters in rustc_borrowck
2023-01-06 19:34:45 -05:00
Esteban Küber
8a13a7c148
review comments
2022-12-26 13:35:35 -08:00
Esteban Küber
2d6a2ff76e
Create new inference context
2022-12-25 16:51:11 -08:00
Esteban Küber
ea7de0d485
Do not use hir_ty_to_ty
2022-12-23 16:45:16 -08:00
Esteban Küber
12fd9011b8
Verify receiver is of self: Pin<&mut Self>
2022-12-23 15:13:04 -08:00
Esteban Küber
a929316aed
Suggest .clone()
on method call move errors
2022-12-23 12:49:20 -08:00
Esteban Küber
c79db9c5e5
Suggest Pin::as_mut
when encountering borrow error
2022-12-23 09:59:39 -08:00
Oli Scherer
6984085088
Stop pointing to operators if their libcore method source is not available
2022-12-13 10:06:11 +00:00
Oli Scherer
063b1675b2
Clarify what "this" means
2022-12-13 09:51:03 +00:00
Maybe Waffle
c75817fb1b
rustc_borrowck
: remove ref
patterns
2022-12-06 14:45:58 +00:00
Maybe Waffle
1d42936b18
Prefer doc comments over //
-comments in compiler
2022-11-27 11:19:04 +00:00
Esteban Küber
0da4c44190
Account for closures
2022-11-23 12:17:48 -08:00
Vadim Petrochenkov
7a5376d23c
Unreserve braced enum variants in value namespace
2022-11-21 22:40:06 +03:00
AndyJado
abf259cc54
var_subdiag refinement
...
trim old
2022-11-09 21:15:29 +08:00
AndyJado
a0cee0ab90
remove old var_span_path_only
...
doc comment
2022-11-09 20:51:43 +08:00
AndyJado
e49d10db14
first move on a nested span_label
...
Apply suggestions from code review
Co-authored-by: David Wood <agile.lion3441@fuligin.ink>
2022-11-05 19:43:48 +08:00
Cameron Steffen
283abbf0e7
Change InferCtxtBuilder from enter to build
2022-10-07 07:10:40 -05:00
fee1-dead
084029f39d
Rollup merge of #101431 - compiler-errors:move-place-ty-for-move-place-sugg, r=cjgillot
...
Look at move place's type when suggesting mutable reborrow
Not sure why we are looking at the use site's ty instead of the move site's ty in order to suggest reborrowing the move site, but it was suppressing a perfectly valid reborrow suggestion.
r? `@estebank` who i think touched this last in 520461f1fb
, though that was quite a while ago so feel free to reassign.
2022-09-25 22:06:37 +08:00
Oli Scherer
40e2de8c41
Revert "Revert "Rollup merge of #98582 - oli-obk:unconstrained_opaque_type, r=estebank""
...
This reverts commit 4a742a691e
.
2022-09-16 11:36:39 +00:00
Michael Goulet
7e226e6d3f
Look at move place's type when suggesting mutable reborrow
2022-09-05 05:00:33 +00:00
Michael Goulet
e37565d2db
Make as_ref suggestion a note
2022-08-16 03:02:04 +00:00
Michael Goulet
84ba2289fd
Suggest as_ref or as_mut
2022-08-14 20:23:52 +00:00
Obei Sideg
86dd457e6a
Improve cannot move out of
error message
2022-07-31 21:06:43 +03:00
Cameron Steffen
cf2433a74f
Use LocalDefId for closures more
2022-07-30 15:59:17 -05:00
Oli Scherer
4a742a691e
Revert "Rollup merge of #98582 - oli-obk:unconstrained_opaque_type, r=estebank"
...
This reverts commit 6f8fb911ad
, reversing
changes made to 7210e46dc6
.
2022-07-20 07:55:58 +00:00
Oli Scherer
84a444a1f4
Introduce opaque type to hidden type projection
2022-07-15 15:49:22 +00:00
Dylan DPC
e5a86d7358
Rollup merge of #98705 - WaffleLapkin:closure_binder, r=cjgillot
...
Implement `for<>` lifetime binder for closures
This PR implements RFC 3216 ([TI](https://github.com/rust-lang/rust/issues/97362 )) and allows code like the following:
```rust
let _f = for<'a, 'b> |a: &'a A, b: &'b B| -> &'b C { b.c(a) };
// ^^^^^^^^^^^--- new!
```
cc ``@Aaron1011`` ``@cjgillot``
2022-07-14 14:14:21 +05:30
Maybe Waffle
df4fee9841
Add an indirection for closures in hir::ExprKind
...
This helps bring `hir::Expr` size down, `Closure` was the biggest
variant, especially after `for<>` additions.
2022-07-12 21:00:13 +04:00
Dylan DPC
9fc297a2ae
Rollup merge of #99140 - TaKO8Ki:implement-is-accessible-span, r=fee1-dead
...
Implement `SourceMap::is_span_accessible`
This patch adds `SourceMap::is_span_accessible` and replaces `span_to_snippet(span).is_ok()` and `span_to_snippet(span).is_err()` with it. This removes a `&str` to `String` conversion.
2022-07-11 15:19:32 +05:30
Takayuki Maeda
018155c3a2
rename a method
2022-07-11 16:51:19 +09:00
Takayuki Maeda
12d11e9a35
implement is_accessible_span
2022-07-11 11:36:15 +09:00
Takayuki Maeda
bda83e6543
avoid some &str
to String
conversions
2022-07-10 03:18:56 +09:00