Results 70 comments of Vasily Zakharov

No I didn't, but as is it's ok with `mypy`.

That's true, but how do we decide whether typeguard should understand a particular annotation or not? My idea is we check whether mypy understands it, and if yes, than typeguard...

And if for some reason typeguard can't process some annotation correctly, at least it should not crash, preventing the app from running further.

> Have you tried `e: A.E`? Now I have: ``` File "A.py", line 5, in A def __init__(self, e: A.E = A.E.X) -> None: NameError: name 'A' is not defined...

That sounds extremely weird, and doesn't follow any guidelines on writing annotations and otherwise referencing variables. So I wouldn't expect someone to describe a method argument like this. :( Also,...

It seems that `mypy` considers both `E` and `A.E` to be correct. So I think `typeguard` should ideally consider both of them to be correct. Or, if that's not possible,...

Well, that sounds reasonable, isn't it?

Yeah, I understand that. :( It seems like the only other thing possible is detecting situations like this and just skipping checking for them. But hacks are probably better.

Yep, but it works very weirdly: ```shell $ python3 A.py OK $ python3 test.py OK OK ``` Why the extra instantiation?

Oh, my bad. Instantiation is definitely not needed in `test.py`. Fixed.