@@ -1513,7 +1513,7 @@ and c_item_unwrapped ~ident ~type_only (item : Thir.item) : item list =
15131513 in
15141514 (* TODO: things might be unnamed (e.g. constants) *)
15151515 match (item.kind : Thir.item_kind ) with
1516- | Const (_ , _ , generics , body ) ->
1516+ | Const (_ , generics , _ , body ) ->
15171517 mk
15181518 @@ Fn
15191519 {
@@ -1523,14 +1523,14 @@ and c_item_unwrapped ~ident ~type_only (item : Thir.item) : item list =
15231523 params = [] ;
15241524 safety = Safe ;
15251525 }
1526- | Static (_ , _ , true , _ ) ->
1526+ | Static (true , _ , _ , _ ) ->
15271527 unimplemented ~issue_id: 1343 [ item.span ]
15281528 " Mutable static items are not supported."
1529- | Static (_ , _ty , false , body ) ->
1529+ | Static (false , _ , _ty , body ) ->
15301530 let name = Concrete_ident. of_def_id ~value: true (assert_item_def_id () ) in
15311531 let generics = { params = [] ; constraints = [] } in
15321532 mk (Fn { name; generics; body = c_body body; params = [] ; safety = Safe })
1533- | TyAlias (_ , ty , generics ) ->
1533+ | TyAlias (_ , generics , ty ) ->
15341534 mk
15351535 @@ TyAlias
15361536 {
@@ -1549,13 +1549,13 @@ and c_item_unwrapped ~ident ~type_only (item : Thir.item) : item list =
15491549 params = c_fn_params item.span params;
15501550 safety = c_header_safety safety;
15511551 }
1552- | (Enum (_ , _ , generics , _ ) | Struct (_ , _ , generics )) when erased ->
1552+ | (Enum (_ , generics , _ , _ ) | Struct (_ , generics , _ )) when erased ->
15531553 let generics = c_generics generics in
15541554 let is_struct = match item.kind with Struct _ -> true | _ -> false in
15551555 let def_id = assert_item_def_id () in
15561556 let name = Concrete_ident. of_def_id ~value: false def_id in
15571557 mk @@ Type { name; generics; variants = [] ; is_struct }
1558- | Enum (_ , variants , generics , repr ) ->
1558+ | Enum (_ , generics , variants , repr ) ->
15591559 let def_id = assert_item_def_id () in
15601560 let generics = c_generics generics in
15611561 let is_struct = false in
@@ -1613,7 +1613,7 @@ and c_item_unwrapped ~ident ~type_only (item : Thir.item) : item list =
16131613 mk_one (Type { name; generics; variants; is_struct }) :: discs
16141614 in
16151615 if is_primitive then cast_fun :: result else result
1616- | Struct (_ , v , generics ) ->
1616+ | Struct (_ , generics , v ) ->
16171617 let generics = c_generics generics in
16181618 let def_id = assert_item_def_id () in
16191619 let is_struct = true in
@@ -1808,7 +1808,9 @@ and c_item_unwrapped ~ident ~type_only (item : Thir.item) : item list =
18081808 {
18091809 path = List. map ~f: (fun x -> fst x.ident) segments;
18101810 is_external =
1811- List. exists ~f: (function Err -> true | _ -> false ) res;
1811+ List. exists
1812+ ~f: (function None | Some Err -> true | _ -> false )
1813+ res;
18121814 (* TODO: this should represent local/external? *)
18131815 rename;
18141816 }
0 commit comments