|
From: | John Snow |
Subject: | Re: [PATCH v6 01/19] qapi: Replace List[str] with Sequence[str] for ifcond |
Date: | Tue, 16 Feb 2021 10:19:42 -0500 |
User-agent: | Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.6.0 |
On 2/16/21 3:43 AM, Markus Armbruster wrote:
John Snow <jsnow@redhat.com> writes:It does happen to be a list (as of now), but we can describe it in more general terms with no loss in accuracy to allow tuples and other constructs. In the future, we can write "ifcond: Sequence[str] = ()" as a default parameter, which we could not do with a Mutable type like a List.Well, we could write "= []", but we shouldn't. Worth a commit message tweak?
It would be funny to leave it in to see if anyone tries to disprove me, and in the act of disproving me, learns for themselves why you "can't" do that. Rite of passage for Python programming.
Jokes aside: "which we could not do ^safely^ with a Mutable type like a List." If that warrants further exposition by Professor Snow:"(Unsafe due to how Python initializes defaults, see https://docs.python-guide.org/writing/gotchas/#mutable-default-arguments)"
I leave it to your discretion.
Signed-off-by: John Snow <jsnow@redhat.com>Reviewed-by: Markus Armbruster <armbru@redhat.com>
These are worth more than BTC! --js
[Prev in Thread] | Current Thread | [Next in Thread] |