You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Such pattern would allows proc macros such as bevy_mod_sysfail
to be much more flexible, for example allowing arbitrary system for
handling system output.
What solution would you like?
ChainSystem currently doesn't have a const constructor. What
need to be done to implement such a constructor is:
Define a non-trait public const constructor for ChainSystem (pub const fn new(…) -> Self)
That constructor, unlike the existing ones, must not rely on trait methods, but rather
directly call const functions on concrete types/type parameters.
What alternative(s) have you considered?
The current workaround used by bevy_mod_sysfail is to not allow arbitrary
system error handlers, and just insert the error handling code into the system
marked with the attribute macro.
Directly using ChainSystem would allow simplifying the proc macro code as well.
What problem does this solve or what need does it fill?
Currently, it is impossible to define system chains in a
const
variable such as:Such pattern would allows proc macros such as bevy_mod_sysfail
to be much more flexible, for example allowing arbitrary system for
handling system output.
What solution would you like?
ChainSystem
currently doesn't have aconst
constructor. Whatneed to be done to implement such a constructor is:
ChainSystem
(pub const fn new(…) -> Self
)directly call const functions on concrete types/type parameters.
What alternative(s) have you considered?
The current workaround used by bevy_mod_sysfail is to not allow arbitrary
system error handlers, and just insert the error handling code into the system
marked with the attribute macro.
Directly using
ChainSystem
would allow simplifying the proc macro code as well.Additional context
This was discussed on discord.
The text was updated successfully, but these errors were encountered: