class Regexp::Expression::Backreference::Base

def initialize_copy(orig)

def initialize_copy(orig)
  exp_id = [self.class, self.starts_at]
  # prevent infinite recursion for recursive subexp calls
  copied = @@copied ||= {}
  self.referenced_expression =
    if copied[exp_id]
      orig.referenced_expression
    else
      copied[exp_id] = true
      orig.referenced_expression.dup
    end
  copied.clear
  super
end