Hi @River707, I think I’m hitting the following todo in dialect conversion/type converter:
// FIXME(riverriddle) This should check that the result type and operand // type are the same, otherwise it should force a conversion to be // materialized.
I’ve got a variadic type that I am converting and it does the right thing if going from 1->0 or 1:N>1, but as the note above says, materializeConversion does not get called for N=1, and I do need to insert a cast in that case too. I spent a few minutes looking at how to resolve this FIXME but it wasn’t obvious (it seems like there is a lot of code written for various materializeConversion() calls that would be problematic if we started calling it for the 1:1 case). Do you have any insights?