Problematic code input:
("foo: #{a}\n
foo: #{a}\n
foo: #{a}\n
foo: #{a}\n
foo: #{a}")
Reproduction:
Unparser.parse(Unparser.unparse(code))
# => Unparser::UnsupportedNodeError: Unparser cannot round trip this node: s(:dstr, (Unparser::UnsupportedNodeError)
Adding a few more lines to the snippet increases the execution time more than exponentially so that it hangs.
Flamegraph:
