mastodon.cardina1.red は、数々の独立したMastodonサーバーのうちのひとつです。サーバーに登録してFediverseのコミュニティに加わってみませんか。

サーバーの情報

3
人のアクティブユーザー

まずいなあ。自分もRocketに実質的にtransmuteを含むコミットを投げてしまっているのだが……
Add conversion methods for `Box<UncasedStr>` by dmizuk · Pull Request #373 · SergioBenitez/Rocket
github.com/SergioBenitez/Rocke

github.comAdd conversion methods for `Box<UncasedStr>` by dmizuk · Pull Request #373 · SergioBenitez/RocketBox<UncasedStr> is more memory-efficient than owned Uncased, so it is useful to have a way to convert between them.

あれ、仮にnewtypeと元の型のメモリレイアウトが違うとすれば、その時は型のサイズが異なるはず(本当か?)だからtransmuteはエラーになるような気がしてきたぞ……うーん

らりお・ザ・何らかの🈗然㊌ソムリエ

@dmiz たとえば &[T] について (usize, *const T) と (*const T, usize) がありうるし、内部表現の違いとはそういうことなのだろうと解釈しました。
そもそも str や [T] そのものは unsized でサイズは取れないので……

@lo48576 ああ、てっきりstruct内の個々のメンバの型についてはメモリレイアウトが勝手に変わることがないと解釈していましたが、よく考えるとそれもはっきりとは保証されていないですね……