Skip to content

Strict params - #552

Draft
ducky64 wants to merge 15 commits into
masterfrom
strict-params
Draft

ducky64 wants to merge 15 commits into
masterfrom
strict-params

Conversation

@ducky64

@ducky64 ducky64 commented Sep 27, 2026 •

Copy link
Copy Markdown
Collaborator

Enforces all params (including in ports, excluding arg-params) in non-abstract blocks have assigned values.

Incidental refactors:

  • Footprint params are now assigned
  • Refactors core tests which ignored unassigned params
  • Adds Block._is_abstract internal API
  • Fix param binding type in packed blocks

TODOs for library fixes:

  • debug multipack element assignment structure
  • debug iocontroller io_current_draw
  • debug iocontroller _Device missing pin params
  • figure out a solution for dummy capacitors - likely just insert empty footprint and treat empty string as to-be-ignored
  • proper passthrough structure for JlcOscillator
  • proper passthrough structure for dummy capacitors
  • NLAS4157: ignore params for asserted-unused ports

TODOs:

  • Change to deprecation for now
  • Refactor initializers to generate assigns
  • Enforce absence of params for connected ports
  • Multipack _packed_connected_ports deduplication
  • DRYify _check_params_assigned
  • Assert multipacked inner assignments

Follow-on PRs:

  • Refactor to use Block.is_abstract API

Contributor License Agreement

By submitting this pull request, I agree to dual-license this contribution under both BSD 3-clause and Apache License, Version 2.0.

  • I agree to dual-license this contribution under both BSD 3-clause and Apache License, Version 2.0.

revert directly use packedpart abstract block

Update MultipackBlock.py

wip change multipack api

clean up test cases

cleaning

cleaning

fix generator logic

cleaning

add defaults

fix up tests

Update test_elaboration_common.py

wip

wip test cleanup

Update Link.py

delete duplicative tests

Add vector case tests

checks work

Add overassign test at use site

Update test_block_errors.py

Update test_block_errors.py

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant