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.
In #437, I made the names the classes are allowed to have a class attribute of
FrozenClass
. Turns out there are a few issues.Some convergence controllers added attributes in every step, leading to huge lists. This caused really poor performance. This PR includes a fix for that such that attributes are only ever added once, regardless of whether it is allowed or not.
However, since the allowed attributes are a class attribute of
FrozenClass
they are shared across all derived classes. And I didn't find a quick fix for that. It's not a huge problem. Basically, you add, for instanceerror_embedded_estimate
to the status class of level and then you can seterror_embedded_estimate
for the status of the step as well. It's not nice. It doesn't really enforce what the frozen classes are about. I am sure there is a simple solution for this that I am just not able to see at the moment.