Skip to content

Conversation

@Graveflo
Copy link
Contributor

@Graveflo Graveflo commented Nov 5, 2025

Seeing how the CI fairs with this. On several occasions I've seen the compiler throw object types into typeRel that are certainly the exact same type but sameObjectTypes says they are different. This leads to incorrect csNoMatch. I guess from this it seems one of the places they come from are under-processed generic instantiations. Why the object types are different but have the same sym? Idk.

@Graveflo
Copy link
Contributor Author

Graveflo commented Nov 5, 2025

idk if th CI is going to pass but for the hell of it, and because it still confuses me, this is the structure of the operand as it is processed in evalTypeTrait:

AsCompleteFullWriter[Protocol[system.int, system.int]]    tyGenericInst
 AsCompleteFullWriter   tyGenericBody
  T     tyGenericParam
  AsCompleteFullWriter  tyDistinct
   T    tyGenericParam
 Protocol[system.int, system.int] tyGenericInst
  Protocol        tyGenericBody
   R    tyGenericParam
   W    tyGenericParam
   Protocol       tyObject
    nil
  int   tyInt
  int   tyInt
  Protocol        tyObject
   nil
 AsCompleteFullWriter   tyDistinct
  Protocol[system.int, system.int]        tyGenericInst
   Protocol       tyGenericBody
    R   tyGenericParam
    W   tyGenericParam
    Protocol      tyObject
     nil
   int  tyInt
   int  tyInt
   Protocol       tyObject
    nil

previously reduced to

Protocol       tyObject
    nil

@Graveflo Graveflo closed this Nov 8, 2025
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