Skip to content

[scala3] Split LTL public API#5193

Merged
jackkoenig merged 9 commits intomainfrom
jackkoenig/ltl-implicit-interface
Jan 31, 2026
Merged

[scala3] Split LTL public API#5193
jackkoenig merged 9 commits intomainfrom
jackkoenig/ltl-implicit-interface

Conversation

@jackkoenig
Copy link
Contributor

Previously, we only split APIs that used the SourceInfoTranform, but due to this issue discussed in #5139, we really want to do this for all public methods accepting implicit SourceInfos. It's a bit of a pain but it will make the result a lot better and AI agents are helpful here.

Contributor Checklist

  • Did you add Scaladoc to every public function/method?
  • Did you add at least one test demonstrating the PR?
  • Did you delete any extraneous printlns/debugging code?
  • Did you specify the type of improvement?
  • Did you add appropriate documentation in docs/src?
  • Did you request a desired merge strategy?
  • Did you add text to be included in the Release Notes for this change?

Type of Improvement

  • Internal or build-related (includes code refactoring/cleanup)

Desired Merge Strategy

  • Squash

Release Notes

Reviewer Checklist (only modified by reviewer)

  • Did you add the appropriate labels? (Select the most appropriate one based on the "Type of Improvement")
  • Did you mark the proper milestone (Bug fix: 3.6.x, 5.x, or 6.x depending on impact, API modification or big change: 7.0)?
  • Did you review?
  • Did you check whether all relevant Contributor checkboxes have been checked?
  • Did you do one of the following when ready to merge:
    • Squash: You/ the contributor Enable auto-merge (squash) and clean up the commit message.
    • Merge: Ensure that contributor has cleaned up their commit history, then merge with Create a merge commit.

@jackkoenig jackkoenig requested a review from seldridge January 30, 2026 22:53
@jackkoenig jackkoenig added the Internal Internal change, does not affect users, will be included in release notes label Jan 30, 2026
implicit val info: SourceInfo = SourceLine("Foo.scala", 1, 2)
val a = IO(Input(Bool()))
layer.block(layers.Verification.Cover) {
layer.block(chisel3.layers.Verification.Cover) {
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is a subtle change in Scala 3 but the compiler complains that BaseModule.layers is private [1]. Probably a change in Scala 3 for scoping rules where inherited methods win out over imported packages/objects? I'm not sure but we should probably change the name of the package private method in BaseModule, WDYT @seldridge?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sure. We can change it.

Comment on lines +36 to 38
implicit val info: SourceInfo = SourceLine("Foo.scala", 1, 2)
val a, b, c = IO(Input(Bool()))
implicit val info = SourceLine("Foo.scala", 1, 2)
val s0: Sequence = a.delay(1)
Copy link
Contributor Author

@jackkoenig jackkoenig Jan 30, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

To be honest, I don't know how this worked before because you get null for the SourceInfo` on the ports. But whatever the case it was erroring so I had to move the source info definitions.

Copy link
Member

@seldridge seldridge left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

I glanced through the interface files, but didn't really review.

@jackkoenig jackkoenig merged commit d9658fb into main Jan 31, 2026
30 checks passed
@jackkoenig jackkoenig deleted the jackkoenig/ltl-implicit-interface branch January 31, 2026 03:10
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Internal Internal change, does not affect users, will be included in release notes

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants