Skip to content

Use consuming builder pattern for SpritesheetBuilder#109

Merged
flother merged 2 commits intomasterfrom
spritesheetbuilder-mut-self
Dec 28, 2025
Merged

Use consuming builder pattern for SpritesheetBuilder#109
flother merged 2 commits intomasterfrom
spritesheetbuilder-mut-self

Conversation

@flother
Copy link
Owner

@flother flother commented Dec 28, 2025

Change SpritesheetBuilder methods from &mut self -> &mut Self to mut self -> Self. Allows for cleaner method chaining. Before:

let mut spritesheet_builder = Spritesheet::build();
spritesheet_builder.sprites(sprites);
spritesheet_builder.spacing(spacing);

After:

let mut spritesheet_builder = Spritesheet::build()
    .sprites(sprites)
    .spacing(spacing);

I've added #[must_use] to SpritesheetBuilder so that there's a compile-time warning if a builder is created but not used.

Change `SpritesheetBuilder` methods from `&mut self -> &mut Self` to
`mut self -> Self`. Allows for cleaner method chaining. Before:

    let mut spritesheet_builder = Spritesheet::build();
    spritesheet_builder.sprites(sprites);
    spritesheet_builder.spacing(spacing);

After:

    let mut spritesheet_builder = Spritesheet::build()
        .sprites(sprites)
        .spacing(spacing);

I've added `#[must_use]` to `SpritesheetBuilder` so that there's a
compile-time warning if a builder is created but not used.
@flother flother merged commit 44b0300 into master Dec 28, 2025
5 checks passed
@flother flother deleted the spritesheetbuilder-mut-self branch December 28, 2025 15:38
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