dash-recipes
dash-recipes copied to clipboard
Use repr(transparent) for wrapper structs
repr(transparent) provides stronger guarantees that the struct will have the exact same representation as its only field. And Context didn't even have an explicit representation, not even repr(C)!!
Because of all the transmutation that this library does between wrapper types and the types that they wrap, those guarantees are quite important, don't you think? :)
Upon closer inspection it does look like Context does not need repr(transparent) since the library doesn't implement AsRef and such for it, but this is still a way to strengthen the safety of the wrapper types.