Skip to content

RFC: Loop Contracts - #3167

Merged
qinheping merged 9 commits into
model-checking:mainfrom
qinheping:rfc-loop-contracts
Sep 4, 2024
Merged

RFC: Loop Contracts#3167
qinheping merged 9 commits into
model-checking:mainfrom
qinheping:rfc-loop-contracts

Conversation

@qinheping

Copy link
Copy Markdown
Contributor

RFC for loop contracts in Kani.

Rendered version available here.

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 and MIT licenses.

@qinheping
qinheping requested a review from a team as a code ownerApril 30, 2024 06:14
@feliperodrifeliperodri added the T-RFC Label RFC PRs and Issues label Jun 11, 2024
@tautschnigtautschnig added the Z-Contracts Issue related to code contracts label Aug 1, 2024
Comment threadrfc/src/rfcs/0012-loop-contracts.md Outdated
Comment threadrfc/src/rfcs/0012-loop-contracts.md Outdated
Comment threadrfc/src/rfcs/0012-loop-contracts.md Outdated
Comment threadrfc/src/rfcs/0012-loop-contracts.md Outdated
Comment threadrfc/src/rfcs/0012-loop-contracts.md
Comment threadrfc/src/rfcs/0012-loop-contracts.md Outdated
Comment threadrfc/src/rfcs/0012-loop-contracts.md Outdated
Comment threadrfc/src/rfcs/0012-loop-contracts.md Outdated
Comment threadrfc/src/rfcs/0012-loop-contracts.md
Comment threadrfc/src/rfcs/0012-loop-contracts.md Outdated
Comment threadrfc/src/rfcs/0012-loop-contracts.md Outdated
Comment threadrfc/src/rfcs/0012-loop-contracts.md Outdated
Comment threadrfc/src/rfcs/0012-loop-contracts.md Outdated
Comment threadrfc/src/rfcs/0012-loop-contracts.md Outdated
Comment threadrfc/src/rfcs/0012-loop-contracts.md Outdated
Comment threadrfc/src/rfcs/0012-loop-contracts.md Outdated
Comment threadrfc/src/rfcs/0012-loop-contracts.md Outdated
Comment threadrfc/src/rfcs/0012-loop-contracts.md
Comment threadrfc/src/rfcs/0012-loop-contracts.md Outdated
Comment threadrfc/src/rfcs/0012-loop-contracts.md
Comment threadrfc/src/rfcs/0012-loop-contracts.md Outdated
Comment threadrfc/src/rfcs/0012-loop-contracts.md Outdated
Comment threadrfc/src/rfcs/0012-loop-contracts.md Outdated
Comment threadrfc/src/rfcs/0012-loop-contracts.md Outdated
Comment threadrfc/src/rfcs/0012-loop-contracts.md Outdated
Comment threadrfc/src/rfcs/0012-loop-contracts.md Outdated
Comment threadrfc/src/rfcs/0012-loop-contracts.md
Comment threadrfc/src/rfcs/0012-loop-contracts.md
@qinheping

Copy link
Copy Markdown
ContributorAuthor

@celinval
I remove implementation detail as it was too much for RFC; and add more open questions.

@celinvalcelinval 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.

Thanks @qinheping! It's looking pretty good.

Comment threadrfc/src/rfcs/0012-loop-contracts.md
Comment threadrfc/src/rfcs/0012-loop-contracts.md Outdated
Comment threadrfc/src/rfcs/0012-loop-contracts.md
Comment threadrfc/src/rfcs/0012-loop-contracts.md Outdated
Comment threadrfc/src/rfcs/0012-loop-contracts.md
Comment threadrfc/src/rfcs/0012-loop-contracts.md
Comment threadrfc/src/rfcs/0012-loop-contracts.md Outdated

@feliperodrifeliperodri left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Thank you for addressing all the comments. LGTM!

@celinvalcelinval 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.

I only have one last question about feature opt-in / opt-out. Like contracts, I am not convinced that a user always wants the loop to be abstracted.

Comment threadrfc/src/rfcs/0012-loop-contracts.md
Comment threadrfc/src/rfcs/0012-loop-contracts.md

@qinhepingqinheping left a comment

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

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

@celinval Thank you!

Comment threadrfc/src/rfcs/0012-loop-contracts.md
Comment threadrfc/src/rfcs/0012-loop-contracts.md
Comment threadrfc/src/rfcs/0012-loop-contracts.md

@celinvalcelinval 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.

Thanks @qinheping

@qinheping
qinheping added this pull request to the merge queueSep 4, 2024
Merged via the queue into model-checking:main with commit 701f6fbSep 4, 2024
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

T-RFCLabel RFC PRs and IssuesZ-ContractsIssue related to code contracts

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants

@qinheping@feliperodri@celinval@tautschnig