Is it legal to have a slice of u8 that starts at, say, address
!0 - 0xff with a length of 512?
maybe no because one of the elements is at address 0, which it's not legal to have a reference to
what if you have a slice of structs that you happen to have aligned such that no field is at address 0?
not sure how to actually make such a struct because 0 is aligned for all alignments
no, address computation must not overflow
how strict is that?
is it invalid to create a fat raw pointer with a length that's too long?
or is it just for references
uh. no idea.^^
this is essnetially the question of whether raw fat ptr metadata must be valid, which is not decided
but even if you can have the raw ptr, you'd not be allowed to use it
mostly a question of whether I need to check validity before creating the pointer or whether I can do it after
I guess I'm creating the fat pointer by calling slice::from_raw_parts and then converting it to a pointer, which I suppose is always invalid
yeah then you have a reference (for a short time)