Update the `DescribeTo` signature in the code example at the Writing New Polymorphic Matchers section in gmock_cook_book.
`os` should be a pointer to be consistent with the implementation, which dereference it as `*os`.
PiperOrigin-RevId: 370693387
Change Matcher<T> to allow binding an implementation by value directly:
- Drop the requirement of MatcherInterface. Doing manual type erasure avoid
extra layers in many cases.
- Avoid the adaptor for `MatcherInterface<T>` and `MatcherInterface<const T&>` mismatch.
- Use a small object optimization when possible. This makes things like
`_` and `Eq(1)` really cheap and do not require memory allocations.
- Migrate some matchers to the new model to speed them up and to test the new framework. More matchers to come in future changes.
PiperOrigin-RevId: 350580998