Blob Blame History Raw
From dc850da24d4024f33ba0b04c827f36cba9674911 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Robert-Andr=C3=A9=20Mauchin?= <zebob.m@gmail.com>
Date: Mon, 27 May 2019 21:24:06 +0200
Subject: [PATCH] Add support for positional only arguments
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

PEP 570 adds "positional only" arguments to Python, which changes the
code object constructor. This adds support for Python 3.8.

Signed-off-by: Robert-André Mauchin <zebob.m@gmail.com>
---
 automat/_introspection.py | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/automat/_introspection.py b/automat/_introspection.py
index c7bbb8a..3f7307d 100644
--- a/automat/_introspection.py
+++ b/automat/_introspection.py
@@ -13,6 +13,9 @@ def copycode(template, changes):
     ]
     if hasattr(code, "co_kwonlyargcount"):
         names.insert(1, "kwonlyargcount")
+    if hasattr(code, "co_posonlyargcount"):
+        # PEP 570 added "positional only arguments"
+        names.insert(1, "posonlyargcount")
     values = [
         changes.get(name, getattr(template, "co_" + name))
         for name in names
-- 
2.21.0