Fix: Correct parameter unpacking in DeviceModel.clone to resolve TypeError#390
Open
JungNam-Kim wants to merge 1 commit intoPySpice-org:masterfrom
Open
Fix: Correct parameter unpacking in DeviceModel.clone to resolve TypeError#390JungNam-Kim wants to merge 1 commit intoPySpice-org:masterfrom
JungNam-Kim wants to merge 1 commit intoPySpice-org:masterfrom
Conversation
- Description *Updated the DeviceModel.clone method to correctly unpack self._parameters using **self._parameters when creating a new instance. *Ensured compatibility with DeviceModel.__init__, which expects **parameters instead of a single dictionary. *Verified that Netlist.copy_to uses the updated clone method to avoid errors during circuit cloning. *Resolved TypeError: DeviceModel.__init__() takes 3 positional arguments but 4 were given. - Impact * Fixes issues with circuit cloning in Circuit.clone when DeviceModel instances are involved. * Prevents runtime errors related to parameter passing during cloning. * Improves robustness and correctness of cloning functionality in PySpice-based models.
tapegoji
reviewed
Apr 23, 2025
tapegoji
left a comment
There was a problem hiding this comment.
Hi, I think this is resolved in 1.6 branch. Have you tested 1.6?
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Problem
Cloning a
DeviceModelinstance was causing aTypeErrordue to incorrect handling ofself._parameters. TheDeviceModel.clonemethod passedself._parametersas a single positional argument instead of unpacking it as keyword arguments.Solution
DeviceModel.clonemethod to unpackself._parametersusing**self._parameters.DeviceModel.__init__, which expects**parametersas input.Netlist.copy_tocorrectly uses the updatedclonemethod to avoid errors during circuit cloning.Related Error
Steps to Test
Provide a quick guide for reviewers to test the fix: