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.
repr(transparent)
provides stronger guarantees that the struct will have the exact same representation as its only field. AndContext
didn't even have an explicit representation, not evenrepr(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? :)