zorael / kameloso

IRC bot with Twitch support
Boost Software License 1.0
9 stars 3 forks source link

Subclass plugin typing in Awareness mixin functions #141

Closed zorael closed 1 year ago

zorael commented 1 year ago

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.