This changes Awareness mixin functions from taking abstract IRCPlugins to taking concrete subclasses.
This has bloat advantages where IRCPluginImpl.onEventImpl now doesn't need as many instantiations of its nested template functions, which otherwise get one instantiation per event handler function signature.
Alongside this, all awareness functions are now @system to further decrease instantiation count.
This changes Awareness mixin functions from taking abstract
IRCPlugin
s to taking concrete subclasses.This has bloat advantages where
IRCPluginImpl.onEventImpl
now doesn't need as many instantiations of its nested template functions, which otherwise get one instantiation per event handler function signature.Alongside this, all awareness functions are now
@system
to further decrease instantiation count.