have string marshaling methods be value receivers rather than pointer… #145
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.
… receivers
I frequently use
Big
as a value, mostly because it's convenient to do so in structs and maps, as the zero value is 0 so it makes business logic read better, rather than having to constantly doif v == nil
checks everywhere. It also helps reduce allocations. The only problem I've run into is that both the formatted string outputs and JSON marshaled outputs are super wonky when I do so, because theString
,Format
, andMarshalText
methods are on the pointer receiver. Changing those methods to be on the value receiver fixes the problem, and afaik has no adverse side-effects. So this PR does that. Let me know what you think!