@@ -461,6 +461,7 @@ pub fn type_di_node<'ll, 'tcx>(cx: &CodegenCx<'ll, 'tcx>, t: Ty<'tcx>) -> &'ll D
461
461
}
462
462
ty:: FnDef ( ..) | ty:: FnPtr ( _) => build_subroutine_type_di_node ( cx, unique_type_id) ,
463
463
ty:: Closure ( ..) => build_closure_env_di_node ( cx, unique_type_id) ,
464
+ ty:: CoroutineClosure ( ..) => build_closure_env_di_node ( cx, unique_type_id) ,
464
465
ty:: Coroutine ( ..) => enums:: build_coroutine_di_node ( cx, unique_type_id) ,
465
466
ty:: Adt ( def, ..) => match def. adt_kind ( ) {
466
467
AdtKind :: Struct => build_struct_type_di_node ( cx, unique_type_id) ,
@@ -1068,6 +1069,7 @@ fn build_upvar_field_di_nodes<'ll, 'tcx>(
1068
1069
let ( & def_id, up_var_tys) = match closure_or_coroutine_ty. kind ( ) {
1069
1070
ty:: Coroutine ( def_id, args) => ( def_id, args. as_coroutine ( ) . prefix_tys ( ) ) ,
1070
1071
ty:: Closure ( def_id, args) => ( def_id, args. as_closure ( ) . upvar_tys ( ) ) ,
1072
+ ty:: CoroutineClosure ( def_id, args) => ( def_id, args. as_coroutine_closure ( ) . upvar_tys ( ) ) ,
1071
1073
_ => {
1072
1074
bug ! (
1073
1075
"build_upvar_field_di_nodes() called with non-closure-or-coroutine-type: {:?}" ,
@@ -1153,7 +1155,8 @@ fn build_closure_env_di_node<'ll, 'tcx>(
1153
1155
unique_type_id : UniqueTypeId < ' tcx > ,
1154
1156
) -> DINodeCreationResult < ' ll > {
1155
1157
let closure_env_type = unique_type_id. expect_ty ( ) ;
1156
- let & ty:: Closure ( def_id, _args) = closure_env_type. kind ( ) else {
1158
+ let & ( ty:: Closure ( def_id, _) | ty:: CoroutineClosure ( def_id, _) ) = closure_env_type. kind ( )
1159
+ else {
1157
1160
bug ! ( "build_closure_env_di_node() called with non-closure-type: {:?}" , closure_env_type)
1158
1161
} ;
1159
1162
let containing_scope = get_namespace_for_item ( cx, def_id) ;
0 commit comments