You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Added (Always)ReturnValCapt that forces the capture of its parameter by value (even if the function returns a reference) and (Always)ReturnRefCapt that forces the capture of its parameter by reference (even if the function returns a value). #280#332#356
DEPRECATION NOTICE: Previously, to replicate this functionality, some people used to provide explicit template parameters to Return functions, like .Return<std::string>(str) for a function returning const std::string&. Now ReturnValCapt can be used instead, it is more explicit and safer, all usages of the previous (undocumented / unsupported) hack should be replaced by the new syntax. Same goes for .Return<std::string&>(str) that can now be replaced by ReturnRefCapt.
(potentially) BREAKING: Disabled (Always)Return taking an rvalue-reference for functions returning a reference. Most often than not, this was the cause of dangling references. Now it prints a nice error message suggesting to use a safe alternative ((Always)ReturnValCapt).
Made fakeit::Mock objects move-constructible (and disabled the copy-constructor). #334
Now objects passed by rvalue-reference to .Return() will be moved, even if they are copyable (i.e. std::move is respected). Before that, objects that were copyable were always copied, independent of how they were passed. #330
Added a macOS runner that tests the library with AppleClang in the CI. Also added a 64 bits MSVC job, but without RTTI-dependent tests, because RTTI-related features of FakeIt aren't supported in MSVC 64 bits. Plus some CI improvements. #319#321#333#335#352
Added a tool to help create compilation speed benchmarks. #338