gleam-lang/gleam

Qualified constants cannot be referenced inside bit array size segment patterns.

Open

#5.607 aberto em 11 de abr. de 2026

Ver no GitHub
 (1 comment) (0 reactions) (0 assignees)Rust (21.417 stars) (960 forks)batch import
good first issuehelp wanted

Description

When pattern matching on a bit array, the compiler produces a syntax error if a qualified imported constant is referenced inside a size segment, for example:

import example/internal

const lap_data_size = 50

pub fn parse(bits:BitArray)->Result(_,Nil){
  case bits {
    <<
      lap_data:bytes-size(internal.maximum_cars * lap_data_size),
      time_trial_personal_best_car:unsigned-int-8,
      time_trial_rival_car:unsigned-int-8,
    >> -> todo
    _ -> todo
  }
}

This code produces the following error pointing to internal.:

Syntax error

I was not expecting this.

Found `.`, expected one of: 
- `)`

Guia do colaborador