-
-
Notifications
You must be signed in to change notification settings - Fork 1.5k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Generic template parameter order determines whether compilation succeeds #17253
Comments
tersec
added a commit
to status-im/nimbus-eth2
that referenced
this issue
Mar 4, 2021
tersec
added a commit
to status-im/nimbus-eth2
that referenced
this issue
Mar 4, 2021
tersec
added a commit
to status-im/nimbus-eth2
that referenced
this issue
Mar 4, 2021
tersec
added a commit
to status-im/nimbus-eth2
that referenced
this issue
Mar 5, 2021
tersec
added a commit
to status-im/nimbus-eth2
that referenced
this issue
Mar 6, 2021
tersec
added a commit
to status-im/nimbus-eth2
that referenced
this issue
Mar 11, 2021
tersec
added a commit
to status-im/nimbus-eth2
that referenced
this issue
Mar 12, 2021
tersec
added a commit
to status-im/nimbus-eth2
that referenced
this issue
Mar 15, 2021
* initial immutable validator database factoring * remove changes from chain_dag: this abstraction properly belongs in beacon_chain_db * add merging mutable/immutable validator portions; individually test database roundtripping of immutable validators and states-sans-immutable-validators * update test summaries * use stew/assign2 instead of Nim assignment * add reading/writing of immutable validators in chaindag * remove unused import * replace chunked k/v store of immutable validators with per-row SQL table storage * use List instead of HashList * un-stub some ncli_db code so that it uses * switch HashArray to array; move BeaconStateNoImmutableValidators from datatypes to beacon_chain_db * begin only-mutable-part state storage * uncomment some assigns * work around nim-lang/Nim#17253 * fix most of the issues/oversights; local sim runs again * fix test suite by adding missing beaconstate field to copy function * have ncli bench also store immutable validators * extract some immutable-validator-specific code from the beacon chain db module * add more rigorous database state roundtripping, with changing validator sets * adjust ncli_db to use new schema * simplify putState/getState by moving all immutable validator accounting into beacon state DB * remove redundant test case and move code to immutable-beacon-chain module * more efficient, but still brute-force, mutable+immutable validator merging * reuse BeaconState in getState * ensure HashList/HashArray caches are cleared when reusing getState buffers; add ncli_db and a unit test to verify this * HashList.clear() -> HashList.clearCache() * only copy incrementally necessary immutable validators * increase strictness of test cases and fix/work around resulting HashList cache invalidation issues * remove explanatory scaffolding * allow for storage of full (with all validators) states for backwards/forwards-compatibility * adjust DbSeq type usage * store full, with-validators, state every 64 epochs to enable reverting versions * reduce memory allocation and intermediate objects in state storage codepath * eliminate allocation/copying through intermediate BeaconStateNoImmutableValidators objects * skip benchmarking initial genesis-validator-heavy state store * always store new-style state and sometimes old-style state * document intent behind BeaconState/Validator type-punnery * more accurate failure message on SQLite in-memory database initialization failure
Still errors but since #24005 you can change |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
A template can't bind to generic types in a specific combination involving
array
andint64
when parameter are orders in one way, but not when they're reversed.Example
Current Output
Expected Output
A successful compilation, or at least some error message explaining why the apparently inconsistent situation makes sense.
Additional Information
I've checked that this also occurs in
and
The text was updated successfully, but these errors were encountered: