Skip to content

emit: sequence a unit after a conditional that names its join state - #245

Draft
nikswamy wants to merge 1 commit into
mainfrom
nswamy/pal-pr31-annotated-tail-conditional
Draft

emit: sequence a unit after a conditional that names its join state#245
nikswamy wants to merge 1 commit into
mainfrom
nswamy/pal-pr31-annotated-tail-conditional

Conversation

@nikswamy

Copy link
Copy Markdown
Contributor

Part of the upstreaming of nswamy/pal-c-project-integration (PR31 of 35 PRs) — see PR_PLAN.md on that branch for the whole plan and the dependency graph.

Base: main. Depends on nothing; reviewable on its own.

Pulse rejects an annotated conditional in tail position: the annotation and the enclosing
signature's postcondition are two postconditions for the same term. Sequencing a unit after
it keeps the annotation local to the join, which is the only place it constrains anything.

Commits

  • emit: sequence a unit after a conditional that names its join state

Testing

No test directory of its own — this is an enabler whose effect shows up in another PR's fixture, a pulse/ library lemma, or a tests-todo reproducer. Verified with a full make test -j8 (1372 modules, 0 errors) to confirm it regresses nothing.

Pulse rejects an annotated conditional in tail position: the annotation and
the enclosing signature's postcondition are two postconditions for the same
term, and the checker reports the pair rather than reconciling them.
Emitting a unit after the conditional keeps the annotation local to the
join, which is the only place it constrains anything.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 981f7d3c-6a91-47ad-84d7-7aadf747123d
(cherry picked from commit 6578d2a)

@gebner gebner left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pulse bug. Please refile to fstarlang/fstar.

@gebner

gebner commented Aug 26, 2026

Copy link
Copy Markdown
Contributor

!diff

@github-actions

Copy link
Copy Markdown

Generated F* output diff

Effect of this pull request on the F* code pal generates for the test suite (f9d4dd21e8276a).

✅ The generated output is unchanged.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants