Skip to content

Conversation

zerbina
Copy link
Collaborator

@zerbina zerbina commented Oct 12, 2025

Summary

Make the isCyclical type-trait return whether the bound type for
resolved concept types is cyclical, instead of always false.

Details

  • change the "is concrete" test in evalTypeTrait to "skip" resolved
    concept types
  • consider all resolved concept types in types.productReachable (used
    in implementing the isCyclical type trait), not just generic
    concept types
  • extend the tcyclic.nim test with a test case for resolved concept
    operands

@zerbina zerbina added bug Something isn't working compiler/sem Related to semantic-analysis system of the compiler labels Oct 12, 2025
@zerbina
Copy link
Collaborator Author

zerbina commented Oct 12, 2025

This change fixes the bug causing a CI failure #1646. The relevant part is the change to productReachable -- the fix for isCyclical is just included so that the productReachable fix can be tested (productReachable is transitively called by the isCyclical implementation).

@zerbina
Copy link
Collaborator Author

zerbina commented Oct 12, 2025

/merge

Copy link

Merge requested by: @zerbina

Contents after the first section break of the PR description has been removed and preserved below:


Notes for Reviewers

@chore-runner chore-runner bot added this pull request to the merge queue Oct 12, 2025
Merged via the queue into nim-works:devel with commit 842e34f Oct 12, 2025
44 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Something isn't working compiler/sem Related to semantic-analysis system of the compiler

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants