gleam-lang/gleam
View on GitHubQualified constants cannot be referenced inside bit array size segment patterns.
Open
#5607 opened on Apr 11, 2026
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:
- `)`