#3442·pyro

Remove `Callable` parent of `TorchDistributionMixin`

Author: kosiokarchevCreated Jul 19, 2025Updated Jul 24, 2025

Will it be possible to remove Callable from the parents of TorchDistributionMixin (introduced in version 1.9)? I'd like to make a generic subclass like

class MyDist(TorchDistribution, Generic[_T]): ...

and use it as MyDist[SomeConcreteType], but this fails because Callable enforces a specific usage pattern MyDist[[arg_type, ...], return_type]. On the other hand, introspection tools (in my experience) and the built-in callable already pick up the "callability" from the __call__ method.