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.
When building the FP library I ran into some annoyances in how I was binding types with getitem. I had been using lookup tables in the metaclass to store information however, this meant the info was not available until after class construction was complete. To avoid this I reserved the name
_info_
and inserted the required information into the the namespace.This pull requests does something similar for the other metaclasses. This in many ways simplifies the metaclasses / classes as there are no more crazy redirects through weakref dictionaries. Instead information is stored in
_info_
for types constructed byAbstractBitVectorMeta
and_fields_
/_field_table_
for those constructed byBoundMeta
.This should have no effect on user code unless it was using one of the reserved names.
Both peak and lassen pass travis with this branch:
https://travis-ci.org/phanrahan/peak/builds/538426697
https://travis-ci.com/StanfordAHA/lassen/builds/113493648