Skip to content
This repository was archived by the owner on Jun 27, 2023. It is now read-only.

narrow types in Recorder method signatures #17

Closed
wants to merge 1 commit into from

Conversation

jmhodges
Copy link
Contributor

This uses the exact types needed in the Recorder methods. It avoids spurious expectation misses caused by Go converting untyped constants to types that do not match the interface generated for.

One example is float literals passed to a float32 argument were being converted on x86_64 machines to float64 because the Recoder methods had a interface{} arg instead of a float32 arg.

The code needed already existed in GenerateMockMethod, so we break it out with a small generification around return values.

Fixes #16

This uses the exact types needed in the Recorder methods. It avoids
spurious expectation misses caused by Go converting untyped
constants to
types that do not match the interface generated for.

One example is float literals passed to a `float32` argument were being
converted on x86_64 machines to `float64` because the Recoder methods
had a `interface{}` arg instead of a `float32` arg.

Fixes golang#16
@jmhodges
Copy link
Contributor Author

I tried working out a test suite for this but it's not quite trivial enough to compile and run test code in process and getting it working with the usual go tools was longer than I could take. It would be cool, though.

@dsymonds
Copy link
Contributor

See my comment on #16. It's currently working as intended.

@dsymonds dsymonds closed this Dec 13, 2015
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants