[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH 04/16] qapi/expr.py: Add assertion for union type 'check_dict
From: |
Eduardo Habkost |
Subject: |
Re: [PATCH 04/16] qapi/expr.py: Add assertion for union type 'check_dict' |
Date: |
Wed, 23 Sep 2020 15:53:22 -0400 |
On Tue, Sep 22, 2020 at 05:13:01PM -0400, John Snow wrote:
> mypy isn't fond of allowing you to check for bool membership in a
> collection of str elements. Guard this lookup for precisely when we were
> given a name.
>
> Signed-off-by: John Snow <jsnow@redhat.com>
> ---
> scripts/qapi/expr.py | 4 +++-
> 1 file changed, 3 insertions(+), 1 deletion(-)
>
> diff --git a/scripts/qapi/expr.py b/scripts/qapi/expr.py
> index f6b55a87c1..67892502e9 100644
> --- a/scripts/qapi/expr.py
> +++ b/scripts/qapi/expr.py
> @@ -166,7 +166,9 @@ def check_type(value, info, source,
> raise QAPISemError(info,
> "%s should be an object or type name" % source)
>
> - permit_upper = allow_dict in info.pragma.name_case_whitelist
> + permit_upper = False
> + if isinstance(allow_dict, str):
> + permit_upper = allow_dict in info.pragma.name_case_whitelist
Well, this keeps existing behavior, so:
Reviewed-by: Eduardo Habkost <ehabkost@redhat.com>
But: what exactly is the meaning of allow_dict=False,
allow_dict=True, and allow_dict being a string?
>
> # value is a dictionary, check that each member is okay
> for (key, arg) in value.items():
> --
> 2.26.2
>
--
Eduardo
[PATCH 03/16] qapi/expr.py: constrain incoming expression types, John Snow, 2020/09/22
Re: [PATCH 03/16] qapi/expr.py: constrain incoming expression types, Cleber Rosa, 2020/09/24