joseph-isaacs opened a new issue, #6467:
URL: https://github.com/apache/arrow-rs/issues/6467

   **Describe the bug**
   <!--
   A clear and concise description of what the bug is.
   -->
   
   Two lists should be equal, irrespective of this field name, which is an 
implementation detail.
   In the arrow [C data interface 
spec](https://arrow.apache.org/docs/format/CDataInterface.html), the list data 
type format string is defined excluding names from list types, however arrow-rs 
defines a them as `List(FieldRef)` and defines equality structurally (using 
`derive(Eq)`)
   
   **To Reproduce**
   <!--
   Steps to reproduce the behavior:
   -->
   
   ```rust
   let s1 = Field::new_list_field(DataType::Int32, true);
   let s2 = Field::new("abc", DataType::Int32, true);
   assert_eq!(f1, f2);
   ```
   
   **Expected behavior**
   <!--
   A clear and concise description of what you expected to happen.
   -->
   
   I expect that these two schemas `s1` and `s2` should be equal see the C ABI 
schema 
[here](https://arrow.apache.org/docs/format/CDataInterface.html#examples), "A 
list<uint64> array has format string `+l`, and its single child has format 
string `L.`"
   
   **Additional context**
   <!--
   Add any other context about the problem here.
   -->
   
   This has caused a problem when writing a parquet file using pyarrow and 
reading it using arrow-rs


-- 
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