summary refs log tree commit diff
path: root/compiler/rustc_ty_utils/src/instance.rs
AgeCommit message (Collapse)AuthorLines
2024-05-29Optimize async drop glue for some old typesDaria Sukhonina-1/+2
2024-05-23Remove `#[macro_use] extern crate tracing` from `rustc_ty_utils`.Nicholas Nethercote-0/+1
2024-05-13Remove `extern crate rustc_middle` from `rustc_ty_utils`.Nicholas Nethercote-0/+1
2024-04-25Don't ICE when codegen_select returns ambiguity in new solverMichael Goulet-12/+5
2024-04-18Fix disabling the export of noop async_drop_in_place_rawDaria Sukhonina-1/+1
2024-04-17Use non-exhaustive matches for TyKindDaria Sukhonina-36/+17
Also no longer export noop async_drop_in_place_raw
2024-04-16Add simple async drop glue generationzetanumbers-0/+41
Explainer: https://zetanumbers.github.io/book/async-drop-design.html https://github.com/rust-lang/rust/pull/121801
2024-03-19Fix ABI for FnMut/Fn impls for async closuresMichael Goulet-0/+2
2024-03-19Only split by-ref/by-move futures for async closuresMichael Goulet-20/+13
2024-03-09Remove `Ord` from `ClosureKind`Deadbeef-17/+20
Using `Ord` to accomplish a meaning of subset relationship can be hard to read. The existing uses for that are easily replaced with a `match`, and in my opinion, more readable without needing to resorting to comments to explain the intention.
2024-03-04make `intrinsic` query legal for any `DefId`Oli Scherer-3/+1
2024-02-20Fix stray trait mismatch in resolve_associated_item for AsyncFnMichael Goulet-15/+3
2024-02-12Make `is_intrinsic` query return the intrinsic nameOli Scherer-1/+2
2024-02-11Auto merge of #120619 - compiler-errors:param, r=lcnrbors-3/+1
Assert that params with the same *index* have the same *name* Found this bug when trying to build libcore with the new solver, since it will canonicalize two params with the same index into *different* placeholders if those params differ by name.
2024-02-07Stop using is_copy_modulo_regions when building clone shimMichael Goulet-3/+1
2024-02-06Coroutine closures implement regular Fn traits, when possibleMichael Goulet-0/+18
2024-02-06Regular closures now built-in impls for AsyncFn*Michael Goulet-0/+13
2024-02-06More comments, final tweaksMichael Goulet-0/+7
2024-02-06Build a shim to call async closures with different AsyncFn trait kindsMichael Goulet-3/+14
2024-02-06Teach typeck/borrowck/solvers how to deal with async closuresMichael Goulet-0/+11
2024-02-06Add CoroutineClosure to TyKind, AggregateKind, UpvarArgsMichael Goulet-0/+1
2024-01-23Rollup merge of #120139 - compiler-errors:fnonce-shim, r=BoxyUwULeón Orell Valerian Liehr-1/+6
Do not normalize closure signature when building `FnOnce` shim It is not necessary to normalize the closure signature when building an `FnOnce` shim for an `Fn`/`FnMut` closure. That closure shim is just calling `FnMut::call_mut(&mut self)` anyways. It's also somewhat sketchy that we were ever doing this to begin with, since we're normalizing with a `ParamEnv::reveal_all()` param-env, which is definitely not right with possibly polymorphic substs. This cuts out a tiny bit of unnecessary work in `Instance::resolve` and simplifies the signature because now we can unconditionally return an `Instance`.
2024-01-22Do not normalize closure signature when building FnOnce shimMichael Goulet-1/+6
2024-01-19Consolidate logic around resolving built-in coroutine trait implsMichael Goulet-58/+1
2023-12-28Remove movability from TyKind::CoroutineMichael Goulet-4/+4
2023-12-24Remove `Session` methods that duplicate `DiagCtxt` methods.Nicholas Nethercote-3/+3
Also add some `dcx` methods to types that wrap `TyCtxt`, for easier access.
2023-12-08Implement `async gen` blocksMichael Goulet-0/+15
2023-12-02Rename `HandlerInner::delay_span_bug` as `HandlerInner::span_delayed_bug`.Nicholas Nethercote-2/+2
Because the corresponding `Level` is `DelayedBug` and `span_delayed_bug` follows the pattern used everywhere else: `span_err`, `span_warning`, etc.
2023-11-21Rollup merge of #118115 - spastorino:fix-old-fn-names, r=compiler-errorsNilstrieb-1/+1
Fix occurrences of old fn names in comment and tracing
2023-11-20Fix occurrences of old fn names in comment and tracingSantiago Pastorino-1/+1
2023-11-20Reduce exposure of some items.Nicholas Nethercote-1/+1
2023-10-30Some more coroutine renamingsMichael Goulet-1/+1
2023-10-27Basic generators workOli Scherer-0/+13
2023-10-20s/generator/coroutine/Oli Scherer-6/+6
2023-10-20s/Generator/Coroutine/Oli Scherer-6/+6
2023-10-13Format all the let chains in compilerMichael Goulet-4/+1
2023-09-19Don't resolve generic instances if they may be shadowed by dynMichael Goulet-1/+24
2023-09-14treat host effect params as erased generics in codegenDeadbeef-0/+1
This fixes the changes brought to codegen tests when effect params are added to libcore, by not attempting to monomorphize functions that get the host param by being `const fn`.
2023-08-09Don't use type_of to determine if item has intrinsic shimMichael Goulet-35/+30
2023-07-25Make everything builtin!Michael Goulet-8/+11
2023-07-25Restore tuple unsizing feature gateMichael Goulet-1/+3
2023-07-14refactor(rustc_middle): Substs -> GenericArgMahdi Dibaiee-40/+35
2023-07-12Re-format let-else per rustfmt updateMark Rousskov-2/+4
2023-07-06get rid of a bit more calls to poly_selectMichael Goulet-1/+1
2023-06-20yeet ImplSource::TraitAlias tooMichael Goulet-3/+1
2023-06-17Remove even more redundant builtin candidatesMichael Goulet-77/+60
2023-06-17Simplify even more candidatesMichael Goulet-21/+19
2023-06-17Simplify some impl source candidatesMichael Goulet-4/+2
2023-06-01Rename `impl_defaultness` to `defaultness`Deadbeef-1/+1
2023-05-15Move expansion of query macros in rustc_middle to rustc_middle::queryJohn Kåre Alsaker-2/+3