Support types other than string in map keys #4
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Sheriff currently only supports marshalling maps with string keys. This is a pretty significant limitation compared to the built-in json package.
Unfortunately, the built-in json package doesn't export its functionality for dealing with map keys, but at least it's fairly small. I've copied the relevant function from the go source and wired it in.
Debugging this problem was made more difficult by the fact that we generally don't check for errors from
json.Marshal
in gonfalon. This was fine when we were using the built-in one as we understood the small set of errors it could throw, but now that we're using this library we should probably check everywhere.