|
From: | John Snow |
Subject: | Re: [PATCH 13/37] qapi/common.py: add notational type hints |
Date: | Thu, 17 Sep 2020 16:06:27 -0400 |
User-agent: | Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.11.0 |
On 9/17/20 2:18 PM, John Snow wrote:
Your type hint adds a restriction that wasn't there before. Is there a better way?
I've settled on using the `object` type for now, which is slightly more restrictive than `Any`.
`Any` and `object` both allow any type of argument, but `Any` effectively creates a gradually typed boundary in which you are implicitly casting to whatever typed boundary it enters next.
`object` is an explicit cast to the most abstracted type; any further usage that is not supported the base object will be rejected.
This is nice, because if someone adds a call at or below the mcgen level, mypy will certainly complain that they are assuming too much about the type -- and they would be!
The rest of my series will now take this approach: prefer `object` to `Any`. --js
[Prev in Thread] | Current Thread | [Next in Thread] |