`float4(float3 &)` is currently problematic because of implicit conversions to and from `float *`. Writing the constructor explicitly fixes the problem. Also add const to the arguments. Pull Request: https://projects.blender.org/blender/blender/pulls/131828