You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Before, we would just notice direct calls to reflect's TypeOf and ValueOf. Any other uses of reflection, such as encoding/json or google.golang.org/protobuf, would require hints as documented by the README. Issue #162 outlines some ways we could fix this issue in a general way, automatically detecting what functions use reflection on their parameters, even for third party API funcs. However, that goal is pretty significant in terms of code and effort. As a temporary improvement, we can expand the list of "known" reflection APIs via a static table. Since this table is keyed by "func full name" strings, we could potentially include third party APIs, such as: google.golang.org/protobuf/proto.Marshal However, for now simply include all the std APIs we know about. If we fail to do the proper fix for automatic detection in the future, we can then fall back to expanding this global table for third parties. Update the README's docs, to clarify that the hint is not always necessary anymore. Also update the reflect.txt test to stop using the hint for encoding/json, and to also start testing text/template with a method call. While at it, I noticed that we weren't testing the println outputs, as they'd go to stderr - fix that too. Updates #162. |
4 years ago | |
---|---|---|
.. | ||
bench-cache | 4 years ago | |
bench-nocache | 4 years ago | |
mod | 4 years ago | |
scripts | 4 years ago |