code: def _saferepr(obj):
      
      repr = py.io.saferepr(obj)
      if py.builtin._istext(repr):
          t = py.builtin.text
      else:
          t = py.builtin.bytes
      return repr.replace(t("\n"), t("\\n"))
docs: Get a safe repr of an object for assertion error messages.
  
      The assertion formatting (util.format_explanation()) requires
      newlines to be escaped since they are a special character for it.
      Normally assertion.util.format_explanation() does this but for a
      custom repr it is possible to contain one of the special escape
      sequences, especially '\n{' and '\n}' are likely to be present in
      JSON reprs.