Sema: improved C pointers and casting

* C pointer types always have allowzero set to true but they omit the
   word allowzero when printed.
 * Implement coercion from C pointers to other pointers.
 * Implement in-memory coercion for slices and pointer-like optionals.
 * Make slicing a C pointer drop the allowzero bit.
 * Value representation for pointer-like optionals is now allowed to use
   pointer tag values in addition to the `opt_payload` tag.
c6b3d06535Andrew Kelley committed on 10/26/2021, 8:46:27 PMparent6df26a3
6 files changedLine totals unavailable