kennknowles opened a new issue, #18788:
URL: https://github.com/apache/beam/issues/18788

   We seem to use a FastPrimitivesCoder for List and Tuple typehints with 
homogenous element types, and fail to do the type checking:
   
   ```
   
   inputs = (1, "a string")
   coder = typecoders.registry.get_coder(typehints.Tuple[int, str])
   print(type(coder))
   # <class 'apache_beam.coders.coders.TupleCoder'>
   encoded = coder.encode(inputs) 
   # Fails: TypeError:
   an integer is required - correct behaviour
   
   coder = typecoders.registry.get_coder(typehints.Tuple[int,
   ...]) # A tuple of integers.
   print(type(coder)) # <class 'apache_beam.coders.coders.FastPrimitivesCoder'>
   - wrong coder?
   encoded = coder.encode(inputs)
   # No errors - incorrect behavior.
   
   coder = typecoders.registry.get_coder(typehints.List[int])
   # A list of integers.
   print(type(coder)) # <class 'apache_beam.coders.coders.FastPrimitivesCoder'>
   - wrong coder?
   encoded = coder.encode(inputs)
   # No errors - incorrect behavior.
   ```
   
   
   Imported from Jira 
[BEAM-4441](https://issues.apache.org/jira/browse/BEAM-4441). Original Jira may 
contain additional context.
   Reported by: tvalentyn.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to