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

贡献者指南