ufcpp-live / UfcppLiveAgenda

@ufcpp live streaming agenda
MIT License
24 stars 2 forks source link

.NET 9 Preview 4 / Visual Studio 17.11 Preview 1 #90

Open ufcpp opened 1 month ago

ufcpp commented 1 month ago

配信URL: https://www.youtube.com/live/257ykv6c0R0

Build のタイミングだったせいか、AI 押し…

C# は更新なしというか、「ref がらみ Preview 2 に入るよ」情報が事前に出てた。 https://x.com/jcouv/status/1790855727139180869 「p1 もまだなのに p2 か…」みたいなことに。

Task.WhenAll とか、ReadOnlySpan なオーバーロードが増えてるものの、params はまだついてない。 というか、Source Link 見てみたら /* params */ だった。

おまけ https://x.com/ufcpp/status/1793594655151722951 C# にも「コンパイル時間無駄に伸びそう」系のメッセージが出るように。

int[][] values = [[1,2], [3,4]];
var sum = values.Sum(x => x.Sum(x => x));

IFloatingPoint って今までなかったんだ。 (今まであったのは IFloatingPointIeee754)

ufcpp commented 1 month ago

Build では params collections と extensions?

ufcpp-live commented 1 month ago

↓にもメッセージ出る

引数と {0} とかの数が合わない。

string.Format("", 1, "a", DateTime.Now, 1.22);
ufcpp-live commented 1 month ago
partial class A
{
    public partial int P { get; } // 宣言
}

partial class A
{
    public partial int P { get => field; } // 実装(auto)
}

↑これ、abstract でも同じ問題が…

abstract class B
{
    public abstract int P { get; } // 宣言
}

class C : B
{
    public override int P { get; } // これは自動実装になっちゃう…
}
ufcpp-live commented 1 month ago
partial class A
{
    // field キーワードを認めることで、partial プロパティに乗り気に
    public partial int P { get => field; } // 実装(auto)
}

public class A
{
    // partial プロパティ実装するんなら partial の順序自由にしたい
    partial public int P { get; } // 宣言

    // そしたら、既存のメソッドについても partial の順序自由にしたい
    partial public int M();
}

// だったら ref struct も
partial ref public struct S;

// ぴたーごらーす・・・・
ufcpp-live commented 1 month ago
class Base
{
    private protected virtual void M() { }
}

class A : Base
{
    // protected private って間に挟まれたんだ…
    protected override private sealed void M() { }
}
ufcpp-live commented 1 month ago

IList が IReadOnlyList 派生になる話は、いったん revert されちゃった runtime 101644

C++/CLI 問題らしい… WPF で困ったらしい…