-
Notifications
You must be signed in to change notification settings - Fork 81
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
Lambdas following a statement can be treated as lambda arguments, breaking syntax #459
Labels
bug
Something isn't working
Comments
There is code looking for this but it fails when the lambda is part of a larger expression, like a call chain. Usually it wouldn't matter because there would be some other token between the semicolon and the lambda. The fix is probably to walk up to the statement containing semicolon, then down the left side of the next sibling statement. |
ZacSweers
referenced
this issue
in ZacSweers/CatchUp
Jun 14, 2024
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [com.facebook:ktfmt](https://togithub.com/facebook/ktfmt) | `0.49` -> `0.51` | [![age](https://developer.mend.io/api/mc/badges/age/maven/com.facebook:ktfmt/0.51?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/com.facebook:ktfmt/0.51?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/com.facebook:ktfmt/0.49/0.51?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/com.facebook:ktfmt/0.49/0.51?slim=true)](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes <details> <summary>facebook/ktfmt (com.facebook:ktfmt)</summary> ### [`v0.51`](https://togithub.com/facebook/ktfmt/blob/HEAD/CHANGELOG.md#051) ##### Added - Created CHANGELOG.md - Added --help option to CLI ([https://github.com/facebook/ktfmt/pull/477](https://togithub.com/facebook/ktfmt/pull/477)) ##### Changed - Preserves blank spaces between when clauses ([https://github.com/facebook/ktfmt/issues/342](https://togithub.com/facebook/ktfmt/issues/342)) - Named the default style as `Formatter.META_FORMAT` / `--meta-style` - `FormattingOptions` constructor parameters order was changed ##### Fixed - Compilation issues with online formatter (facebook/ktfmt@8605080) - Removing valid semicolons ([https://github.com/facebook/ktfmt/issues/459](https://togithub.com/facebook/ktfmt/issues/459)) - Incorrect detection of unused `assign` import ([https://github.com/facebook/ktfmt/issues/411](https://togithub.com/facebook/ktfmt/issues/411)) ##### Removed - **Deleted `Formatter.DROPBOX_FORMAT` / `--dropbox-style` (BREAKING CHANGE)** - Deleted `FormattingOptions.Style` enum ### [`v0.50`](https://togithub.com/facebook/ktfmt/releases/tag/v0.50): 0.50 #### Changelog - Add pre commit hooks to readme ([https://github.com/facebook/ktfmt/pull/462](https://togithub.com/facebook/ktfmt/pull/462)) – [@​0x26res](https://togithub.com/0x26res) - Add homebrew installation note to readme ([https://github.com/facebook/ktfmt/pull/468](https://togithub.com/facebook/ktfmt/pull/468)) – [@​chenrui333](https://togithub.com/chenrui333) - Refactor CLI argument parsing ([https://github.com/facebook/ktfmt/pull/467](https://togithub.com/facebook/ktfmt/pull/467)) – [@​grodin](https://togithub.com/grodin) - Fix issue with context receive in lambdas ([https://github.com/facebook/ktfmt/issues/471](https://togithub.com/facebook/ktfmt/issues/471)) – [@​hick209](https://togithub.com/hick209) - Don't reorder [@​sample](https://togithub.com/sample) tag ([https://github.com/facebook/ktfmt/issues/406](https://togithub.com/facebook/ktfmt/issues/406)) – [@​davidtorosyan](https://togithub.com/davidtorosyan) **Full Changelog**: facebook/ktfmt@v0.49...v0.50 </details> --- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/ZacSweers/CatchUp). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4zOTMuMCIsInVwZGF0ZWRJblZlciI6IjM3LjM5My4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
slack-oss-bot
referenced
this issue
in slackhq/foundry
Jun 16, 2024
This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [com.facebook:ktfmt](https://togithub.com/facebookincubator/ktfmt) | dependencies | minor | `0.50` -> `0.51` | --- > [!WARNING] > Some dependencies could not be looked up. Check the Dependency Dashboard for more information. --- ### Release Notes <details> <summary>facebookincubator/ktfmt (com.facebook:ktfmt)</summary> ### [`v0.51`](https://togithub.com/facebookincubator/ktfmt/blob/HEAD/CHANGELOG.md#051) ##### Added - Created CHANGELOG.md - Added --help option to CLI ([https://github.com/facebook/ktfmt/pull/477](https://togithub.com/facebook/ktfmt/pull/477)) ##### Changed - Preserves blank spaces between when clauses ([https://github.com/facebook/ktfmt/issues/342](https://togithub.com/facebook/ktfmt/issues/342)) - Named the default style as `Formatter.META_FORMAT` / `--meta-style` - `FormattingOptions` constructor parameters order was changed ##### Fixed - Compilation issues with online formatter (facebook/ktfmt@8605080) - Removing valid semicolons ([https://github.com/facebook/ktfmt/issues/459](https://togithub.com/facebook/ktfmt/issues/459)) - Incorrect detection of unused `assign` import ([https://github.com/facebook/ktfmt/issues/411](https://togithub.com/facebook/ktfmt/issues/411)) ##### Removed - **Deleted `Formatter.DROPBOX_FORMAT` / `--dropbox-style` (BREAKING CHANGE)** - Deleted `FormattingOptions.Style` enum </details> --- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Enabled. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Renovate Bot](https://togithub.com/renovatebot/renovate). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy40MDguMiIsInVwZGF0ZWRJblZlciI6IjM3LjQwOC4yIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->
slack-oss-bot
referenced
this issue
in slackhq/circuit
Jun 16, 2024
This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [com.facebook:ktfmt](https://togithub.com/facebook/ktfmt) | dependencies | minor | `0.50` -> `0.51` | --- > [!WARNING] > Some dependencies could not be looked up. Check the Dependency Dashboard for more information. --- ### Release Notes <details> <summary>facebook/ktfmt (com.facebook:ktfmt)</summary> ### [`v0.51`](https://togithub.com/facebook/ktfmt/blob/HEAD/CHANGELOG.md#051) ##### Added - Created CHANGELOG.md - Added --help option to CLI ([https://github.com/facebook/ktfmt/pull/477](https://togithub.com/facebook/ktfmt/pull/477)) ##### Changed - Preserves blank spaces between when clauses ([https://github.com/facebook/ktfmt/issues/342](https://togithub.com/facebook/ktfmt/issues/342)) - Named the default style as `Formatter.META_FORMAT` / `--meta-style` - `FormattingOptions` constructor parameters order was changed ##### Fixed - Compilation issues with online formatter (facebook/ktfmt@8605080) - Removing valid semicolons ([https://github.com/facebook/ktfmt/issues/459](https://togithub.com/facebook/ktfmt/issues/459)) - Incorrect detection of unused `assign` import ([https://github.com/facebook/ktfmt/issues/411](https://togithub.com/facebook/ktfmt/issues/411)) ##### Removed - **Deleted `Formatter.DROPBOX_FORMAT` / `--dropbox-style` (BREAKING CHANGE)** - Deleted `FormattingOptions.Style` enum </details> --- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Enabled. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Renovate Bot](https://togithub.com/renovatebot/renovate). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy40MDguMiIsInVwZGF0ZWRJblZlciI6IjM3LjQwOC4yIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
In one of our projects, we have a util named
multiCatch
which we can tack on to the end of a lambda to more easily follow set logic when catching multiple types of exception.Here's some simplified example code from our repository:
When we run
ktfmt
on this code, it removes the semicolon from the end of the first statement, and then moves the lambda to the end of that statement, making the Kotlin compiler interpret it as a lambda argument topostValue()
:In my opinion, ktfmt should either leave the syntax as-is with a semicolon, or it should wrap the lambda in brackets. It shouldn't change the syntax of the code as part of formatting.
The text was updated successfully, but these errors were encountered: