In Python (3.6+) При использовании двоеточия по ошибке при попытке инициализировать dict он интерпретируется как допустимый синтаксис, вероятно, указывающий на подсказку типа. Однако информация просто выбрасывается и кажется невозвратной.
>>> a: int
>>> b: 3
>>> d= {}
>>> d['something']: 4
>>> d
{}
>>> __annotations__
{'a': <class 'int'>, 'b': 3}
Есть ли способ, используя инструменты из стандартной библиотеки Python (за исключением модуля re), чтобы каким-то образом проанализировать этот код и получить информацию, которая была выброшена, тем самым определив, что синтаксис подсказки типа был неправильно использован.
Я зарегистрировал ошибку об этом (https://bugs.python.org/issue41488), но она была закрыта как не имеющая отношения к делу.