Skip to content

Bellmar/stricter syntax#60

Merged
mbellotti merged 8 commits intomainfrom
bellmar/stricter-syntax
Apr 4, 2026
Merged

Bellmar/stricter syntax#60
mbellotti merged 8 commits intomainfrom
bellmar/stricter-syntax

Conversation

@mbellotti
Copy link
Copy Markdown
Contributor

No description provided.

…overriding c.currentSpec with the declared spec name

   (simpleA) instead of the import alias (simple), so c.specs[simple] was never created. Fixed by pre-setting the
  alias before calling processSpec and skipping the override when isImport = true.
  2. compileIdent missing alias resolution (compiler.go): compileIdent didn't call AliasToBaseRaw, unlike
  compileParameterCall and compileInfixNode. This mattered because const references from imports compile as
  *ast.Identifier. Fixed by adding the alias resolution.
  3. Wrap.WriteRule bounds check (rules.go): Only checked if the OnEntry map was empty, not whether the specific variable
  had a valid entry. Global constants never get phi entries, so the access panicked. Fixed by also checking
  len(OnEntry[w.Value]) <= w.PhiLevel.
  4. Bool constants emit 1/0 instead of true/false (unroll.go): *constant.Int with i1 type was emitting the integer string
   1 in SMT, which is incompatible with Bool sort. Fixed to emit true/false.
…er than an instance. This is only allowed in assumptions/assertions
@mbellotti mbellotti merged commit 091a743 into main Apr 4, 2026
1 check passed
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.

1 participant