Upgrade to release 4.1.0:
- Add support for equality constraints (``==``, ``!=``) in inference.
- Ensure ``ast.JoinedStr`` nodes are ``Uninferable`` when the
``ast.FormattedValue`` is ``Uninferable``. This prevents
``unexpected-keyword-arg`` messages in Pylint where the
``Uninferable`` string appeared in function arguments that were
constructed dynamically.
- Add support for type constraints (`isinstance(x, y)`) in inference.
- Make `type.__new__()` raise clear errors instead of returning `None`.
- Move object dunder methods from ``FunctionModel`` to ``ObjectModel``
to make them available on all object types, not just functions.
- ``lineno`` and ``end_lineno`` are now available on ``Arguments``.
- Add helper to iterate over all annotations nodes of function
arguments, ``Arguments.get_annotations()``.
- Skip direct parent when determining the ``Decorator`` frame.
- Add simple command line interface for astroid to output generated
AST. Use with ``python -m astroid``.
- Fix incorrect type inference for ``super().method()`` calls that
return ``Self``. Previously, astroid would infer the parent class
type instead of the child class type, causing pylint E1101 false
positives in method chaining scenarios.
- Add missing ``dtype`` and ``casting`` parameters to
``numpy.concatenate`` brain.
- Fix ``random.sample`` inference crash when sequence contains
uninferable elements.
- Fix ``random.sample`` crash when cloning ``ClassDef`` or
``FunctionDef`` nodes.
Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>