# Buggy code
def logpmf(self, k, *args, **kwds):
    """
    Log of the probability mass function at k of the given RV.

    Parameters
    ----------
    k : array_like
        Quantiles.
    arg1, arg2, arg3,... : array_like
        The shape parameter(s) for the distribution (see docstring of the
        instance object for more information).
    loc : array_like, optional
        Location parameter. Default is 0.

    Returns
    -------
    logpmf : array_like
        Log of the probability mass function evaluated at k.

    """
    args, loc, _ = self._parse_args(*args, **kwds)
    _a, _b = self._get_support(*args)
    k, loc = map(asarray, (k, loc))
    args = tuple(map(asarray, args))
    k = asarray((k - loc))
    cond0 = self._argcheck(*args)
    cond1 = (k >= _a) & (k <= _b) & self._nonzero(k, *args)
    cond = cond0 & cond1
    output = empty(shape(cond), "d")
    output.fill(NINF)
    place(output, (1 - cond0) + np.isnan(k), self.badvalue)
    if np.any(cond):
        goodargs = argsreduce(cond, *((k,) + args))
        place(output, cond, self._logpmf(*goodargs))
    if output.ndim == 0:
        return output[()]
    return output


# Traceback (TypeError)
In [2]: from scipy.stats import boltzmann, hypergeom, randint

In [3]: boltzmann.pmf(0, 2, [10, 11])
---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
<ipython-input-3-759dbc29a72d> in <module>
----> 1 boltzmann.pmf(0, 2, [10, 11])

~/mc37scipy/lib/python3.7/site-packages/scipy-1.5.0.dev0+23b6191-py3.7-macosx-10.7-x86_64.egg/scipy/stats/_distn_infrastructure.py in pmf(self, k, *args, **kwds)
3018         """
3019         args, loc, _ = self._parse_args(*args, **kwds)
-> 3020         _a, _b = self._get_support(*args)
3021         k, loc = map(asarray, (k, loc))
3022         args = tuple(map(asarray, args))

~/mc37scipy/lib/python3.7/site-packages/scipy-1.5.0.dev0+23b6191-py3.7-macosx-10.7-x86_64.egg/scipy/stats/_discrete_distns.py in _get_support(self, lambda_, N)
730
731     def _get_support(self, lambda_, N):
--> 732         return self.a, N - 1
733
734     def _pmf(self, k, lambda_, N):

TypeError: unsupported operand type(s) for -: 'list' and 'int'

# Fixed code
def logpmf(self, k, *args, **kwds):
    """
    Log of the probability mass function at k of the given RV.

    Parameters
    ----------
    k : array_like
        Quantiles.
    arg1, arg2, arg3,... : array_like
        The shape parameter(s) for the distribution (see docstring of the
        instance object for more information).
    loc : array_like, optional
        Location parameter. Default is 0.

    Returns
    -------
    logpmf : array_like
        Log of the probability mass function evaluated at k.

    """
    args, loc, _ = self._parse_args(*args, **kwds)
    k, loc = map(asarray, (k, loc))
    args = tuple(map(asarray, args))
    _a, _b = self._get_support(*args)
    k = asarray((k - loc))
    cond0 = self._argcheck(*args)
    cond1 = (k >= _a) & (k <= _b) & self._nonzero(k, *args)
    cond = cond0 & cond1
    output = empty(shape(cond), "d")
    output.fill(NINF)
    place(output, (1 - cond0) + np.isnan(k), self.badvalue)
    if np.any(cond):
        goodargs = argsreduce(cond, *((k,) + args))
        place(output, cond, self._logpmf(*goodargs))
    if output.ndim == 0:
        return output[()]
    return output