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.
This PR addresses an update to the
dataclasses
module in python 3.11, which prevents adding mutable fields to dataclasses by default. There were a few places where this appears.First, the
springs.cli.Flag
dataclass. This change was addressed by implementing a__hash__
method.Second, in the configs in
tests/fixtures/configs
. Here, the PR makes dataclasses hashable by passingunsafe_hash=True
to thedataclass
wrapper function.There are other approaches to this outlined here:
default_factory
instead of directly instantiating the. This led to an error within omegaconf:Dict[Any, Any] cannot be assigned type Field
. (or something like that)sp.fobj
method to wrap the . This led to an omegaconf errorcannot pickle 'mappingproxy' object
(might be related to deepcopying a dataclass)__hash__
methods on all of the configs intests/fixtures/configs
. This seemed like too much work compared to just usingunsafe_hash=True
.