gleam-lang/gleam

Invalid JavaScript generated for case in a pipeline

Closed

#5,743 opened on May 22, 2026

 (2 comments) (0 reactions) (0 assignees)Rust (960 forks)batch import
help wantedhigh priority

Repository metrics

Stars
 (21,417 stars)
PR merge metrics
 (Avg merge 10d 19h) (69 merged PRs in 30d)

Description

  • gleam 1.16.0
  • target JS

This code gets compiled to an invalid JS file.

import gleam/function
import gleam/io

pub fn main() {
  0
  |> case True {
    True -> function.identity |> echo
    False -> fn(i) { i + 1 }
  }
  |> fn(i) { i + 1 }
}

Compiled to a JS file with this error: SyntaxError: Identifier '_pipe$1' has already been declared

export function main() {
  let _pipe = 0;
  let _block;
  let $ = true;
  let _pipe$1 = $function.identity;
  _block = echo(_pipe$1, undefined, "src/tmp_gleam.gleam", 7);
  let _pipe$1 = _block(_pipe);
  return ((i) => { return i + 1; })(_pipe$1);
}

Contributor guide