Skip to content

Commit 79de29e

Browse files
committed
do not decay F* struct/union field types, universes
1 parent 0d6bd30 commit 79de29e

File tree

1 file changed

+3
-3
lines changed

1 file changed

+3
-3
lines changed

Diff for: src/extraction/FStar.Extraction.Krml.fst

+3-3
Original file line numberDiff line numberDiff line change
@@ -561,7 +561,7 @@ let rec translate_type_without_decay' env t: typ =
561561
| MLTY_Named ([arg], p) when
562562
Syntax.string_of_mlpath p = "FStar.Universe.raise_t"
563563
->
564-
translate_type env arg
564+
translate_type_without_decay env arg
565565

566566
| MLTY_Named ([_], p) when (Syntax.string_of_mlpath p = "FStar.Ghost.erased") ->
567567
TAny
@@ -1222,7 +1222,7 @@ let translate_type_decl' env ty: option decl =
12221222
let name = env.module_name, name in
12231223
let env = List.fold_left (fun env name -> extend_t env name) env args in
12241224
Some (DTypeFlat (name, translate_flags flags, List.length args, List.map (fun (f, t) ->
1225-
f, (translate_type env t, false)) fields))
1225+
f, (translate_type_without_decay env t, false)) fields))
12261226

12271227
| {tydecl_name=name;
12281228
tydecl_parameters=args;
@@ -1233,7 +1233,7 @@ let translate_type_decl' env ty: option decl =
12331233
let env = List.fold_left extend_t env args in
12341234
Some (DTypeVariant (name, flags, List.length args, List.map (fun (cons, ts) ->
12351235
cons, List.map (fun (name, t) ->
1236-
name, (translate_type env t, false)
1236+
name, (translate_type_without_decay env t, false)
12371237
) ts
12381238
) branches))
12391239
| {tydecl_name=name} ->

0 commit comments

Comments
 (0)