On Tue, 9 Oct 2018 at 15:17, Eric Fahlgren <ericfahlgren@gmail.com> wrote:
On Tue, Oct 9, 2018 at 3:16 AM Ivan Levkivskyi <levkivskyi@gmail.com> wrote:
class PathLike(Protocol[AnyStr]):
 
I had been working on this same problem intermittently for several months, so thanks, but...

    error: Invariant type variable 'AnyStr' used in protocol where covariant one is expected

is called out on the class  by mypy 0.630 (Python 3.6.6).  Do I just need to wait for 0.640?  Or should I define a new TypeVar for AnyStr_co and use that?

Hm, it looks like mypy overreacts here. I think it should be safe to use a constrained type variable if there are no constraints that are subtypes of other constraints (which is the case for AnyStr on Python 3, where bytes is not a subtype of str). Could you please open an issue about this on mypy tracker? In the meantime, you can just silence the error with a `# type: ignore`.

--
Ivan