mirror of
https://gitlab.com/pulsechaincom/go-pulse.git
synced 2024-12-22 19:40:36 +00:00
909dd4a109
* rlp/rlpgen: remove build tag This tag was supposed to prevent unstable output when types reference each other. Imagine there are two struct types A and B, where a reference to type B is in A. If I run rlpgen on type B first, and then on type A, the generator will see the B.EncodeRLP method and call it. However, if I run rlpgen on type A first, it will inline the encoding of B. The solution I chose for the initial release of rlpgen was to just ignore methods generated by rlpgen using a build tag. But there is a problem with this: if any code in the package calls EncodeRLP explicitly, the package can't be loaded without errors anymore in rlpgen, because the loader ignores it. Would be nice if there was a way to just make it ignore invalid functions during type checking (they're not necessary for rlpgen), but golang.org/x/tools/go/packages does not provide a way of ignoring them. Luckily, the types we use rlpgen with do not reference each other right now, so we can just remove the build tags for now. |
||
---|---|---|
.. | ||
internal/rlpstruct | ||
rlpgen | ||
decode_tail_test.go | ||
decode_test.go | ||
decode.go | ||
doc.go | ||
encbuffer_example_test.go | ||
encbuffer.go | ||
encode_test.go | ||
encode.go | ||
encoder_example_test.go | ||
iterator_test.go | ||
iterator.go | ||
raw_test.go | ||
raw.go | ||
safe.go | ||
typecache.go | ||
unsafe.go |