Michael Goulet
08af64e96b
Regular closures now built-in impls for AsyncFn*
2024-02-06 20:52:13 +00:00
Michael Goulet
f3d32f2f0c
Flatten confirmation logic
2024-02-06 17:20:40 +00:00
Michael Goulet
c98d6994a3
More comments, final tweaks
2024-02-06 02:22:58 +00:00
Michael Goulet
881b6b5149
Bless tests, add comments
2024-02-06 02:22:58 +00:00
Michael Goulet
427896dd7e
Construct body for by-move coroutine closure output
2024-02-06 02:22:58 +00:00
Michael Goulet
a82bae2172
Teach typeck/borrowck/solvers how to deal with async closures
2024-02-06 02:22:58 +00:00
Michael Goulet
c567eddec2
Add CoroutineClosure to TyKind, AggregateKind, UpvarArgs
2024-02-06 02:22:58 +00:00
Oli Scherer
08fc5e8acd
Define hidden types in confirmation
2024-01-10 16:03:05 +00:00
Michael Goulet
fcb42b42d6
Remove movability from TyKind::Coroutine
2023-12-28 16:35:01 +00:00
Nicholas Nethercote
99472c7049
Remove Session
methods that duplicate DiagCtxt
methods.
...
Also add some `dcx` methods to types that wrap `TyCtxt`, for easier
access.
2023-12-24 08:05:28 +11:00
Michael Goulet
69f360d00c
Check FnPtr/FnDef built-in fn traits correctly with effects
2023-12-18 20:28:06 +00:00
Michael Goulet
70b9dad3dc
Annotate some bugs
2023-12-15 14:45:06 +00:00
lcnr
11d16c4082
update use of feature flags
2023-12-14 15:22:37 +01:00
Michael Goulet
96bb542a31
Implement async gen
blocks
2023-12-08 17:23:25 +00:00
Michael Goulet
1ec3ef7d81
Yeet PolyGenSig
2023-12-06 19:50:35 +00:00
Nicholas Nethercote
5d1d384443
Rename HandlerInner::delay_span_bug
as HandlerInner::span_delayed_bug
.
...
Because the corresponding `Level` is `DelayedBug` and `span_delayed_bug`
follows the pattern used everywhere else: `span_err`, `span_warning`,
etc.
2023-12-02 09:01:19 +11:00
Santiago Pastorino
440f46dc16
Get rid of infer vars in inherent assoc types selection by using probe
2023-11-25 17:48:09 -03:00
Santiago Pastorino
f57e1843f3
Make PlaceholderReplacer shallow_resolver when folding const and ty and recur if contain infer vars
2023-11-24 16:26:08 -03:00
Nilstrieb
21a870515b
Fix clippy::needless_borrow
in the compiler
...
`x clippy compiler -Aclippy::all -Wclippy::needless_borrow --fix`.
Then I had to remove a few unnecessary parens and muts that were exposed
now.
2023-11-21 20:13:40 +01:00
lcnr
dd0739aabe
continue renaming
...
- `RegionVariableOrigin::~~Late~~BoundRegion`
- `~~Late~~BoundRegionConversionTime`
2023-11-13 14:13:54 +00:00
lcnr
86fa1317a3
rename ReLateBound
to ReBound
...
other changes:
- `Region::new_late_bound` -> `Region::new_bound`
- `Region::is_late_bound` -> `Region::is_bound`
2023-11-13 14:13:54 +00:00
Michael Goulet
bcb97ea221
No lifetime on PlaceholderConst
2023-11-04 17:36:44 +00:00
Michael Goulet
add09e66f2
Some more coroutine renamings
2023-10-30 23:46:27 +00:00
Oli Scherer
998a816106
Make gen
blocks implement the Iterator
trait
2023-10-27 13:05:48 +00:00
Oli Scherer
9088ba9f3e
Make ICE a bit more informative
2023-10-23 09:53:04 +00:00
Oli Scherer
e96ce20b34
s/generator/coroutine/
2023-10-20 21:14:01 +00:00
Oli Scherer
60956837cf
s/Generator/Coroutine/
2023-10-20 21:10:38 +00:00
lcnr
306a7ea8b4
AliasTy::new instead of tcx method
2023-10-18 13:57:19 +02:00
Nicholas Nethercote
91f2fbc867
Fix a performance regression in obligation deduplication.
...
Commit 8378487
from #114611 changed the location of an obligation
deduplication step in `opt_normalize_projection_type`. This meant that
deduplication stopped happening on one path where it was still
necessary, causing a couple of drastic performance regressions.
This commit moves the deduplication back to the old location. The good
news is that #114611 had four commits and 8378487
was of minimal
importance, so the perf benefits from that PR remain.
Fixes #116780 , #116797 .
2023-10-17 11:02:59 +11:00
lcnr
a4f6770d83
a small wf and clause cleanup
2023-09-29 11:34:50 +02:00
Camille GILLOT
44ac8dcc71
Remove GeneratorWitness and rename GeneratorWitnessMIR.
2023-09-23 13:47:30 +00:00
Ziru Niu
3c69a107d0
remove impl<'tcx> ToPredicate<'tcx, Clause<'tcx>> for PolyProjectionPredicate<'tcx>
2023-09-20 04:03:02 +08:00
Ralf Jung
6e4779ab17
make the eval() functions on our const types return the resulting value
2023-09-13 07:29:34 +02:00
Oli Scherer
5d850e0f50
Permit recursive weak type aliases
2023-08-30 11:55:03 +00:00
Nicholas Nethercote
8378487f27
Only dedup obligation after new ones have been added.
2023-08-08 15:38:20 +10:00
Nicholas Nethercote
3c99b3dbd0
Size the deduped
set appropriately.
...
Avoids lots of resizing as the set fills up.
2023-08-08 15:38:20 +10:00
Nicholas Nethercote
1c583c0b91
Simplify the boolean logic in a closure.
...
And rename a closure argument.
2023-08-08 15:38:20 +10:00
Deadbeef
4fec845c3f
Remove constness from TraitPredicate
2023-08-02 15:38:00 +00:00
Matthias Krüger
3ce90b1649
inline format!() args up to and including rustc_codegen_llvm
2023-07-30 14:22:50 +02:00
Michael Goulet
a7ed9c1da7
Make everything builtin!
2023-07-25 16:08:58 +00:00
Michael Goulet
c02d1a6553
Restore tuple unsizing feature gate
2023-07-25 15:15:25 +00:00
Michael Goulet
c9ce51b5c7
Check GAT, IAT, and weak type where clauses during projection
2023-07-16 21:14:38 +00:00
Michael Goulet
085ae9e8b4
Add support for inherent projections
2023-07-16 21:14:38 +00:00
Mahdi Dibaiee
e55583c4b8
refactor(rustc_middle): Substs -> GenericArg
2023-07-14 13:27:35 +01:00
Santiago Pastorino
20429af7a3
Replace RPITIT current impl with new strategy that lowers as a GAT
2023-07-08 18:21:34 -03:00
Michael Goulet
52f7384995
Separate select calls that don't need a binder
2023-07-06 16:50:12 +00:00
Boxy
12138b8e5e
Move TyCtxt::mk_x
to Ty::new_x
where applicable
2023-07-05 20:27:07 +01:00
Michael Goulet
a1f8edb5d5
Rollup merge of #113317 - lcnr:sketchy-new-select, r=oli-obk
...
-Ztrait-solver=next: stop depending on old solver
removes the final dependencies on the old solver when `-Ztrait-solver=next` is enabled.
2023-07-05 08:45:43 -07:00
Boxy
ddbc774e74
Replace mk_const
with Const::new_x
methods
2023-07-04 14:26:33 +01:00
lcnr
b468bfb361
-Ztrait-solver=next: stop depending on old solver
2023-07-04 10:06:39 +02:00