Skip to content

feat: add opt-in stable member ordering - #2957

Open
oriori1703 wants to merge 2 commits into
skylot:masterfrom
oriori1703:fix/stable-aliased-member-order
Open

oriori1703 wants to merge 2 commits into
skylot:masterfrom
oriori1703:fix/stable-aliased-member-order

Conversation

@oriori1703

@oriori1703 oriori1703 commented Sep 15, 2026 •

Copy link
Copy Markdown
Contributor

Add the opt-in --stable-member-order flag (and a gui option) to order tied declarations by their renamed signatures; default output remains unchanged.

This is useful when trying to diff different app version, because when source-line information is missing or tied or disabled, renamed declarations can retain different raw input orders across builds, producing noisy diffs.

For example, with debug information disabled and types A and B renamed to Zebra and Alpha:

Default output

class Example {
    Example(Zebra value) {}
    Example(Alpha value) {}

    void zeta() {}
    void alpha() {}
}

With --stable-member-order

class Example {
    Example(Alpha value) {}
    Example(Zebra value) {}

    void alpha() {}
    void zeta() {}
}

@oriori1703 oriori1703 changed the title fix: stabilize member order using renamed signatures feat: add opt-in stable member ordering Sep 15, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant