Nobuyuki Iwanaga

Results 56 issues of Nobuyuki Iwanaga
trafficstars

https://ufcpp.net/study/csharp/resource/refstruct/ に追記。 https://ufcpp.net/blog/2024/2/ref-struct-interface/ をベースに。 ページ改めてもいいかも。 済: allows (アンチ制約)の話だけ↓に追加でもいいかも。 https://ufcpp.net/study/csharp/sp2_generics.html#where

C# 13.0

* [x] #466 * [x] #465 * [x] #473 * [x] #474 * [x] #463 * [ ] #456 * [x] #478 * [x] コレクション式 * 拡張メソッドの Add も見る *...

C# 13.0

書くのは https://ufcpp.net/study/csharp/oo_class.html#contextual-partial-keyword か https://ufcpp.net/study/csharp/oo_class.html#extended_partial_method の直後かな。 ```cs partial class A { public partial int X { get; } } partial class A { public partial int X => 0; } ```...

関連しそうな場所: * https://ufcpp.net/study/csharp/sp_unsafe.html * https://ufcpp.net/study/csharp/sp_ref.html?p=2#ref-returns * https://ufcpp.net/study/csharp/resource/refstruct/#stack-only * 「yield return をまたいで使えない」記述あり * https://ufcpp.net/study/csharp/sp2_iterator.html * 「unsafe にはできない」記述あり * https://ufcpp.net/study/csharp/sp5_async.html * 「unsafe 中に await 書けない」「lock 中に awai 書けない」記述あり 関連: * https://ufcpp.net/study/csharp/sp_unsafe.html#stackalloc-initializer *...

csharplang 8697 https://github.com/dotnet/csharplang/blob/main/proposals/csharp-14.0/extensions.md 配信で取り上げた回 https://github.com/ufcpp-live/UfcppLiveAgenda/issues/102 たぶん、C# 14 だと「プロパティの追加」と「静的メンバーの追加」だけかな。 メソッドも「新文法」に。 ↑ その後、拡張 operator は入った。 コンストラクターとかは C# 15 に回ったとのこと。 ExtensionMarkerAttribute とかあるみたいなんだけどどう使ってるのか調べる。 ## 過去 https://ufcpp.net/blog/2024/3/extensions/ (この時代の実装は「やってみたけどダメだった」撤回)

C# 14

https://ufcpp.net/study/csharp/sp_params.html に追記。 https://ufcpp.net/blog/2024/3/params-collections/ ベース。

C# 13.0

https://ufcpp.net/blog/2024/2/first-class-span/ Span のところに書く? 「配列を渡すときのオーバーロード候補が変わる」とかだと配列近辺にある方がいい気もしつつ。 コレクション式とも絡むような気がしつつ。

https://ufcpp.net/study/csharp/oo_property.html#auto 近辺に。 ## 用語「自動プロパティ」 元々は「半自動プロパティ」って呼ばれてたけども、 最終的には「自動プロパティ」で統一したっぽい? `field` キーワードでバッキングフィールドができる。 `get;` は `get => field;` の省略形で、 `set;` は `set => field = value;` の省略形。 ↑これを全部「自動プロパティ」呼び。 ## キーワード `field` と `value` はキーワード扱いになった。 けど、`nameof(value)`...

**Version Used**: VS 17.12.0 Preview 1.0 C# Tools 4.12.0-1.24379.11+cf82d399c36008e7936d545cde24141f8d3790fa **Steps to Reproduce**: ```cs static async Task M1() { // CS8344. foreach (var r in new E1()) ; await Task.Yield(); //...

Area-Compilers
4 - In Review
New Feature - Ref/Unsafe in Iterators/Async

そういや、 https://ufcpp.net/study/csharp/resource/refstruct/ のとこに「ref 構造体の ref はできない」話ない? できない理由: https://ufcpp.net/study/csharp/resource/refstruct/#escape-analysis ができないみたい。 csharplang discussions 9152 ただ、ほんとにまずいのは「書き換え可能な ref to ref struct」らしい。 それをできるようにするには上記リンクで書いてるのでいう「(C# では採用しなかったため)仮定的なコード」みたいな明示的な伝搬先の指定が必要で、よっぽどの需要がないと実装するコストが見合わない。 それに対して ref readonly to ref struct なら既存の「scoped」のルールだけでも安全だろうから、もしかしたら .NET 11 くらいのタイミングで実装するかもとのこと。