In the Python 3.8 AST, all constants are now represented by the ast.Constant node type.
Thus to support 3.8 and later properly, we will need to update any macro code that deals with Num, Str, NameConstant.
Maybe in 0.15, move these into syntax.astcompat, and start accepting Constant nodes as an alternative.
There are not many use sites, so it's probably not worth building an abstraction for this.
In the Python 3.8 AST, all constants are now represented by the
ast.Constantnode type.Thus to support 3.8 and later properly, we will need to update any macro code that deals with
Num,Str,NameConstant.Maybe in 0.15, move these into
syntax.astcompat, and start acceptingConstantnodes as an alternative.There are not many use sites, so it's probably not worth building an abstraction for this.