Skip to content

Elixir: Updates in patterns#655

Merged
maciejpirog merged 1 commit into
mainfrom
mpir/elixir-custom-expr-to-pattern
Apr 13, 2026
Merged

Elixir: Updates in patterns#655
maciejpirog merged 1 commit into
mainfrom
mpir/elixir-custom-expr-to-pattern

Conversation

@maciejpirog
Copy link
Copy Markdown
Contributor

@maciejpirog maciejpirog commented Apr 10, 2026

Support for Elixir-specific patterns (in particular "abc" <> x and ^x)

@maciejpirog maciejpirog changed the title [WIP] Elixir: Updates on case and patterns Elixir: Updates in patterns Apr 13, 2026
@maciejpirog maciejpirog marked this pull request as ready for review April 13, 2026 14:58
@maciejpirog maciejpirog force-pushed the mpir/elixir-custom-expr-to-pattern branch from bbf42bf to 967f509 Compare April 13, 2026 15:01
Comment thread languages/elixir/generic/Elixir_to_generic.ml Outdated
Comment thread languages/elixir/generic/Elixir_to_generic.ml
G.PatWhen (G.PatId (tmp, tmp_info), cmp)
| _ -> OtherPat (("ExprToPattern", Tok.unsafe_fake_tok ""), [ G.E e ])
end
(* TODO: PatKeyVal and more *)
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This comment seems to be a left-over of the original code?

@maciejpirog maciejpirog force-pushed the mpir/elixir-custom-expr-to-pattern branch from 967f509 to dbbaecd Compare April 13, 2026 15:38
Copy link
Copy Markdown
Collaborator

@dimitris-m dimitris-m left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@maciejpirog maciejpirog merged commit 28f3397 into main Apr 13, 2026
6 checks passed
@maciejpirog maciejpirog deleted the mpir/elixir-custom-expr-to-pattern branch April 13, 2026 16:24
@maciejpirog maciejpirog mentioned this pull request Apr 21, 2026
tmeijn pushed a commit to tmeijn/dotfiles that referenced this pull request May 7, 2026
This MR contains the following updates:

| Package | Update | Change |
|---|---|---|
| [opengrep/opengrep](https://github.com/opengrep/opengrep) | minor | `v1.19.0` → `v1.20.0` |

MR created with the help of [el-capitano/tools/renovate-bot](https://gitlab.com/el-capitano/tools/renovate-bot).

**Proposed changes to behavior should be submitted there as MRs.**

---

### Release Notes

<details>
<summary>opengrep/opengrep (opengrep/opengrep)</summary>

### [`v1.20.0`](https://github.com/opengrep/opengrep/releases/tag/v1.20.0): Opengrep 1.20.0

[Compare Source](opengrep/opengrep@v1.19.0...v1.20.0)

#### Improvements

- Elixir: Updates in patterns by [@&#8203;maciejpirog](https://github.com/maciejpirog) in [#&#8203;655](opengrep/opengrep#655)
- Elixir: Distinguish field access from zero-arity remote call by [@&#8203;dimitris-m](https://github.com/dimitris-m) in [#&#8203;659](opengrep/opengrep#659)
- Python: Preserve match/case guard and `as` bindings (PEP 634) by [@&#8203;dimitris-m](https://github.com/dimitris-m) in [#&#8203;679](opengrep/opengrep#679)
- Python: Parse PEP 634 match/case statements in the menhir parser by [@&#8203;raphaeldavidf](https://github.com/raphaeldavidf) in [#&#8203;665](opengrep/opengrep#665)
- Clojure: Support string-key map destructuring by [@&#8203;dimitris-m](https://github.com/dimitris-m) in [#&#8203;658](opengrep/opengrep#658)
- Fix lambda taint tracking in intrafile mode by [@&#8203;corneliuhoffman](https://github.com/corneliuhoffman) in [#&#8203;597](opengrep/opengrep#597)
- Unconditional taints in lambdas by [@&#8203;corneliuhoffman](https://github.com/corneliuhoffman) in [#&#8203;663](opengrep/opengrep#663)
- Make switch usable as expression in IL by [@&#8203;maciejpirog](https://github.com/maciejpirog) in [#&#8203;664](opengrep/opengrep#664)
- Exclude more synthetic identifiers from the PCRE prefilter by [@&#8203;dimitris-m](https://github.com/dimitris-m) in [#&#8203;673](opengrep/opengrep#673)
- Hide synthetic identifiers, add prefix-metavar matching, fix Go `chan` direction by [@&#8203;corneliuhoffman](https://github.com/corneliuhoffman) in [#&#8203;677](opengrep/opengrep#677)

#### Infrastructure

- CI: Set CLCACHE\_DIR for nuitka clcache on Windows by [@&#8203;dimitris-m](https://github.com/dimitris-m) in [#&#8203;680](opengrep/opengrep#680)
- CI: Skip init steps when cache was restored via restore-keys by [@&#8203;dimitris-m](https://github.com/dimitris-m) in [#&#8203;672](opengrep/opengrep#672)
- CI: Upgrade opam to 2.5.1, re-enable windows sig verification by [@&#8203;dimitris-m](https://github.com/dimitris-m) in [#&#8203;674](opengrep/opengrep#674)
- CI (Alpine): Add curl to apk install by [@&#8203;dimitris-m](https://github.com/dimitris-m) in [#&#8203;675](opengrep/opengrep#675)
- Chore: Remove .circleci, drop dead Makefile targets, align terminology by [@&#8203;dimitris-m](https://github.com/dimitris-m) in [#&#8203;676](opengrep/opengrep#676)
- Fix Windows install: Bundle charset\_normalizer, don't treat stderr as fatal by [@&#8203;dimitris-m](https://github.com/dimitris-m) in [#&#8203;662](opengrep/opengrep#662)
- Opam: Make cache version-invariant and pin memprof-limits via template by [@&#8203;dimitris-m](https://github.com/dimitris-m) in [#&#8203;670](opengrep/opengrep#670)

##### New Contributors

- [@&#8203;raphaeldavidf](https://github.com/raphaeldavidf) made their first contribution in [#&#8203;665](opengrep/opengrep#665)

**Full Changelog**: <opengrep/opengrep@v1.19.0...v1.20.0>

</details>

---

### Configuration

📅 **Schedule**: (UTC)

- 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 MR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this MR and you won't be reminded about this update again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this MR, check this box

---

This MR has been generated by [Mend Renovate](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4xMzkuMSIsInVwZGF0ZWRJblZlciI6IjQzLjE0MC4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJSZW5vdmF0ZSBCb3QiLCJhdXRvbWF0aW9uOmJvdC1hdXRob3JlZCIsImRlcGVuZGVuY3ktdHlwZTo6bWlub3IiXX0=-->
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.

2 participants