topola/vendored/contracts/CHANGELOG.md

2.1 KiB

Changelog

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.

Unreleased

[0.6.3] - 2022-03-13

Fixed

  • improved hygiene around self parameters
  • fix contract messages containing {} emitting warnings as they are interpreted as format strings

[0.6.2] - 2021-07-21

Changed

  • better handling of mutable borrows and lifetime relationships for functions with contracts

[0.6.1] - 2021-07-13

Added

  • support for impl Trait return types

[0.6.0] - 2020-09-05

Changed

  • pre is now requires
  • post is now ensures

[0.5.2] - 2020-09-05

Fixed

  • Unused braces in function body generated code are removed

[0.5.1] - 2020-08-06

Changed

  • Trait methods now handle attributes better.

[0.5.0] - 2020-08-06

Changed

  • Implication operator is now ->.

[0.4.0] - 2020-05-01

Added

  • Added support for MIRAI assertions
  • Added implication operator

[0.3.0] - 2019-07-20

Added

  • Pseudo-function old(expr) which in a post-condition evaluates the expression before function execution.
  • Automatic generation of documentation containing all contracts.

[0.2.2] - 2019-07-17

Fixed

  • Errors inside functions/methods are now properly reported with the correct source location.

Changed

  • internal handling of contracts is now done in a single proc-macro pass instead of one for each contract.

[0.2.1] - 2019-06-07

Fixed

  • Functions/methods with explicit return statements no longer skip post conditions

[0.2.0] - 2014-04-12

Added

  • contract_trait attribute to make all implementors of a trait respect contracts.

[0.1.1] - 2019-04-08

Added

  • Feature flags to override contract behavior.
    • disable_contracts ignores all checks
    • override_debug only checks contracts in debug configurations.
    • override_log only prints using the log-crate interface.

[0.1.0] - 2019-04-06

Added

  • attributes pre/post/invariant and debug_ versions of each.