- Notifications
You must be signed in to change notification settings - Fork 1.1k
Fix presentation of HKT and TypeLambdas in Scala3doc #11245
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Fix presentation of HKT and TypeLambdas in Scala3doc #11245
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This seems to improve some things, so I think we can merge it on that basis. However, we still display type lambdas instead of HKTs, see all the exnteds clauses here: https://scala3doc.virtuslab.com/pr-missing-wildcard-in-hkts/scala3/api/scala/collection/immutable.html. That should be considered a bug, and isn't fixed here.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We cannot simply strip anything after $ in type names
| @abgruszecki I am not sure if it is correct behaviour, but look at this example, given code like this: import scala.collection.immutable.ArraySeq trait SomeTraitWithHKTs[A[_], B[_], C[_], D[_], E[_]] abstract class Foo[Z] trait SomeTrait extends SomeTraitWithHKTs[Foo, scala.collection.immutable.ArraySeq, ArraySeq, List, [B] =>> List[B]]we get following Full output
which is actually List of
What do you think about these two things? |
| Ah, I see, in some cases we do display At some point we should find out what exactly makes the types in stdlib display type lambdas instead of HKTs (variance annotations, perhaps?), but it's less of a problem than I thought, I'd say. |
9c0f9fb to 3074292 Compare | I am still not sure why this thing is happening, but I have shown the example where import of fullly qualified name makes difference for trait A[X] { type SomeType[X] def x: SomeType[X] } trait B[D] extends A[D]the expected behaviour to see |
| Unfortunately I am enforced to rollback all |
46f642b to d631da5 Compare d631da5 to cdc1fc7 Compare cdc1fc7 to 15000f3 Compare 

No description provided.