We're still working on a tiny test case to exhibit the problem (and which will be added as a regression test), but Todd's work with semantic version on 2023-08-23 indicated strongly that multiple macro implementations ran. The method was an override of "«…‡,»::=_;" for exactly 3 local constants, which would have caused an early divergence in the parsing instruction tree, making it unclear whether we even have invented a mechanism that can converge them again to prevent multiple macro implementations from running.
The proximal solution involved making the locals list in the override have size [2..∞), like the core implementation, and post-filtering it with a parse rejection if it didn't happen to be 3. That success seems to implicate the divergence of bundle trees due to parsing instruction variation in the plans generated for the implementations.
We're still working on a tiny test case to exhibit the problem (and which will be added as a regression test), but Todd's work with
semantic versionon 2023-08-23 indicated strongly that multiple macro implementations ran. The method was an override of"«…‡,»::=_;"for exactly 3 local constants, which would have caused an early divergence in the parsing instruction tree, making it unclear whether we even have invented a mechanism that can converge them again to prevent multiple macro implementations from running.The proximal solution involved making the locals list in the override have size [2..∞), like the core implementation, and post-filtering it with a parse rejection if it didn't happen to be 3. That success seems to implicate the divergence of bundle trees due to parsing instruction variation in the plans generated for the implementations.