Skip to content

Conversation

@keyboardDrummer
Copy link
Contributor

@keyboardDrummer keyboardDrummer commented Feb 9, 2026

Changes

  • Add metadata to many more places in Laurel. For example, preconditions and postconditions are now given a metadata and that is propagated to Core
  • Made it an internal error if diagnostics are reported for which no source location is known
  • Remove the default empty value for the metadata of Procedure.Check

Testing

  • Turned on tests for preconditions and postconditions, although the precondition test does not report errors correctly due to Core reporting them on the precondition instead of on the call, and with an incorrect message.

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

@keyboardDrummer keyboardDrummer requested review from andrewmwells-amazon, atomb and joscoh and removed request for atomb February 9, 2026 15:00
@keyboardDrummer keyboardDrummer marked this pull request as ready for review February 9, 2026 15:01
@keyboardDrummer keyboardDrummer requested a review from a team as a code owner February 9, 2026 15:01
@keyboardDrummer
Copy link
Contributor Author

keyboardDrummer commented Feb 9, 2026

@atomb the codebase contains many pieces like md : MetaData Expression := .empty. I think we should remove the defaults because anytime an AST node is created on which an error could be reported, it is a bug if there is no source location information available. The default empty metadata prevents the programmer from having to think about whether metadata is available.

Copy link
Contributor

@MikaelMayer MikaelMayer left a comment

Choose a reason for hiding this comment

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

One small change to consider.

fabiomadge added a commit that referenced this pull request Feb 10, 2026
Add HighTypeMd.sizeOf_val_lt lemma and use it to prove translateType
terminates. The remaining partial defs recurse through List StmtExprMd
which requires the same sizeOf bridging pattern that is a known issue
across the codebase (see PR #396).
@keyboardDrummer keyboardDrummer added this pull request to the merge queue Feb 11, 2026
Merged via the queue into strata-org:main with commit bab0508 Feb 11, 2026
9 checks passed
@keyboardDrummer keyboardDrummer deleted the laurelMetadata branch February 11, 2026 16:17
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.

3 participants