-
Notifications
You must be signed in to change notification settings - Fork 1.1k
Fix dotty CI #20363
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 dotty CI #20363
Conversation
When I generated the checkfile in the branch of #20325, I get the following feedback -- Error: tests/neg/i20317.scala:3:10 ----------------------------------------------------------------------------------
3 |def foo[A <: Foo[A]]: Unit = () // error // error
| ^
| Recursion limit exceeded.
| Maybe there is an illegal cyclic reference?
| If that's not the case, you could also try to increase the stacksize using the -Xss JVM option.
| For the unprocessed stack trace, compile with -Yno-decode-stacktraces.
| A recurring operation is (inner to outer):
|
| type parameters of Foo[A]
| type parameters of <: Foo[A]
| type parameters of A
| type parameters of A
| type parameters of Foo[A]
| type parameters of <: Foo[A]
| type parameters of A
| type parameters of A
| type parameters of Foo[A]
| type parameters of <: Foo[A]
| ...
|
| type parameters of A
| type parameters of Foo[A]
| type parameters of <: Foo[A]
| type parameters of A
| type parameters of A
| type parameters of Foo[A]
| type parameters of <: Foo[A]
| type parameters of A
| type parameters of Foo[A]
| type parameters of <: Foo[A]
-- Error: tests/neg/i20317.scala:3:8 -----------------------------------------------------------------------------------
3 |def foo[A <: Foo[A]]: Unit = () // error // error
| ^
| Recursion limit exceeded.
| Maybe there is an illegal cyclic reference?
| If that's not the case, you could also try to increase the stacksize using the -Xss JVM option.
| For the unprocessed stack trace, compile with -Yno-decode-stacktraces.
| A recurring operation is (inner to outer):
|
| type parameters of A
| type parameters of Foo[A]
| type parameters of <: Foo[A]
| type parameters of A
| type parameters of A
| type parameters of Foo[A]
| type parameters of <: Foo[A]
| type parameters of A
| type parameters of A
| type parameters of Foo[A]
| ...
|
| type parameters of A
| type parameters of A
| type parameters of Foo[A]
| type parameters of <: Foo[A]
| type parameters of A
| type parameters of A
| type parameters of Foo[A]
| type parameters of <: Foo[A]
| type parameters of A
| type parameters of Foo[A] @odersky Is this the expected behaviour ? Should this PR be considered as unblocking the CI and not a fix ? |
We've merged so many PRs in the past 2 days that it's not very surprising that we got so-called semantic conflicts. Reporting 1 or 2 "illegal cyclic" errors doesn't make any difference. So if it unblocks the CI, that's good enough. |
Yes let's change the check file. It's an evil and completely senseless test problem. We only test that the compiler survives it, with some indication what is wrong. |
@odersky The error reporting is non-deterministic, the CI failed and when I rerun the test locally I get the following checkfile (which is the second error that we thought is ignored): -- Error: tests/neg/i20317.scala:3:10 ----------------------------------------------------------------------------------
3 |def foo[A <: Foo[A]]: Unit = () // error
| ^
| Recursion limit exceeded.
| Maybe there is an illegal cyclic reference?
| If that's not the case, you could also try to increase the stacksize using the -Xss JVM option.
| For the unprocessed stack trace, compile with -Xno-decode-stacktraces.
| A recurring operation is (inner to outer):
|
| type parameters of <: Foo[A]
| type parameters of A
| type parameters of A
| type parameters of Foo[A]
| type parameters of <: Foo[A]
| type parameters of A
| type parameters of A
| type parameters of Foo[A]
| type parameters of <: Foo[A]
| type parameters of A
| ...
|
| type parameters of A
| type parameters of Foo[A]
| type parameters of <: Foo[A]
| type parameters of A
| type parameters of A
| type parameters of Foo[A]
| type parameters of <: Foo[A]
| type parameters of A
| type parameters of Foo[A]
| type parameters of <: Foo[A] |
OK, drop the test then. As I said it's a really evil program. I don't care
if the behavior is non-deterministic in the number of errors.
There's a second test i20317a.scala that behaves better. It's good enough
to keep that one.
…On Wed, May 8, 2024 at 11:01 AM Hamza Remmal ***@***.***> wrote:
@odersky <https://github.com/odersky> The error reporting is
non-deterministic, the CI failed and when I rerun the test locally I get
the following checkfile (which is the second error that we thought is
ignored):
-- Error: tests/neg/i20317.scala:3:10 ----------------------------------------------------------------------------------3 |def foo[A <: Foo[A]]: Unit = () // error
| ^
| Recursion limit exceeded.
| Maybe there is an illegal cyclic reference?
| If that's not the case, you could also try to increase the stacksize using the -Xss JVM option.
| For the unprocessed stack trace, compile with -Xno-decode-stacktraces.
| A recurring operation is (inner to outer):
|
| type parameters of <: Foo[A]
| type parameters of A
| type parameters of A
| type parameters of Foo[A]
| type parameters of <: Foo[A]
| type parameters of A
| type parameters of A
| type parameters of Foo[A]
| type parameters of <: Foo[A]
| type parameters of A
| ...
|
| type parameters of A
| type parameters of Foo[A]
| type parameters of <: Foo[A]
| type parameters of A
| type parameters of A
| type parameters of Foo[A]
| type parameters of <: Foo[A]
| type parameters of A
| type parameters of Foo[A]
| type parameters of <: Foo[A]
—
Reply to this email directly, view it on GitHub
<#20363 (comment)>, or
unsubscribe
<https://github.com/notifications/unsubscribe-auth/AAGCKVWXVFKLDYTRO4U5LLDZBHSYFAVCNFSM6AAAAABHMP3TLGVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDCMBQGEYDGNJXHA>
.
You are receiving this because you were mentioned.Message ID:
***@***.***>
--
Martin Odersky
Professor, Programming Methods Group (LAMP)
Faculty IC, EPFL
Station 14, Lausanne, Switzerland
|
Closes #20362