-
Notifications
You must be signed in to change notification settings - Fork 277
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
Unable to format file due to bug in Scalafmt #1599
Labels
Comments
I just got this error in cats-effect:
... when trying to run scalafmt on typelevel/cats-effect#787 |
This was referenced Feb 15, 2020
Same issue: typelevel/cats#3296 |
kitbellew
added a commit
to kitbellew/scalafmt
that referenced
this issue
Feb 18, 2020
kitbellew
added a commit
to kitbellew/scalafmt
that referenced
this issue
Feb 18, 2020
kitbellew
added a commit
to kitbellew/scalafmt
that referenced
this issue
Feb 21, 2020
Currently, the algorithm would clear the search priority queue when the top candidate points to a new statement. Sometimes this leads to losing a viable path and and a dreaded "Unable to format due to bug" error. Rather than clearing the queue, let's inject states into the priority queue with a generation value and decrement it on a new statement, thus continuing to process subsequent states just like the old algorithm did but with the previously discarded states available as backup. Apply this modification to top-level invocations only, so that nested calls will still terminate early; thus the backup candidates are really processed at the very end of the existing logic. Fixes scalameta#448. Fixes scalameta#1462. Fixes scalameta#1485. Fixes scalameta#1599. Fixes scalameta#1717.
kitbellew
added a commit
to kitbellew/scalafmt
that referenced
this issue
Feb 21, 2020
kitbellew
added a commit
to kitbellew/scalafmt
that referenced
this issue
Feb 21, 2020
Currently, the algorithm would clear the search priority queue when the top candidate points to a new statement. Sometimes this leads to losing a viable path and the dreaded "Unable to format due to bug" error. Rather than clearing the queue, let's inject states into the priority queue with a generation value and increment it on a new statement, thus continuing to process subsequent states just like the old algorithm did but with the previously discarded states available as backup. Apply this modification to top-level invocations only, so that nested calls will still terminate early; thus the backup candidates are really processed at the very end of the existing logic. Fixes scalameta#448. Fixes scalameta#1462. Fixes scalameta#1485. Fixes scalameta#1599. Fixes scalameta#1717.
kitbellew
added a commit
to kitbellew/scalafmt
that referenced
this issue
Feb 21, 2020
Currently, the algorithm would clear the search priority queue when the top candidate points to a new statement. Sometimes this leads to losing a viable path and the dreaded "Unable to format due to bug" error. Rather than clearing the queue, let's inject states into the priority queue with a generation value and increment it on a new statement, thus continuing to process subsequent states just like the old algorithm did but with the previously discarded states available as backup. Apply this modification to top-level invocations only, so that nested calls will still terminate early; thus the backup candidates are really processed at the very end of the existing logic. Fixes scalameta#448. Fixes scalameta#1462. Fixes scalameta#1485. Fixes scalameta#1599. Fixes scalameta#1717.
kitbellew
added a commit
to kitbellew/scalafmt
that referenced
this issue
Feb 21, 2020
Currently, the algorithm would clear the search priority queue when the top candidate points to a new statement. Sometimes this leads to losing a viable path and the dreaded "Unable to format due to bug" error. Rather than clearing the queue, let's maintain several generations of priority queues and create a new generation on a new statement, thus continuing to process subsequent states just like the old algorithm did but with the previously discarded states available as backup. Apply this modification to top-level invocations only, so that nested calls will still terminate early; thus the backup candidates are really processed at the very end of the existing logic. Fixes scalameta#448. Fixes scalameta#1462. Fixes scalameta#1485. Fixes scalameta#1599. Fixes scalameta#1717.
kitbellew
added a commit
that referenced
this issue
Feb 21, 2020
kitbellew
added a commit
that referenced
this issue
Feb 21, 2020
Currently, the algorithm would clear the search priority queue when the top candidate points to a new statement. Sometimes this leads to losing a viable path and the dreaded "Unable to format due to bug" error. Rather than clearing the queue, let's maintain several generations of priority queues and create a new generation on a new statement, thus continuing to process subsequent states just like the old algorithm did but with the previously discarded states available as backup. Apply this modification to top-level invocations only, so that nested calls will still terminate early; thus the backup candidates are really processed at the very end of the existing logic. Fixes #448. Fixes #1462. Fixes #1485. Fixes #1599. Fixes #1717.
kitbellew
added a commit
to kitbellew/scalafmt
that referenced
this issue
Feb 24, 2020
kitbellew
added a commit
that referenced
this issue
Feb 24, 2020
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
This template is a guideline, not a strict requirement.
Steps
Given code like this:
When I run scalafmt like this:
Problem
Scalafmt formats code like this:
Expectation
I would like scalafmt to format the file successfully.
The text was updated successfully, but these errors were encountered: