According to the xint packages source code, the definition of \xint_bye is
\long\def\xint_bye #1\xint_bye {}%.
Somehow it invokes itself, but I do not understand it.
What does \xint_bye do?
That definition doesn't mean that \xint_bye calls itself. The definition is of a macro with a delimited argument. According to it, \xint_bye must be followed by (almost1) arbitrary tokens and by \xint_bye at the same brace level. Everything up to and including that token is then discarded, because the replacement text is empty.
Actually, \xint_bye is mostly used as a “sentinel” for other delimited argument macros. I believe that the definition is done for corner cases when \xint_bye gets to be expanded (usually it's discarded, being an argument delimiter).
1 Almost, because outer tokens cannot ever appear in arguments. Any other token can, including \par, because of the prefix \long.
xintbundle. – egreg Dec 29 '21 at 22:47xint, who left this site. Clever code, poor documentation, I'm afraid. – egreg Dec 29 '21 at 23:09