Skip to content

Commit

Permalink
Auto merge of #119173 - compiler-errors:direct-coro-kind, r=TaKO8Ki
Browse files Browse the repository at this point in the history
Encode `CoroutineKind` directly

Probably a quick optimization?

r? `@ghost`
  • Loading branch information
bors committed Dec 22, 2023
2 parents aaef5fe + 828272a commit ef1b78e
Show file tree
Hide file tree
Showing 4 changed files with 19 additions and 4 deletions.
2 changes: 1 addition & 1 deletion compiler/rustc_metadata/src/rmeta/decoder/cstore_impl.rs
Original file line number Diff line number Diff line change
Expand Up @@ -241,7 +241,7 @@ provide! { tcx, def_id, other, cdata,
rendered_const => { table }
asyncness => { table_direct }
fn_arg_names => { table }
coroutine_kind => { table }
coroutine_kind => { table_direct }
trait_def => { table }
deduced_param_attrs => { table }
is_type_alias_impl_trait => {
Expand Down
4 changes: 2 additions & 2 deletions compiler/rustc_metadata/src/rmeta/encoder.rs
Original file line number Diff line number Diff line change
Expand Up @@ -1428,9 +1428,9 @@ impl<'a, 'tcx> EncodeContext<'a, 'tcx> {
}
}
if def_kind == DefKind::Closure
&& let Some(data) = self.tcx.coroutine_kind(def_id)
&& let Some(coroutine_kind) = self.tcx.coroutine_kind(def_id)
{
record!(self.tables.coroutine_kind[def_id] <- data);
self.tables.coroutine_kind.set(def_id.index, Some(coroutine_kind));
}
if let DefKind::Enum | DefKind::Struct | DefKind::Union = def_kind {
self.encode_info_for_adt(local_id);
Expand Down
2 changes: 1 addition & 1 deletion compiler/rustc_metadata/src/rmeta/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -443,7 +443,7 @@ define_tables! {
rendered_const: Table<DefIndex, LazyValue<String>>,
asyncness: Table<DefIndex, ty::Asyncness>,
fn_arg_names: Table<DefIndex, LazyArray<Ident>>,
coroutine_kind: Table<DefIndex, LazyValue<hir::CoroutineKind>>,
coroutine_kind: Table<DefIndex, hir::CoroutineKind>,
trait_def: Table<DefIndex, LazyValue<ty::TraitDef>>,
trait_item_def_id: Table<DefIndex, RawDefId>,
expn_that_defined: Table<DefIndex, LazyValue<ExpnId>>,
Expand Down
15 changes: 15 additions & 0 deletions compiler/rustc_metadata/src/rmeta/table.rs
Original file line number Diff line number Diff line change
Expand Up @@ -204,6 +204,21 @@ fixed_size_enum! {
}
}

fixed_size_enum! {
hir::CoroutineKind {
( Coroutine )
( Gen(hir::CoroutineSource::Block) )
( Gen(hir::CoroutineSource::Fn) )
( Gen(hir::CoroutineSource::Closure) )
( Async(hir::CoroutineSource::Block) )
( Async(hir::CoroutineSource::Fn) )
( Async(hir::CoroutineSource::Closure) )
( AsyncGen(hir::CoroutineSource::Block) )
( AsyncGen(hir::CoroutineSource::Fn) )
( AsyncGen(hir::CoroutineSource::Closure) )
}
}

fixed_size_enum! {
ty::AssocItemContainer {
( TraitContainer )
Expand Down

0 comments on commit ef1b78e

Please sign in to comment.