Nobuyuki Iwanaga
Nobuyuki Iwanaga
~~ref T はデフォルトが scoped~~ だけど、Span (ref 構造体)はデフォルトが unscoped。 (ref T のデフォルトは return-only みたい。特殊。) ```cs ref struct RefSpan(Span target) { public Span Target = target; // Span (実質は参照)がメソッドの外に漏れる想定。 public void Reassign(Span...
ref T のコンストラクター引数は変。 ```cs ref struct A { public ref int X; // コンストラクター引数は Unscoped 扱い(特殊)。 // コンストラクターとその他のメソッドでそろってない。 public A(ref int x) => X = ref x; public void M([UnscopedRef]...
https://ufcpp.net/study/csharp/resource/refstruct/#escape-analysis
詳細覚えていませんが、たぶん、png/jpgじゃないとかじゃないかと思われます。だとしたら、直接の原因は同様かと。
予約語一覧は自分でも保守できてないこと把握してるので改善案助かる。
どこから保守されてないかも実はすでに不明… `with` とかもなさげ。
32ビット環境と64ビット環境差ですかね。おそらく。 おっしゃる通り Auto だと環境によって変わる可能性あります。32/64に限らず、バージョン変わってサイズが変わっても文句は言えないかと。 文面調整するかどうかは考えてみます。
ちょっと調査にお時間いただくかも…
```cs using System.Runtime.InteropServices; unsafe { var x = Marshal.StringToBSTR("あいうえお"); var p = (int*)(x - 4); Console.WriteLine(*p); } ``` これで10なので確かに…
https://github.com/ufcpp/UfcppSample/issues/297#issuecomment-792225924 init-only プロパティの項目に modreq については別途説明予定との記載あり。