This conception was originally introduced to implement constant network senders (and New - their implementation). Later it was also reused to implement struct selectors (and, respectfully, Field).
The thing is Fieldcan (with some performance overhead) be implemented without config message (see #683) while New is not. New really needs something else because it doesn't have inports.
So, if it's only case for New isn't cfgMsg too big abstraction? Too generic, too universal? How about doing the same as we do for Panic? We could e.g. inject "ConstantMessage" into ctx. On the level of IR we can keep cfgMsg abstraction as is though.
RN only 2 components needs this
Field
New
This conception was originally introduced to implement constant network senders (and
New
- their implementation). Later it was also reused to implement struct selectors (and, respectfully,Field
).The thing is
Field
can (with some performance overhead) be implemented without config message (see #683) whileNew
is not.New
really needs something else because it doesn't have inports.So, if it's only case for
New
isn'tcfgMsg
too big abstraction? Too generic, too universal? How about doing the same as we do forPanic
? We could e.g. inject "ConstantMessage" intoctx
. On the level of IR we can keep cfgMsg abstraction as is though.Related to #683 and #684