Distinguish Array and Tuple field types when creating from array of Fields.#7179
Distinguish Array and Tuple field types when creating from array of Fields.#7179
Conversation
|
|
||
| class Field; | ||
| using Array = std::vector<Field>; | ||
| using TupleBackend = std::vector<Field>; |
There was a problem hiding this comment.
Why we needed this before? It seems very confusing and bug-prone.
There was a problem hiding this comment.
TupleBackend definition looks redundant, but otherwise it's the same thing that I'm doing: have strong typedefs for Array and Tuple fields so that the correct type is deduced by the Field constructor. Actually I'm not even changing this, just renaming: the only place where I changed behavior is in convertFieldToTypeImpl: it won't return Array fields for a Tuple type anymore. Had to re-read this PR to realize what is going on :)
Not sure, maybe it's better to throw away these types and just specify the Field type explicitly.
777b06b to
5039f92
Compare
|
Can't reproduce the ubsan failure locally even on the deb package from the CI. Rebased to master hoping that it'll go away. |
Category (leave one):
Short description (up to few sentences):
Fix some issues in Fields found by MemorySanitizer.
Requires #7212
Fixes #7176