| | 244 | === Allowed Casts === |
| | 245 | |
| | 246 | * `$int` -> `$real` |
| | 247 | * `$float32` -> `$real` |
| | 248 | * `$float64` -> `$real` |
| | 249 | * `T1*` -> `T2*`. How to check a cast is valid? What happens if it is not? If there are no exceptions, something must be returned. Perhaps undefined value. |
| | 250 | * this is OK if one is a pointer to element 0 of an array, and the other is a pointer to the array |
| | 251 | * if one is a pointer to the first member of a struct or union, and the other is a pointer to the struct or union |
| | 252 | * these rules can be applied recursively. This needs to be fleshed out. |
| | 253 | * others? |
| | 254 | |