- Check all method call args in substitution
- Fix async self substitution for call
- Transform async method with local binding
- Fix missing lifetimes on async method refs
- Transform all async methods
- Fix regression from 0.7.4
- Fix potential name clash in generated code
- Upgrade syn, quote and proc-macro2 to 1.0
- Clean up macro code
- Fix UB while copying function input parameters (thank you @artemii235!)
- Fix warnings and UB on newer compilers
- Add MockContext (thank you @czipperz!)
- Add function for clearing all mocks (thank you @clinedome-work!)
- Allow mock closures to call mockable and mocked functions and to create mocks
- Make functions not mocked during execution of their mock closures to prevent recursive calls
- Accept inability to inject modules in separate files: remove tests and fix docs
- Upgrade project to Rust 2018
- Add mocking tricks to docs
- Fix for rustc 1.31.0-nightly (ad6e5c003 2018-09-28) and newer (thank you @asomers and @rye!)
- Fix for rustc 1.29.0-nightly (1ecf6929d 2018-07-16) and newer
- Fix tests for rustc 1.29.0-nightly (254f8796b 2018-07-13) and newer
- Port to rustc 1.28.0-nightly (71e87be38 2018-05-22) and newer
- Add mocking with mutable closure
- Fix uninitialized memory access when fn arg has drop and mock returns continue
- Fix specific case of injecting trait impl
- Fix injecting of fns with unused generics
- Prevent injecting of Drop::drop
- Upgrade minimum Syn version to 0.13.7
- Enable mocking of code in a no_std crate when std lib is available
- Make annotating items unparsable for Syn raise warning and continue without making it mockable instead of failing whole compilation
- Prevent macros from injecting unsafe functions, which would make them uncompilable
- Fix segfault when fn arg has drop and mock is returned
- Fix returning mocks of generic types, which was broken in version 0.3.1
- Fix injecting trait impls when return type has longer lifetime than required by trait
- Upgrade syn to 0.13.4 and make it use nightly features of proc-macro2. This lets compiler correctly point at errors in injected functions, which closes issue #5.
- Add support for proc_macros feature being split up into proc_macros and proc_macro_mod in Rust nightly from 2018-04-27
- Migrate Mocktopus macros from Syn 0.11 to 0.12
- Panicking inside mock code does not cause dropping of uninitialized memory
- Items with two
#[mockable]
attributes on them are not injected twice extern crate mocktopus can be now aliased
- Remove Cargo.lock, add logo in macro docs and bump version to 0.1.1
- Remove Cargo.lock, add logo in macro docs and bump version to 0.1.1