[ 
https://issues.apache.org/jira/browse/BEAM-12413?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Dmytro Kozhevin updated BEAM-12413:
-----------------------------------
    Description: 
Returning a slice of the tuple doesn't alter the type inference output. For 
example:
  
 {{{{@beam.typehints.with_output_types(Tuple[int, str])}}}}
{{ {{class Foo(beam.DoFn):}}}}
{{ {{  def process(self, a):}}}}
{{ {{    yield a, str(a)}}}}
{{ {{pcoll = beam.Pipeline() }}| beam.Create([1]) | beam.ParDo(Foo()) | 
beam.Map(lambda x: x[1:])}}}}
{{ {{print(pcoll.element_type)}}}}
  
 This prints Tuple[int, str], while the real type is str. At worst, this should 
return Any.

  was:
Returning a slice of the tuple doesn't alter the type inference output. For 
example:
  
 {{@beam.typehints.with_output_types(Tuple[int, str])}}
 {{class Foo(beam.DoFn):}}
 {{  def process(self, a):}}
 {{    yield a, str(a)}}
 {{pcoll = beam.Pipeline() }}| beam.Create([1]) | beam.ParDo(Foo()) | 
beam.Map(lambda x: x[1:])}}
 {{print(pcoll.element_type)}}
  
 This prints Tuple[int, str], while the real type is str. At worst, this should 
return Any.


> Type inference works incorrectly with tuple slices
> --------------------------------------------------
>
>                 Key: BEAM-12413
>                 URL: https://issues.apache.org/jira/browse/BEAM-12413
>             Project: Beam
>          Issue Type: Bug
>          Components: sdk-py-core
>            Reporter: Dmytro Kozhevin
>            Priority: P2
>
> Returning a slice of the tuple doesn't alter the type inference output. For 
> example:
>   
>  {{{{@beam.typehints.with_output_types(Tuple[int, str])}}}}
> {{ {{class Foo(beam.DoFn):}}}}
> {{ {{  def process(self, a):}}}}
> {{ {{    yield a, str(a)}}}}
> {{ {{pcoll = beam.Pipeline() }}| beam.Create([1]) | beam.ParDo(Foo()) | 
> beam.Map(lambda x: x[1:])}}}}
> {{ {{print(pcoll.element_type)}}}}
>   
>  This prints Tuple[int, str], while the real type is str. At worst, this 
> should return Any.



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

Reply via email to