gleam-lang/gleam

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

Open

Aperta il 11 apr 2026

Vedi su GitHub
 (1 commento) (0 reazioni) (0 assegnatari)Rust (21.417 star) (960 fork)batch import
good first issuehelp wanted

Descrizione

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: 
- `)`

Guida contributor