Skip to content

rustc_contracts: differentiate between exhaustive and non-exhaustive contracts #128274

Open
@lolbinarycat

Description

@lolbinarycat

Tracking Issue: #128044

exhaustive: the contract fully encodes all requirements for using the function safely.

non-exhaustive: there are some additional safety pre-conditions or post-conditions that are not described by the contract, ie. it is possible to cause UB while fufilling the contract's requirements.

Metadata

Metadata

Assignees

No one assigned

    Labels

    A-docsArea: Documentation for any part of the project, including the compiler, standard library, and toolsC-discussionCategory: Discussion or questions that doesn't represent real issues.F-contracts`#![feature(contracts)]`T-compilerRelevant to the compiler team, which will review and decide on the PR/issue.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions