The ``__repr__`` set by ``attrs``
no longer produces an ``AttributeError``
when the instance is missing some of the specified attributes
(either through deleting
or after using ``init=False`` on some attributes).

This can break code
that relied on ``repr(attr_cls_instance)`` raising ``AttributeError``
to check if any attr-specified members were unset.

If you were using this,
you can implement a custom method for checking this::

    def has_unset_members(self):
        for field in attr.fields(type(self)):
            try:
                getattr(self, field.name)
            except AttributeError:
                return True
        return False
