Skip to content

Add decreases clause to NuWhile loops #1170

Add decreases clause to NuWhile loops

Add decreases clause to NuWhile loops #1170

Triggered via pull request February 27, 2026 01:41
Status Success
Total duration 23m 49s
Artifacts

ci.yml

on: pull_request
Fit to window
Zoom out
Zoom in

Annotations

10 warnings
ci: Pulse.Syntax.Base.fst#L123
(290) * Warning 290 at /__w/pulse/pulse/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.
ci: Pulse.Syntax.Base.fst#L139
(290) * Warning 290 at /__w/pulse/pulse/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.
ci: Pulse.Lib.Loc.fst#L28
(318) * Warning 318 at /__w/pulse/pulse/pulse/lib/core/Pulse.Lib.Loc.fst(28,4-28,13): - Values of type `dummy_loc` will be erased during extraction, but its interface hides this fact. - Add the `must_erase_for_extraction` attribute to the `val dummy_loc` declaration for this symbol in the interface
ci: Pulse.Lib.Raise.fst#L21
(318) * Warning 318 at /__w/pulse/pulse/pulse/lib/common/Pulse.Lib.Raise.fst(21,4-21,12): - Values of type `raisable` will be erased during extraction, but its interface hides this fact. - Add the `must_erase_for_extraction` attribute to the `val raisable` declaration for this symbol in the interface
ci: PulseSyntaxExtension.Desugar.fst#L957
(328) * Warning 328 at /__w/pulse/pulse/pulse/src/syntax_extension/PulseSyntaxExtension.Desugar.fst(957,4-957,16): - Global binding 'PulseSyntaxExtension.Desugar.desugar_decl' is recursive but not used in its body
ci: Pulse.Common.fst#L84
(337) * Warning 337 at /__w/pulse/pulse/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 '@'.
ci: PulseSyntaxExtension.Sugar.fst#L663
(337) * Warning 337 at /__w/pulse/pulse/pulse/src/syntax_extension/PulseSyntaxExtension.Sugar.fst(663,47-663,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 '@'.
ci: PulseSyntaxExtension.Sugar.fst#L662
(337) * Warning 337 at /__w/pulse/pulse/pulse/src/syntax_extension/PulseSyntaxExtension.Sugar.fst(662,47-662,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 '@'.
ci: PulseSyntaxExtension.Sugar.fst#L545
(328) * Warning 328 at /__w/pulse/pulse/pulse/src/syntax_extension/PulseSyntaxExtension.Sugar.fst(545,8-545,17): - Global binding 'PulseSyntaxExtension.Sugar.scan_decl' is recursive but not used in its body
ci: PulseSyntaxExtension.Sugar.fst#L397
(328) * Warning 328 at /__w/pulse/pulse/pulse/src/syntax_extension/PulseSyntaxExtension.Sugar.fst(397,8-397,15): - Global binding 'PulseSyntaxExtension.Sugar.eq_decl' is recursive but not used in its body