phldavies
03/21/2025, 9:07 AMAlejandro Serrano.Mena
03/21/2025, 9:15 AMphldavies
03/21/2025, 12:49 PMAlejandro Serrano.Mena
03/21/2025, 12:50 PMinlin
does not mean it does not appear in the ABI (it still needed for some purposes like creating callable references)phldavies
03/21/2025, 1:07 PMcontext(raise: Raise<Err>)
inline fun <Err> raise(r: Err): Nothing = raise.raise(r)
Alejandro Serrano.Mena
03/21/2025, 2:37 PMinline
, they will "disappear" in all usages in which we call them
• however, they are still part of the ABI of arrow-core
phldavies
03/21/2025, 2:41 PMhowever, they are still part of the ABI ofThis is why I was thinking of a separate module (for now) for these bridges -arrow-core
arrow-core-ctxparam-support
or something suitably named - to avoid impacting arrow-core
ABI while providing bridges for those opting into context-parameters earlyErik Dreyer
04/03/2025, 7:53 PMEither.bind()
to work? It used to work with context receivers, but I'm struggling to find the right bridge function to get the Either.bind()
extension function working with context paramsAlejandro Serrano.Mena
04/04/2025, 7:29 AMRaise
would be re-exported as bridge function; bind
is especially painful to use otherwisephldavies
04/04/2025, 8:20 AM@Suppress("NOTHING_TO_INLINE")
context(r: Raise<Err>)
inline fun <Err, A> Either<Err, A>.bind(): A = with(r) { bind() }
this should work (completely untested) as a bridge for nowErik Dreyer
04/04/2025, 1:38 PM