The backtracking is definitely wrong but I'm not sure yet what the best way to fix it is. LLVM passes some flags through to indicate which parts of the symbols are supposed to be memoized. In particular an area we currently fail is that we do not handle template names correctly here.
The last testcase in the backreference example shows the issue quite well:
The backtracking is definitely wrong but I'm not sure yet what the best way to fix it is. LLVM passes some flags through to indicate which parts of the symbols are supposed to be memoized. In particular an area we currently fail is that we do not handle template names correctly here.
The last testcase in the backreference example shows the issue quite well:
The string references
12
at the end which should expand intomedia::DecoderStream<2>
but don't at all in our case because we memoize the wrong things.