UfcppSample icon indicating copy to clipboard operation
UfcppSample copied to clipboard

C# 13

Open ufcpp opened this issue 1 year ago • 6 comments
trafficstars

  • [x] #466
  • [x] #465
  • [x] #473
  • [x] #474
  • [x] #463
  • [ ] #456
  • [x] #478
  • [x] コレクション式
    • 拡張メソッドの Add も見る
    • オーバーロード解決の改善

微々たるやつ

  • [x] #464
  • [x] #470
  • [x] #469

プレビューとして動いてはいる(正式に入るのは14)

  • [ ] #467
  • [x] #468

入らなかった

  • [ ] #471
  • [ ] partial キーワードの順序緩和

ufcpp avatar May 29 '24 14:05 ufcpp

コレクション式に多少破壊的変更が入ってるのは書く?

https://github.com/ufcpp-live/UfcppLiveAgenda/issues/89#issuecomment-2047602991

roslyn 73256

ufcpp avatar May 29 '24 15:05 ufcpp

memo: ↓これ緩和されるんだっけ?

using System.Collections;
using System.Runtime.CompilerServices;

A a = [1];

[CollectionBuilder(typeof(A), nameof(Create))]
class A
{
    // Builder の方はいまだ、この GetEnumerator がないとダメ。
    public IEnumerator GetEnumerator() => throw new NotImplementedException();
    public static A Create(ReadOnlySpan<object> x) => new();
}

A. 緩和されてない

ufcpp avatar May 29 '24 15:05 ufcpp

コレクション式、改善もある

https://github.com/ufcpp-live/UfcppLiveAgenda/issues/89#issuecomment-2053653416

ufcpp avatar May 29 '24 15:05 ufcpp

https://ufcpp.net/blog/2024/2/overload-resolution-priority/ は入るのかどうか。 Language Feature Status には並んでないけど、「これは language feature じゃなくて compiler feature だから」という可能性あり。

ちなみに、これの優先度付けは「同じ型で定義されているメソッド間のみ」とのこと。 インスタンスメソッドを拡張メソッドで優先度乗っ取りできないし、 2つのクラスに分かれた拡張メソッド群は、それぞれのクラスで優先度並べ替えたあと、それぞれの最優先メソッドを比較してオーバーロード解決。

ufcpp avatar May 29 '24 15:05 ufcpp

そういや、C# 12 のときの ExperimentalAttribute 話とかも書いてない。 これは Language Feature Status に並んでる。

ufcpp avatar May 29 '24 15:05 ufcpp

https://github.com/dotnet/csharplang/blob/f7700ff9fe7729dc865a77fd911b520cd35d36f5/proposals/csharp-13.0/collection-expressions-better-conversion.md

これも C# 13 で入れるっぽい。 VS 17.12p3 に merge されてるらしい。

コレクション式のオーバーロード解決時に、

C.M([1, 2, 3]);

class C
{
    public static void M(List<int> _) { }
    public static void M(List<byte> _) { }
}

みたいな要素の型(整数リテラルは int にも byte にも変換される)の時のオーバーロード解決が C# 12 だとできなかったのを改善するという話。

ufcpp avatar Sep 14 '24 00:09 ufcpp

書いてないの interceptor だけだしこれはもう閉じちゃうかな。

ufcpp avatar Jul 06 '25 01:07 ufcpp