bevyengine / bevyengine/bevy

Implement `System` for `Box<dyn System>`

Open
#18,624 2 comments 0 reactions 0 assignees View on GitHub
A-ECS C-Feature
Dominant language
Rust
Stars
48.2k
Forks
4.8k
Avg merge
3d 16h
Merged PRs (30d)
171

Description

## What problem does this solve or what need does it fill?

Boxed systems cannot be used with `IntoSystem`. This means that they can't use `IntoSystem::pipe` or any of the other related functions. This is especially useful for downstream crates relying on user-provided type erased systems.

## What solution would you like?

Implement `System` for `Box` and both `System` and `ReadOnlySystem` for `Box`

## What alternative(s) have you considered?

N/A

Contributor guide

Open the contributing guide

Research direction

Start by locating the System and ReadOnlySystem trait definitions and the IntoSystem APIs mentioned in the issue. Check the existing trait implementations around boxed or type-erased systems, then verify that the requested boxed types work with IntoSystem::pipe and related functions.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust
Domain
backend-api-design
Issue type
Feature
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
48/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.