Skip to content

Tactics.PrettifyTypes: some improvements on generated types #873

Tactics.PrettifyTypes: some improvements on generated types

Tactics.PrettifyTypes: some improvements on generated types #873

Triggered via pull request August 18, 2025 01:53
Status Success
Total duration 42m 59s
Artifacts 3

ci.yml

on: pull_request
Matrix: opam / build
Matrix: tests / ocaml-smoke
pulse  /  build-pulse-plugin
5m 22s
pulse / build-pulse-plugin
Fit to window
Zoom out
Zoom in

Annotations

60 warnings and 7 notices
build / build: FStarC.Parser.ToDocument.fst#L1989
(328) * Warning 328 at /__w/FStar/FStar/FStar/src/parser/FStarC.Parser.ToDocument.fst(1989,4-1989,12): - Global binding 'FStarC.Parser.ToDocument.p_tmNoEq' is recursive but not used in its body
build / build: FStarC.Parser.ToDocument.fst#L1725
(328) * Warning 328 at /__w/FStar/FStar/FStar/src/parser/FStarC.Parser.ToDocument.fst(1725,4-1725,21): - Global binding 'FStarC.Parser.ToDocument.p_maybeFocusArrow' is recursive but not used in its body
build / build: FStarC.Parser.ToDocument.fst#L1093
(328) * Warning 328 at /__w/FStar/FStar/FStar/src/parser/FStarC.Parser.ToDocument.fst(1093,4-1093,24): - Global binding 'FStarC.Parser.ToDocument.p_disjunctivePattern' is recursive but not used in its body
build / build: FStarC.Parser.ToDocument.fst#L754
(328) * Warning 328 at /__w/FStar/FStar/FStar/src/parser/FStarC.Parser.ToDocument.fst(754,4-754,13): - Global binding 'FStarC.Parser.ToDocument.p_justSig' is recursive but not used in its body
build / build: FStarC.Parser.ToDocument.fst#L733
(328) * Warning 328 at /__w/FStar/FStar/FStar/src/parser/FStarC.Parser.ToDocument.fst(733,8-733,14): - Global binding 'FStarC.Parser.ToDocument.p_decl' is recursive but not used in its body
build / build: FStarC.Plugins.fst#L88
(337) * Warning 337 at /__w/FStar/FStar/FStar/src/basic/FStarC.Plugins.fst(88,16-88,17): - The operator '@' has been resolved to FStar.List.Tot.append even though FStar.List.Tot is not in scope. Please add an 'open FStar.List.Tot' to stop relying on this deprecated, special treatment of '@'.
build / build: FStarC.Plugins.fst#L87
(337) * Warning 337 at /__w/FStar/FStar/FStar/src/basic/FStarC.Plugins.fst(87,16-87,17): - The operator '@' has been resolved to FStar.List.Tot.append even though FStar.List.Tot is not in scope. Please add an 'open FStar.List.Tot' to stop relying on this deprecated, special treatment of '@'.
build / build: FStarC.Plugins.fst#L86
(337) * Warning 337 at /__w/FStar/FStar/FStar/src/basic/FStarC.Plugins.fst(86,16-86,17): - The operator '@' has been resolved to FStar.List.Tot.append even though FStar.List.Tot is not in scope. Please add an 'open FStar.List.Tot' to stop relying on this deprecated, special treatment of '@'.
build / build: FStarC.Plugins.fst#L85
(337) * Warning 337 at /__w/FStar/FStar/FStar/src/basic/FStarC.Plugins.fst(85,16-85,17): - The operator '@' has been resolved to FStar.List.Tot.append even though FStar.List.Tot is not in scope. Please add an 'open FStar.List.Tot' to stop relying on this deprecated, special treatment of '@'.
build / build: FStar.UInt.fsti#L436
(271) * Warning 271 at /__w/FStar/FStar/FStar/ulib/FStar.UInt.fsti(436,8-436,51): - Pattern uses these theory symbols or terms that should not be in an SMT pattern: Prims.op_Subtraction
pulse / build-pulse-plugin: Pulse.Syntax.Base.fst#L299
(290) * Warning 290 at /__w/FStar/FStar/pulse/src/checker/Pulse.Syntax.Base.fst(299,15-299,17): - In the decreases clause for this function, the SMT solver may not be able to prove that the types of b1 (bound in Pulse.Syntax.Base.fst(299,15-299,17)) and t1 (bound in Pulse.Syntax.Base.fst(171,20-171,22)) are equal. - The type of the first term is: Pulse.Syntax.Base.branch - The type of the second term is: Pulse.Syntax.Base.st_term - If the proof fails, try annotating these with the same type.
pulse / build-pulse-plugin: Pulse.Syntax.Base.fst#L304
(290) * Warning 290 at /__w/FStar/FStar/pulse/src/checker/Pulse.Syntax.Base.fst(304,14-304,16): - In the decreases clause for this function, the SMT solver may not be able to prove that the types of q1 (bound in Pulse.Syntax.Base.fst(304,14-304,16)) and t1 (bound in Pulse.Syntax.Base.fst(171,20-171,22)) are equal. - The type of the first term is: Pulse.Syntax.Base.qualifier - The type of the second term is: Pulse.Syntax.Base.st_term - If the proof fails, try annotating these with the same type.
pulse / build-pulse-plugin: Pulse.Syntax.Base.fst#L123
(290) * Warning 290 at /__w/FStar/FStar/pulse/src/checker/Pulse.Syntax.Base.fst(123,20-123,22): - In the decreases clause for this function, the SMT solver may not be able to prove that the types of p1 (bound in Pulse.Syntax.Base.fst(123,20-123,22)) and pb1 (bound in Pulse.Syntax.Base.fst(139,16-139,19)) are equal. - The type of the first term is: Pulse.Syntax.Base.pattern - The type of the second term is: Pulse.Syntax.Base.pattern & Prims.bool - If the proof fails, try annotating these with the same type.
pulse / build-pulse-plugin: Pulse.Syntax.Base.fst#L139
(290) * Warning 290 at /__w/FStar/FStar/pulse/src/checker/Pulse.Syntax.Base.fst(139,16-139,19): - In the decreases clause for this function, the SMT solver may not be able to prove that the types of pb1 (bound in Pulse.Syntax.Base.fst(139,16-139,19)) and p1 (bound in Pulse.Syntax.Base.fst(123,20-123,22)) are equal. - The type of the first term is: Pulse.Syntax.Base.pattern & Prims.bool - The type of the second term is: Pulse.Syntax.Base.pattern - If the proof fails, try annotating these with the same type.
pulse / build-pulse-plugin: PulseSyntaxExtension.Desugar.fst#L892
(328) * Warning 328 at /__w/FStar/FStar/pulse/src/syntax_extension/PulseSyntaxExtension.Desugar.fst(892,4-892,16): - Global binding 'PulseSyntaxExtension.Desugar.desugar_decl' is recursive but not used in its body
pulse / build-pulse-plugin: Pulse.Common.fst#L84
(337) * Warning 337 at /__w/FStar/FStar/pulse/src/checker/Pulse.Common.fst(84,11-84,12): - The operator '@' has been resolved to FStar.List.Tot.append even though FStar.List.Tot is not in scope. Please add an 'open FStar.List.Tot' to stop relying on this deprecated, special treatment of '@'.
pulse / build-pulse-plugin: PulseSyntaxExtension.Sugar.fst#L635
(337) * Warning 337 at /__w/FStar/FStar/pulse/src/syntax_extension/PulseSyntaxExtension.Sugar.fst(635,47-635,48): - The operator '@' has been resolved to FStar.List.Tot.append even though FStar.List.Tot is not in scope. Please add an 'open FStar.List.Tot' to stop relying on this deprecated, special treatment of '@'.
pulse / build-pulse-plugin: PulseSyntaxExtension.Sugar.fst#L634
(337) * Warning 337 at /__w/FStar/FStar/pulse/src/syntax_extension/PulseSyntaxExtension.Sugar.fst(634,47-634,48): - The operator '@' has been resolved to FStar.List.Tot.append even though FStar.List.Tot is not in scope. Please add an 'open FStar.List.Tot' to stop relying on this deprecated, special treatment of '@'.
pulse / build-pulse-plugin: PulseSyntaxExtension.Sugar.fst#L526
(328) * Warning 328 at /__w/FStar/FStar/pulse/src/syntax_extension/PulseSyntaxExtension.Sugar.fst(526,8-526,17): - Global binding 'PulseSyntaxExtension.Sugar.scan_decl' is recursive but not used in its body
pulse / build-pulse-plugin: PulseSyntaxExtension.Sugar.fst#L376
(328) * Warning 328 at /__w/FStar/FStar/pulse/src/syntax_extension/PulseSyntaxExtension.Sugar.fst(376,8-376,15): - Global binding 'PulseSyntaxExtension.Sugar.eq_decl' is recursive but not used in its body
tests / stage3: FStar.FiniteMap.Base.fst#L138
(344) * Warning 344 at /__w/FStar/FStar/FStar/ulib/FStar.FiniteMap.Base.fst(138,4-138,9): - Parameter 0 of equal is unused and must be eliminated for F#; add `[@@ remove_unused_type_parameters [0; ...]]` to the interface signature. - This type definition is being dropped
tests / stage3: FStar.FiniteMap.Base.fst#L90
(344) * Warning 344 at /__w/FStar/FStar/FStar/ulib/FStar.FiniteMap.Base.fst(90,4-90,9): - Parameter 0 of items is unused and must be eliminated for F#; add `[@@ remove_unused_type_parameters [0; ...]]` to the interface signature. - This type definition is being dropped
tests / stage3: FStar.FiniteMap.Base.fst#L83
(344) * Warning 344 at /__w/FStar/FStar/FStar/ulib/FStar.FiniteMap.Base.fst(83,4-83,10): - Parameter 0 of values is unused and must be eliminated for F#; add `[@@ remove_unused_type_parameters [0; ...]]` to the interface signature. - This type definition is being dropped
tests / stage3: FStar.FiniteSet.Base.fst#L151
(344) * Warning 344 at /__w/FStar/FStar/FStar/ulib/FStar.FiniteSet.Base.fst(151,4-151,12): - Parameter 0 of disjoint is unused and must be eliminated for F#; add `[@@ remove_unused_type_parameters [0; ...]]` to the interface signature. - This type definition is being dropped
tests / stage3: FStar.FiniteSet.Base.fst#L144
(344) * Warning 344 at /__w/FStar/FStar/FStar/ulib/FStar.FiniteSet.Base.fst(144,4-144,9): - Parameter 0 of equal is unused and must be eliminated for F#; add `[@@ remove_unused_type_parameters [0; ...]]` to the interface signature. - This type definition is being dropped
tests / stage3: FStar.FiniteSet.Base.fst#L137
(344) * Warning 344 at /__w/FStar/FStar/FStar/ulib/FStar.FiniteSet.Base.fst(137,4-137,10): - Parameter 0 of subset is unused and must be eliminated for F#; add `[@@ remove_unused_type_parameters [0; ...]]` to the interface signature. - This type definition is being dropped
tests / stage3: FStar.FiniteSet.Base.fst#L151
(344) * Warning 344 at /__w/FStar/FStar/FStar/ulib/FStar.FiniteSet.Base.fst(151,4-151,12): - Parameter 0 of disjoint is unused and must be eliminated for F#; add `[@@ remove_unused_type_parameters [0; ...]]` to the interface signature. - This type definition is being dropped
tests / stage3: FStar.FiniteSet.Base.fst#L144
(344) * Warning 344 at /__w/FStar/FStar/FStar/ulib/FStar.FiniteSet.Base.fst(144,4-144,9): - Parameter 0 of equal is unused and must be eliminated for F#; add `[@@ remove_unused_type_parameters [0; ...]]` to the interface signature. - This type definition is being dropped
tests / stage3: FStar.FiniteSet.Base.fst#L137
(344) * Warning 344 at /__w/FStar/FStar/FStar/ulib/FStar.FiniteSet.Base.fst(137,4-137,10): - Parameter 0 of subset is unused and must be eliminated for F#; add `[@@ remove_unused_type_parameters [0; ...]]` to the interface signature. - This type definition is being dropped
tests / stage3: FStar.Pervasives.fsti#L642
(345) * Warning 345 at /__w/FStar/FStar/FStar/ulib/FStar.Pervasives.fsti(642,66-642,67): - Inserted an unsafe type coercion in generated code from unit -> 'a -> 'a to unit -> 'a -> 'b. - This may be unsound in F#. - See also /__w/FStar/FStar/FStar/ulib/FStar.Pervasives.fsti(642,55-642,56)
tests / ocaml-smoke (fstar-src.tar.gz, ubuntu-24.04): FStar.MST.fst#L247
(352) * Warning 352 at /home/runner/work/FStar/FStar/fstar/ulib/experimental/FStar.MST.fst(247,42-247,60): - Combinator FStar.MSTTotal.MSTATETOT ~> FStar.MST.MSTATE is not a substitutive indexed effect combinator, it is better to make it one if possible for better performance and ease of use
tests / ocaml-smoke (fstar-src.tar.gz, ubuntu-24.04): FStar.MST.fst#L222
(330) * Warning 330 at /home/runner/work/FStar/FStar/fstar/ulib/experimental/FStar.MST.fst(222,43-222,55): - Polymonadic binds ((DIV, MSTATE) |> MSTATE) in this case) is an experimental feature;it is subject to some redesign in the future. Please keep us informed (on github etc.) about how you are using it
tests / ocaml-smoke (fstar-src.tar.gz, ubuntu-24.04): FStar.MST.fst#L222
(330) * Warning 330 at /home/runner/work/FStar/FStar/fstar/ulib/experimental/FStar.MST.fst(222,43-222,55): - Polymonadic binds ((DIV, MSTATE) |> MSTATE) in this case) is an experimental feature;it is subject to some redesign in the future. Please keep us informed (on github etc.) about how you are using it
tests / ocaml-smoke (fstar-src.tar.gz, ubuntu-24.04): FStar.UInt.fsti#L436
(271) * Warning 271 at /home/runner/work/FStar/FStar/fstar/ulib/FStar.UInt.fst(293,8-293,25): - Pattern uses these theory symbols or terms that should not be in an SMT pattern: Prims.op_Subtraction - See also /home/runner/work/FStar/FStar/fstar/ulib/FStar.UInt.fsti(436,8-436,51)
tests / ocaml-smoke (fstar-src.tar.gz, ubuntu-24.04): FStar.UInt.fsti#L436
(271) * Warning 271 at /home/runner/work/FStar/FStar/fstar/ulib/FStar.UInt.fsti(436,8-436,51): - Pattern uses these theory symbols or terms that should not be in an SMT pattern: Prims.op_Subtraction
tests / ocaml-smoke (fstar-src.tar.gz, ubuntu-24.04): dummy#L0
(242) * Warning 242 at /home/runner/work/FStar/FStar/fstar/ulib/FStar.WellFounded.fst(122,0-131,33): - Definitions of inner let-rec aux and its enclosing top-level letbinding are not encoded to the solver, you will only be able to reason with their types - Also see: /home/runner/work/FStar/FStar/fstar/ulib/FStar.WellFounded.fst(126,12-126,15)
tests / ocaml-smoke (fstar-src.tar.gz, ubuntu-24.04): dummy#L0
(242) * Warning 242 at /home/runner/work/FStar/FStar/fstar/ulib/FStar.WellFounded.fst(122,0-131,33): - Definitions of inner let-rec aux and its enclosing top-level letbinding are not encoded to the solver, you will only be able to reason with their types - Also see: /home/runner/work/FStar/FStar/fstar/ulib/FStar.WellFounded.fst(86,12-86,15)
tests / ocaml-smoke (fstar-src.tar.gz, ubuntu-24.04): FStar.GhostSet.fst#L23
(318) * Warning 318 at /home/runner/work/FStar/FStar/fstar/ulib/FStar.GhostSet.fst(23,4-23,7): - Values of type `set` cannot be erased during extraction, but the `must_erase_for_extraction` attribute claims that it can. - Please remove the attribute.
tests / ocaml-smoke (fstar-src.tar.gz, ubuntu-24.04): FStar.UInt.fsti#L436
(271) * Warning 271 at /home/runner/work/FStar/FStar/fstar/ulib/FStar.UInt.fsti(436,8-436,51): - Pattern uses these theory symbols or terms that should not be in an SMT pattern: Prims.op_Subtraction
tests / ocaml-smoke (fstar-src.tar.gz, ubuntu-24.04): FStar.TSet.fst#L26
(318) * Warning 318 at /home/runner/work/FStar/FStar/fstar/ulib/FStar.TSet.fst(26,4-26,7): - Values of type `set` cannot be erased during extraction, but the `must_erase_for_extraction` attribute claims that it can. - Please remove the attribute.
tests / ocaml-smoke (fstar-src.tar.gz, ubuntu-latest): FStar.MST.fst#L222
(330) * Warning 330 at /home/runner/work/FStar/FStar/fstar/ulib/experimental/FStar.MST.fst(222,43-222,55): - Polymonadic binds ((DIV, MSTATE) |> MSTATE) in this case) is an experimental feature;it is subject to some redesign in the future. Please keep us informed (on github etc.) about how you are using it
tests / ocaml-smoke (fstar-src.tar.gz, ubuntu-latest): FStar.MST.fst#L222
(330) * Warning 330 at /home/runner/work/FStar/FStar/fstar/ulib/experimental/FStar.MST.fst(222,43-222,55): - Polymonadic binds ((DIV, MSTATE) |> MSTATE) in this case) is an experimental feature;it is subject to some redesign in the future. Please keep us informed (on github etc.) about how you are using it
tests / ocaml-smoke (fstar-src.tar.gz, ubuntu-latest): FStar.GSet.fst#L23
(318) * Warning 318 at /home/runner/work/FStar/FStar/fstar/ulib/FStar.GSet.fst(23,4-23,7): - Values of type `set` cannot be erased during extraction, but the `must_erase_for_extraction` attribute claims that it can. - Please remove the attribute.
tests / ocaml-smoke (fstar-src.tar.gz, ubuntu-latest): FStar.UInt.fsti#L436
(271) * Warning 271 at /home/runner/work/FStar/FStar/fstar/ulib/FStar.UInt.fst(293,8-293,25): - Pattern uses these theory symbols or terms that should not be in an SMT pattern: Prims.op_Subtraction - See also /home/runner/work/FStar/FStar/fstar/ulib/FStar.UInt.fsti(436,8-436,51)
tests / ocaml-smoke (fstar-src.tar.gz, ubuntu-latest): FStar.UInt.fsti#L436
(271) * Warning 271 at /home/runner/work/FStar/FStar/fstar/ulib/FStar.UInt.fsti(436,8-436,51): - Pattern uses these theory symbols or terms that should not be in an SMT pattern: Prims.op_Subtraction
tests / ocaml-smoke (fstar-src.tar.gz, ubuntu-latest): dummy#L0
(242) * Warning 242 at /home/runner/work/FStar/FStar/fstar/ulib/FStar.WellFounded.fst(122,0-131,33): - Definitions of inner let-rec aux and its enclosing top-level letbinding are not encoded to the solver, you will only be able to reason with their types - Also see: /home/runner/work/FStar/FStar/fstar/ulib/FStar.WellFounded.fst(126,12-126,15)
tests / ocaml-smoke (fstar-src.tar.gz, ubuntu-latest): dummy#L0
(242) * Warning 242 at /home/runner/work/FStar/FStar/fstar/ulib/FStar.WellFounded.fst(122,0-131,33): - Definitions of inner let-rec aux and its enclosing top-level letbinding are not encoded to the solver, you will only be able to reason with their types - Also see: /home/runner/work/FStar/FStar/fstar/ulib/FStar.WellFounded.fst(86,12-86,15)
tests / ocaml-smoke (fstar-src.tar.gz, ubuntu-latest): FStar.GhostSet.fst#L23
(318) * Warning 318 at /home/runner/work/FStar/FStar/fstar/ulib/FStar.GhostSet.fst(23,4-23,7): - Values of type `set` cannot be erased during extraction, but the `must_erase_for_extraction` attribute claims that it can. - Please remove the attribute.
tests / ocaml-smoke (fstar-src.tar.gz, ubuntu-latest): FStar.UInt.fsti#L436
(271) * Warning 271 at /home/runner/work/FStar/FStar/fstar/ulib/FStar.UInt.fsti(436,8-436,51): - Pattern uses these theory symbols or terms that should not be in an SMT pattern: Prims.op_Subtraction
tests / ocaml-smoke (fstar-src.tar.gz, ubuntu-latest): FStar.TSet.fst#L26
(318) * Warning 318 at /home/runner/work/FStar/FStar/fstar/ulib/FStar.TSet.fst(26,4-26,7): - Values of type `set` cannot be erased during extraction, but the `must_erase_for_extraction` attribute claims that it can. - Please remove the attribute.
tests / tests: dummy#L0
(274) * Warning 274: - Implicitly opening namespace 'fstar.tactics.' shadows module 'typeclasses' in file "Typeclasses.fst". - Rename "Typeclasses.fst" to avoid conflicts.
tests / tests: dummy#L0
(274) * Warning 274: - Implicitly opening namespace 'fstar.list.' shadows module 'pure' in file "Pure.fst". - Rename "Pure.fst" to avoid conflicts.
tests / tests: dummy#L0
(274) * Warning 274: - Implicitly opening namespace 'fstar.' shadows module 'uint32' in file "UInt32.fsti, UInt32.fst". - Rename "UInt32.fsti, UInt32.fst" to avoid conflicts.
tests / tests: dummy#L0
(361) * Warning 361 at AlexOpaque.fst(103,0-125,5): - Some #push-options have not been popped. Current depth is 2.
tests / tests: Test.fst#L21
(272) * Warning 272 at Test.fst(21,0-21,31): - Top-level let-bindings must be total; this term may have effects
tests / tests: dummy#L0
(274) * Warning 274: - Implicitly opening namespace 'fstar.' shadows module 'uint32' in file "UInt32.fsti, UInt32.fst". - Rename "UInt32.fsti, UInt32.fst" to avoid conflicts.
tests / tests: Hello.fst#L5
(272) * Warning 272 at Hello.fst(5,0-5,34): - Top-level let-bindings must be total; this term may have effects
tests / tests: dummy#L0
(274) * Warning 274: - Implicitly opening namespace 'fstar.tactics.' shadows module 'typeclasses' in file "Typeclasses.fst". - Rename "Typeclasses.fst" to avoid conflicts.
tests / tests: dummy#L0
(274) * Warning 274: - Implicitly opening namespace 'fstar.list.' shadows module 'pure' in file "Pure.fst". - Rename "Pure.fst" to avoid conflicts.
tests / tests: dummy#L0
(274) * Warning 274: - Implicitly opening namespace 'fstar.' shadows module 'uint32' in file "UInt32.fsti, UInt32.fst". - Rename "UInt32.fsti, UInt32.fst" to avoid conflicts.
tests / perf-canaries: DEFS_6400#L0
time = 1.09
tests / perf-canaries: DEFS_3200#L0
time = 0.59
tests / perf-canaries: DEFS_1600#L0
time = 0.36
tests / perf-canaries: DEFS_800#L0
time = 0.23
tests / perf-canaries: DEFS_400#L0
time = 0.17
tests / perf-canaries: DEFS_200#L0
time = 0.15
tests / perf-canaries: DEFS_100#L0
time = 0.13

Artifacts

Produced during runtime
Name Size Digest
fstar-repo Expired
193 MB
sha256:e5ac37533611894cbdaaf707da0d9ef4639f981a6342e78563e99e5a5ccc8853
fstar-src.tar.gz Expired
4.38 MB
sha256:748d7cf1581b9f76a2a1d5891cf6cc9a741e12e1336b8455cc059cc554eab3e5
fstar.tar.gz Expired
134 MB
sha256:a3d6a8edbd817001258ada422791b609283c6d61722bb40a89d8ae8500920205