Вот фрагмент кода из TurboGears 1.0.6:
[dispatch.generic(MultiorderGenericFunction)]
def run_with_transaction(func, *args, **kw):
pass
Я не могу понять, как размещение списка перед определением функции может повлиять на него.
В строке документации dispatch.generic упоминается:
Обратите внимание, что при использовании более старых версий Python вы должны использовать '[dispatch.generic()]' вместо '@dispatch.generic()'.
Итак, очевидно, это способ получить поведение, подобное декоратору, в версиях Python до декоратора, но как, черт возьми, это может работать?