Skip to content

Conversation

@renovate
Copy link
Contributor

@renovate renovate bot commented Dec 10, 2023

This PR contains the following updates:

Package Type Update Change
mockall dev-dependencies minor 0.11 -> 0.14

Release Notes

asomers/mockall (mockall)

v0.14.0

Compare Source

Added
  • Allow mocking structs and traits with const generics.
    (#​649)

  • Compatibility with the #[trait_variant::make] macro.
    (#​640)

  • Allow Expectations with a non-exact call count to be used in Sequences.
    (#​660)

Changed
  • The MSRV is now Rust 1.77.0.
    (#​650)
Fixed
  • No longer poison a static mock method's internal Mutex when panicing, even
    when using a stable Rust compiler. Also, no longer poison it even if there
    is no Context object. For example, if the user never set an Expectation at
    all.
    (#​650)

  • Suppress single-use-lifetimes lints in the generated code, for cases where
    the orginal code wouldn't have triggered the warning.
    (#​627)

  • Fix mocking foreign functions with a variadic argument and no pattern, for
    example fn foo(...) as opposed to fn bar(x: ...). That worked in prior
    versions of Mockall only until Rust 1.93.0, which made such arguments illegal
    for Rust functions.
    (#​673)

  • Fully qualify Send and Sync traits in generated code, allowing structs named
    Send or Sync to be in scope without conflicts.
    (#​672)

v0.13.1

Compare Source

Fixed
  • Suppress warnings about the #[expect] lint, new in Rust 1.81.0, in
    generated code.
    (#​619)

  • Suppress the #[clippy::ref_option] warning, new in Rust 1.83.0, in
    generated code.
    (#​618)

  • When mocking functions with a closure argument, but not using
    #[concretize], include any additional trait bounds in the trait object
    argument passed to .with and .returning.
    (#​606)

  • Fixed naming conflict when mocking multiple traits with same name but from
    different modules.
    (#​601)

v0.13.0

Compare Source

Added
  • Add the ability to use #[concretize] with methods that have an FnMut
    argument.
    (#​595)

  • Add the ability to mock methods that use #[auto_enum], from the
    auto_enums crate. But only for methods that use RPIT; Mockall can't yet
    handle syntax like -> Result<(), impl T>
    (#​590)

  • Add the ability to mock methods that use #[inline] or #[cold], and
    methods or traits that use #[must_use].
    (#​555)

Changed
  • Raised MSRV to 1.71.0 due to the C-unwind ABI.
    (#​585)

  • No longer poison a Context object's internal Mutex when panicing. This
    requires the "nightly" feature.
    (#​527)

Fixed
  • Fixed panicing within mocked extern "C" functions, for example due to
    unsatisfied expectations, with Rust 1.81.0 or newer.
    (#​585)

v0.12.1

Compare Source

Fixed
  • Fixed using #[mockall::concretize] on functions whose generic types contain
    trait bounds, yet are still object safe.
    (#​531)

  • Fixed mocking methods that use raw identifiers for their names. This was a
    regression in 0.12.0.
    (#​534)

v0.12.0

Compare Source

Added
  • Added #[mockall::concretize], which can be used to mock some generic
    methods that have non-'static generic parameters. It works by turning the
    generic arguments into trait objects for the expectation.
    (#​408)

  • When mocking functions with a non-default ABI (Like extern "C"), the mock
    function will now use the same ABI as the original. Name mangling will also
    be disabled, so the mock function will be callable from external code. For
    example, from C functions.
    (#​504)

Changed
  • Raised predicates, which is reexported, to 3.0.0. This may affect backwards
    compatibility for users who make use of predicates's "color" feature.
    (#​467)

  • Raised MSRV to 1.64.0 because predicates-core and predicates-tree did.
    (#​430)
    (#​467)

  • Better "No matching expectation found" messages on stable.
    (#​425)

Fixed
  • Fixed mocking non-private inherent methods that have attributes with syn
    version 2.0.9 and later.
    (#​486)

  • Suppress clippy::too_many_arguments warnings in the generated code. This
    is most useful when mocking static functions with exactly 7 arguments.
    (#​487)

  • Fixed unused_attributes warnings in the generated code when mocking FFI
    functions that use #[link_name].
    (#​503)

  • Fix a panic during Drop for static methods. One way to trigger it is by
    calling the method more times than is allowed by a .times() constraint.
    Another way would be to explicitly panic during the .returning method.
    (#​516)

Removed
  • Removed syntax deprecated since 0.9.0: using #[automock] directly on an
    extern "C" block, and using trait Foo {} syntax inside of mock!.
    (#​476)

  • Removed default features from predicates dependency. Reexports no longer
    include difflib, normalize-line-endings, regex and float-cmp features.
    (#​517)

v0.11.4

Compare Source

Fixed
  • Static methods' expectations will now be cleared during a panic.
    (#​443)

  • The checkpoint method now works correctly even after a panic due to too many
    method calls.
    (#​472)

  • Methods with unknown size type bounds can now be mocked.
    (#​421)

v0.11.3

Compare Source

Fixed
  • Methods with a where Self: ... clause will now be mocked like concrete
    methods, not generic ones. Among other effects, this prevents "unused method
    expect" warnings from the latest nightly compiler.
    (#​415)

Configuration

📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

@renovate renovate bot changed the title Update Rust crate mockall to 0.12 Update Rust crate mockall to 0.12.1 May 1, 2024
@renovate renovate bot force-pushed the renovate/mockall-0.x branch 2 times, most recently from 4e825a9 to 0b26305 Compare May 5, 2024 10:18
@renovate renovate bot changed the title Update Rust crate mockall to 0.12.1 Update Rust crate mockall to 0.12 May 5, 2024
@renovate renovate bot force-pushed the renovate/mockall-0.x branch from 0b26305 to ca15f9b Compare July 22, 2024 02:45
@renovate renovate bot changed the title Update Rust crate mockall to 0.12 Update Rust crate mockall to 0.13 Jul 22, 2024
@renovate renovate bot force-pushed the renovate/mockall-0.x branch from ca15f9b to 8553d68 Compare August 10, 2025 13:35
@renovate renovate bot force-pushed the renovate/mockall-0.x branch from 8553d68 to a4c6271 Compare September 25, 2025 20:54
@renovate renovate bot force-pushed the renovate/mockall-0.x branch from a4c6271 to 5d95b9d Compare November 22, 2025 20:29
@renovate renovate bot changed the title Update Rust crate mockall to 0.13 Update Rust crate mockall to 0.14 Nov 22, 2025
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