{
  "appeals": 1,
  "budgets": {
    "baseline_limit_s": 600,
    "verification_timeout_s": 600,
    "worker": {
      "max_completion_tokens": 96000,
      "max_turns": 60,
      "max_wall_seconds": 1500.0,
      "prompt_token_budget": 160000
    }
  },
  "issue": "Backport Python 3.10 NewTypes\nAs of Python 3.10, the following types are picklable:\r\n\r\n```Python\r\nfrom pathlib import Path\r\nfrom typing import NewType\r\n\r\nFile = NewType(\"File\", Path)\r\nDirectory = NewType(\"Directory\", Path)\r\n```\r\n\r\nPrior to that, this fails. Would it be possible to backport the `NewType` class to Python 3.7+?",
  "source": {
    "image": "docker.io/swerebenchv2/python-typing-extensions:157-962936a",
    "platform": "linux/amd64",
    "python": "python",
    "setup": [
      "python -c 'import base64; from pathlib import Path; Path('\"'\"'/tmp/receipts-python__typing_extensions-157-test.patch'\"'\"').write_bytes(base64.b64decode('\"'\"'ZGlmZiAtLWdpdCBhL3NyYy90ZXN0X3R5cGluZ19leHRlbnNpb25zLnB5IGIvc3JjL3Rlc3RfdHlwaW5nX2V4dGVuc2lvbnMucHkKaW5kZXggNGE1ZDNhMS4uNDY5YzMxYiAxMDA2NDQKLS0tIGEvc3JjL3Rlc3RfdHlwaW5nX2V4dGVuc2lvbnMucHkKKysrIGIvc3JjL3Rlc3RfdHlwaW5nX2V4dGVuc2lvbnMucHkKQEAgLTExLDYgKzExLDcgQEAgZnJvbSBmdW5jdG9vbHMgaW1wb3J0IGxydV9jYWNoZQogaW1wb3J0IGltcG9ydGxpYgogaW1wb3J0IGluc3BlY3QKIGltcG9ydCBwaWNrbGUKK2ltcG9ydCByZQogaW1wb3J0IHN1YnByb2Nlc3MKIGltcG9ydCB0ZW1wZmlsZQogaW1wb3J0IHR5cGVzCkBAIC0xNTM5LDIzICsxNTQwLDkwIEBAIGNsYXNzIFR5cGVUZXN0cyhCYXNlVGVzdENhc2UpOgogCiAKIGNsYXNzIE5ld1R5cGVUZXN0cyhCYXNlVGVzdENhc2UpOgorICAgIEBjbGFzc21ldGhvZAorICAgIGRlZiBzZXRVcENsYXNzKGNscyk6CisgICAgICAgIGdsb2JhbCBVc2VySWQKKyAgICAgICAgVXNlcklkID0gTmV3VHlwZSgnVXNlcklkJywgaW50KQorICAgICAgICBjbHMuVXNlck5hbWUgPSBOZXdUeXBlKGNscy5fX3F1YWxuYW1lX18gKyAnLlVzZXJOYW1lJywgc3RyKQorCisgICAgQGNsYXNzbWV0aG9kCisgICAgZGVmIHRlYXJEb3duQ2xhc3MoY2xzKToKKyAgICAgICAgZ2xvYmFsIFVzZXJJZAorICAgICAgICBkZWwgVXNlcklkCisgICAgICAgIGRlbCBjbHMuVXNlck5hbWUKIAogICAgIGRlZiB0ZXN0X2Jhc2ljKHNlbGYpOgotICAgICAgICBVc2VySWQgPSBOZXdUeXBlKCdVc2VySWQnLCBpbnQpCi0gICAgICAgIFVzZXJOYW1lID0gTmV3VHlwZSgnVXNlck5hbWUnLCBzdHIpCiAgICAgICAgIHNlbGYuYXNzZXJ0SXNJbnN0YW5jZShVc2VySWQoNSksIGludCkKLSAgICAgICAgc2VsZi5hc3NlcnRJc0luc3RhbmNlKFVzZXJOYW1lKCdKb2UnKSwgc3RyKQorICAgICAgICBzZWxmLmFzc2VydElzSW5zdGFuY2Uoc2VsZi5Vc2VyTmFtZSgnSm9lJyksIHN0cikKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChVc2VySWQoNSkgKyAxLCA2KQogCiAgICAgZGVmIHRlc3RfZXJyb3JzKHNlbGYpOgotICAgICAgICBVc2VySWQgPSBOZXdUeXBlKCdVc2VySWQnLCBpbnQpCi0gICAgICAgIFVzZXJOYW1lID0gTmV3VHlwZSgnVXNlck5hbWUnLCBzdHIpCiAgICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXMoVHlwZUVycm9yKToKICAgICAgICAgICAgIGlzc3ViY2xhc3MoVXNlcklkLCBpbnQpCiAgICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXMoVHlwZUVycm9yKToKLSAgICAgICAgICAgIGNsYXNzIEQoVXNlck5hbWUpOgorICAgICAgICAgICAgY2xhc3MgRChVc2VySWQpOgogICAgICAgICAgICAgICAgIHBhc3MKIAorICAgIEBza2lwVW5sZXNzKFRZUElOR18zXzEwXzAsICJQRVAgNjA0IGhhcyB5ZXQgdG8gYmUiKQorICAgIGRlZiB0ZXN0X29yKHNlbGYpOgorICAgICAgICBmb3IgY2xzIGluIChpbnQsIHNlbGYuVXNlck5hbWUpOgorICAgICAgICAgICAgd2l0aCBzZWxmLnN1YlRlc3QoY2xzPWNscyk6CisgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChVc2VySWQgfCBjbHMsIFVuaW9uW1VzZXJJZCwgY2xzXSkKKyAgICAgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGNscyB8IFVzZXJJZCwgVW5pb25bY2xzLCBVc2VySWRdKQorCisgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChnZXRfYXJncyhVc2VySWQgfCBjbHMpLCAoVXNlcklkLCBjbHMpKQorICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZ2V0X2FyZ3MoY2xzIHwgVXNlcklkKSwgKGNscywgVXNlcklkKSkKKworICAgIGRlZiB0ZXN0X3NwZWNpYWxfYXR0cnMoc2VsZik6CisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoVXNlcklkLl9fbmFtZV9fLCAnVXNlcklkJykKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChVc2VySWQuX19xdWFsbmFtZV9fLCAnVXNlcklkJykKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChVc2VySWQuX19tb2R1bGVfXywgX19uYW1lX18pCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoVXNlcklkLl9fc3VwZXJ0eXBlX18sIGludCkKKworICAgICAgICBVc2VyTmFtZSA9IHNlbGYuVXNlck5hbWUKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChVc2VyTmFtZS5fX25hbWVfXywgJ1VzZXJOYW1lJykKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChVc2VyTmFtZS5fX3F1YWxuYW1lX18sCisgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5fX2NsYXNzX18uX19xdWFsbmFtZV9fICsgJy5Vc2VyTmFtZScpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoVXNlck5hbWUuX19tb2R1bGVfXywgX19uYW1lX18pCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoVXNlck5hbWUuX19zdXBlcnR5cGVfXywgc3RyKQorCisgICAgZGVmIHRlc3RfcmVwcihzZWxmKToKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChyZXByKFVzZXJJZCksIGYne19fbmFtZV9ffS5Vc2VySWQnKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHJlcHIoc2VsZi5Vc2VyTmFtZSksCisgICAgICAgICAgICAgICAgICAgICAgICAgZid7X19uYW1lX199LntzZWxmLl9fY2xhc3NfXy5fX3F1YWxuYW1lX199LlVzZXJOYW1lJykKKworICAgIGRlZiB0ZXN0X3BpY2tsZShzZWxmKToKKyAgICAgICAgVXNlckFnZSA9IE5ld1R5cGUoJ1VzZXJBZ2UnLCBmbG9hdCkKKyAgICAgICAgZm9yIHByb3RvIGluIHJhbmdlKHBpY2tsZS5ISUdIRVNUX1BST1RPQ09MICsgMSk6CisgICAgICAgICAgICB3aXRoIHNlbGYuc3ViVGVzdChwcm90bz1wcm90byk6CisgICAgICAgICAgICAgICAgcGlja2xlZCA9IHBpY2tsZS5kdW1wcyhVc2VySWQsIHByb3RvKQorICAgICAgICAgICAgICAgIGxvYWRlZCA9IHBpY2tsZS5sb2FkcyhwaWNrbGVkKQorICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0SXMobG9hZGVkLCBVc2VySWQpCisKKyAgICAgICAgICAgICAgICBwaWNrbGVkID0gcGlja2xlLmR1bXBzKHNlbGYuVXNlck5hbWUsIHByb3RvKQorICAgICAgICAgICAgICAgIGxvYWRlZCA9IHBpY2tsZS5sb2FkcyhwaWNrbGVkKQorICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0SXMobG9hZGVkLCBzZWxmLlVzZXJOYW1lKQorCisgICAgICAgICAgICAgICAgd2l0aCBzZWxmLmFzc2VydFJhaXNlcyhwaWNrbGUuUGlja2xpbmdFcnJvcik6CisgICAgICAgICAgICAgICAgICAgIHBpY2tsZS5kdW1wcyhVc2VyQWdlLCBwcm90bykKKworICAgIGRlZiB0ZXN0X21pc3NpbmdfX25hbWVfXyhzZWxmKToKKyAgICAgICAgY29kZSA9ICgiaW1wb3J0IHR5cGluZ19leHRlbnNpb25zXG4iCisgICAgICAgICAgICAgICAgIk5UID0gdHlwaW5nX2V4dGVuc2lvbnMuTmV3VHlwZSgnTlQnLCBpbnQpXG4iCisgICAgICAgICAgICAgICAgKQorICAgICAgICBleGVjKGNvZGUsIHt9KQorCisgICAgZGVmIHRlc3RfZXJyb3JfbWVzc2FnZV93aGVuX3N1YmNsYXNzaW5nKHNlbGYpOgorICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzUmVnZXgoCisgICAgICAgICAgICBUeXBlRXJyb3IsCisgICAgICAgICAgICByZS5lc2NhcGUoCisgICAgICAgICAgICAgICAgIkNhbm5vdCBzdWJjbGFzcyBhbiBpbnN0YW5jZSBvZiBOZXdUeXBlLiBQZXJoYXBzIHlvdSB3ZXJlIGxvb2tpbmcgZm9yOiAiCisgICAgICAgICAgICAgICAgImBQcm9Vc2VySWQgPSBOZXdUeXBlKCdQcm9Vc2VySWQnLCBVc2VySWQpYCIKKyAgICAgICAgICAgICkKKyAgICAgICAgKToKKyAgICAgICAgICAgIGNsYXNzIFByb1VzZXJJZChVc2VySWQpOgorICAgICAgICAgICAgICAgIC4uLgorCiAKIGNsYXNzIENvb3JkaW5hdGUoUHJvdG9jb2wpOgogICAgIHg6IGludApAQCAtMzg0OSw3ICszOTE3LDcgQEAgY2xhc3MgQWxsVGVzdHMoQmFzZVRlc3RDYXNlKToKICAgICAgICAgaWYgc3lzLnZlcnNpb25faW5mbyA8ICgzLCAxMCwgMSk6CiAgICAgICAgICAgICBleGNsdWRlIHw9IHsiTGl0ZXJhbCJ9CiAgICAgICAgIGlmIHN5cy52ZXJzaW9uX2luZm8gPCAoMywgMTEpOgotICAgICAgICAgICAgZXhjbHVkZSB8PSB7J2ZpbmFsJywgJ0FueSd9CisgICAgICAgICAgICBleGNsdWRlIHw9IHsnZmluYWwnLCAnQW55JywgJ05ld1R5cGUnfQogICAgICAgICBpZiBzeXMudmVyc2lvbl9pbmZvIDwgKDMsIDEyKToKICAgICAgICAgICAgIGV4Y2x1ZGUgfD0gewogICAgICAgICAgICAgICAgICdQcm90b2NvbCcsICdydW50aW1lX2NoZWNrYWJsZScsICdTdXBwb3J0c0FicycsICdTdXBwb3J0c0J5dGVzJywK'\"'\"'))'",
      "git apply /tmp/receipts-python__typing_extensions-157-test.patch"
    ],
    "workdir": "/typing_extensions"
  },
  "spec_paths": [
    "src/test_typing_extensions.py"
  ],
  "spec_tests": [
    "src/test_typing_extensions.py::NewTypeTests::test_error_message_when_subclassing"
  ],
  "suite_scope": "--no-header -rA --tb=line --color=no -p no:cacheprovider -W ignore::DeprecationWarning src/test_typing_extensions.py"
}
