Skip to content

Commit a5603a2

Browse files
GearsDatapackslpil
authored andcommitted
Generate shared fields in deterministic order
1 parent f9346e2 commit a5603a2

3 files changed

+7
-7
lines changed

compiler-core/src/javascript.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -528,7 +528,7 @@ impl<'a> Generator<'a> {
528528
) -> Document<'a> {
529529
let mut functions = Vec::new();
530530

531-
for field in shared_accessors.keys() {
531+
for field in shared_accessors.keys().sorted() {
532532
let function_name = eco_format!("{type_name}${field}");
533533

534534
let contents = docvec![line(), "return value.", maybe_escape_property(field), ";"];

compiler-core/src/javascript/tests/snapshots/gleam_core__javascript__tests__records__record_accessor_multiple_variants_parameterised_types.snap

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -59,12 +59,12 @@ export function Person$Student$age(value) {
5959
}
6060

6161

62-
export function Person$name(value) {
63-
return value.name;
64-
}
6562
export function Person$age(value) {
6663
return value.age;
6764
}
65+
export function Person$name(value) {
66+
return value.name;
67+
}
6868

6969
export function get_name(person) {
7070
return person.name;

compiler-core/src/javascript/tests/snapshots/gleam_core__javascript__tests__records__record_accessor_multiple_variants_positions_other_than_first.snap

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -59,12 +59,12 @@ export function Person$Student$age(value) {
5959
}
6060

6161

62-
export function Person$name(value) {
63-
return value.name;
64-
}
6562
export function Person$age(value) {
6663
return value.age;
6764
}
65+
export function Person$name(value) {
66+
return value.name;
67+
}
6868

6969
export function get_name(person) {
7070
return person.name;

0 commit comments

Comments
 (0)