
[Swift深掘り #8] ~Copyableと所有権、コピー禁止の型
ファイルハンドルやロックのように一つでこそ意味を持つリソースは、コピーすべきではありません。Swift 5.9の~Copyableでコピー禁止を型に刻む方法と、borrowing・consuming・inoutの3つの受け渡し方、使いどころを整理します。
記事を読むARCHIVE · 02
基礎概念から実務の判断基準まで、順にご覧ください。

ファイルハンドルやロックのように一つでこそ意味を持つリソースは、コピーすべきではありません。Swift 5.9の~Copyableでコピー禁止を型に刻む方法と、borrowing・consuming・inoutの3つの受け渡し方、使いどころを整理します。
記事を読む
Swift 5.9のマクロは、コンパイラに組み込まれるコード生成プラグインです。構文木を受け取ってコードを返す仕組み、freestanding(#)とattached(@)の2種類、自作時のコストをまとめます。
記事を読む
structのサイズはプロパティサイズの単純な合計ではありません。size・stride・alignment、パディング、extra inhabitantを利用するOptional、64ビットのexistential containerを実測します。
記事を読む
層をきれいに分けているのに、フィールドを1つ追加するだけで7ファイルを修正しなければならないコードがラザニアコードです。層が増える理由とコストが発生する箇所、層が必要な場合と取り除き方をまとめます。
記事を読む
Claude Codeの権限はallow・ask・denyルールと、denyを優先する評価順で動作します。/permissionsの使い方、Bashのワイルドカード構文、Shift+Tabによるモード切り替え、設定ファイルの優先順位まで整理します。
記事を読む