gleam-lang/gleam

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

Open

#5,607 建立於 2026年4月11日

在 GitHub 查看
 (1 留言) (0 反應) (0 負責人)Rust (21,417 star) (960 fork)batch import
good first issuehelp wanted

描述

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

貢獻者指南