[ 
https://issues.apache.org/jira/browse/BEAM-9755?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17089129#comment-17089129
 ] 

yoshiki obata commented on BEAM-9755:
-------------------------------------

Thank you [~tvalentyn] and [~udim]!
I found that cause of this seems to be MAP_ADD's stack order expectation 
change(PEP 572).
We can fix this with changing key and value pop order at 
apache_beam.typehints.opcodes.mapp_add according to Python version.

> infer_return_type does not infer as expected in Python 3.8
> ----------------------------------------------------------
>
>                 Key: BEAM-9755
>                 URL: https://issues.apache.org/jira/browse/BEAM-9755
>             Project: Beam
>          Issue Type: Sub-task
>          Components: sdk-py-core
>            Reporter: yoshiki obata
>            Assignee: yoshiki obata
>            Priority: Major
>
> apache_beam.typehints.trivial_inference.infer_return_type does not return 
> type as expected in Python 3.8.
>  And this cause testDictComprehensionSimple 
> (apache_beam.typehints.trivial_inference_test.TrivialInferenceTest) FAIL.
>  - Python 3.7.7
> {code:python}
>  >> from apache_beam.typehints.trivial_inference import infer_return_type
>  >> infer_return_type(lambda _list: {'a': 1 for _ in _list}, [], debug=False, 
> depth=5)
>  Dict[str, int]{code}
>  - Python 3.8.2
> {code:python}
>  >> from apache_beam.typehints.trivial_inference import infer_return_type
>  >> infer_return_type(lambda _list: {'a': 1 for _ in _list}, [], debug=False, 
> depth=5)
>  Dict[int, str]{code}
>  
> CPython bytecode changes[1] may affect.
>  [1] https://docs.python.org/3/whatsnew/3.8.html



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to