Skip to content

Overload regression in .NET 10.0.301 SDK (as well as 11.x) #20059

Description

@Lanayx

Overload resolution is broken on newest .NET 10 and .NET 11 SDKs (regression)

Repro steps

  1. Go to https://github.com/Lanayx/Oxpecker repository
  2. Change global.json version to
{
  "sdk": {
    "version": "10.0.301"
  }
}
  1. Build dotnet build Oxpecker.Solid.slnx

Expected behavior

Build succeeds

Actual behavior

Build errors

  Oxpecker.Solid.Tests net10.0 failed with 7 error(s) (2.0s)
    C:\Work\Oxpecker\tests\Oxpecker.Solid.Tests\SolidCases\Children\Children.fs(19,9): error FS0041: No overloads match for method 'Yield'.Known type of argument: HtmlContainerFunAvailable overloads: - member HtmlContainer.Yield: element: #HtmlElement -> HtmlContainerFun // Argument 'element' doesn't match - member HtmlContainer.Yield: text: int -> HtmlContainerFun // Argument 'text' doesn't match - member HtmlContainer.Yield: text: string -> HtmlContainerFun // Argument 'text' doesn't match
    C:\Work\Oxpecker\tests\Oxpecker.Solid.Tests\SolidCases\Iterators\Iterators.fs(8,9): error FS0041: No overloads match for method 'Yield'.Known type of argument: HtmlContainerFunAvailable overloads: - member HtmlContainer.Yield: element: #HtmlElement -> HtmlContainerFun // Argument 'element' doesn't match - member HtmlContainer.Yield: text: int -> HtmlContainerFun // Argument 'text' doesn't match - member HtmlContainer.Yield: text: string -> HtmlContainerFun // Argument 'text' doesn't match
    C:\Work\Oxpecker\tests\Oxpecker.Solid.Tests\SolidCases\Iterators\Iterators.fs(14,9): error FS0041: No overloads match for method 'Yield'.Known type of argument: HtmlContainerFunAvailable overloads: - member HtmlContainer.Yield: element: #HtmlElement -> HtmlContainerFun // Argument 'element' doesn't match - member HtmlContainer.Yield: text: int -> HtmlContainerFun // Argument 'text' doesn't match - member HtmlContainer.Yield: text: string -> HtmlContainerFun // Argument 'text' doesn't match
    C:\Work\Oxpecker\tests\Oxpecker.Solid.Tests\SolidCases\Conditional\Conditional.fs(14,9): error FS0041: No overloads match for method 'Yield'.Known type of argument: HtmlContainerFunAvailable overloads: - member HtmlContainer.Yield: element: #HtmlElement -> HtmlContainerFun // Argument 'element' doesn't match - member HtmlContainer.Yield: text: int -> HtmlContainerFun // Argument 'text' doesn't match - member HtmlContainer.Yield: text: string -> HtmlContainerFun // Argument 'text' doesn't match
    C:\Work\Oxpecker\tests\Oxpecker.Solid.Tests\SolidCases\Suspense\Suspense.fs(15,17): error FS0041: No overloads match for method 'Yield'.Known type of argument: HtmlContainerFunAvailable overloads: - member HtmlContainer.Yield: element: #HtmlElement -> HtmlContainerFun // Argument 'element' doesn't match - member HtmlContainer.Yield: text: int -> HtmlContainerFun // Argument 'text' doesn't match - member HtmlContainer.Yield: text: string -> HtmlContainerFun // Argument 'text' doesn't match
    C:\Work\Oxpecker\tests\Oxpecker.Solid.Tests\SolidCases\Suspense\Suspense.fs(22,17): error FS0041: No overloads match for method 'Yield'.Known type of argument: HtmlContainerFunAvailable overloads: - member HtmlContainer.Yield: element: #HtmlElement -> HtmlContainerFun // Argument 'element' doesn't match - member HtmlContainer.Yield: text: int -> HtmlContainerFun // Argument 'text' doesn't match - member HtmlContainer.Yield: text: string -> HtmlContainerFun // Argument 'text' doesn't match
    C:\Work\Oxpecker\tests\Oxpecker.Solid.Tests\SolidCases\Router\Router.fs(27,9): error FS0041: No overloads match for method 'Yield'.Known type of argument: HtmlContainerFunAvailable overloads: - member Router.Yield: value: RootConfig array -> HtmlContainerFun // Argument 'value' doesn't match - member Router.Yield: value: Route -> HtmlContainerFun // Argument 'value' doesn't match
  TodoList net10.0 failed with 4 error(s) (2.2s)
    C:\Work\Oxpecker\examples\TodoList\src\Components\TodoList.fs(77,13): error FS0041: No overloads match for method 'Yield'.Known type of argument: HtmlContainerFunAvailable overloads: - member HtmlContainer.Yield: element: #HtmlElement -> HtmlContainerFun // Argument 'element' doesn't match - member HtmlContainer.Yield: text: int -> HtmlContainerFun // Argument 'text' doesn't match - member HtmlContainer.Yield: text: string -> HtmlContainerFun // Argument 'text' doesn't match
    C:\Work\Oxpecker\examples\TodoList\src\Components\TodoList.fs(159,13): error FS0041: No overloads match for method 'Yield'.Known type of argument: HtmlContainerFunAvailable overloads: - member HtmlContainer.Yield: element: #HtmlElement -> HtmlContainerFun // Argument 'element' doesn't match - member HtmlContainer.Yield: text: int -> HtmlContainerFun // Argument 'text' doesn't match - member HtmlContainer.Yield: text: string -> HtmlContainerFun // Argument 'text' doesn't match
    C:\Work\Oxpecker\examples\TodoList\src\Program.fs(24,9): error FS0001: The type ''a -> unit' is not compatible with the type 'HtmlElement'
    C:\Work\Oxpecker\examples\TodoList\src\Program.fs(24,1): error FS0001: The type ''a -> unit' is not compatible with the type 'HtmlElement'
  Frontend net10.0 failed with 5 error(s) (2.3s)
    C:\Work\Oxpecker\examples\CRUD\Frontend\src\Components\CreateOrderButton.fs(70,25): error FS0041: No overloads match for method 'Yield'.Known type of argument: HtmlContainerFunAvailable overloads: - member HtmlContainer.Yield: element: #HtmlElement -> HtmlContainerFun // Argument 'element' doesn't match - member HtmlContainer.Yield: text: int -> HtmlContainerFun // Argument 'text' doesn't match - member HtmlContainer.Yield: text: string -> HtmlContainerFun // Argument 'text' doesn't match
    C:\Work\Oxpecker\examples\CRUD\Frontend\src\Components\CreateOrderButton.fs(81,33): error FS0041: No overloads match for method 'Yield'.Known type of argument: HtmlContainerFunAvailable overloads: - member HtmlContainer.Yield: element: #HtmlElement -> HtmlContainerFun // Argument 'element' doesn't match - member HtmlContainer.Yield: text: int -> HtmlContainerFun // Argument 'text' doesn't match - member HtmlContainer.Yield: text: string -> HtmlContainerFun // Argument 'text' doesn't match
    C:\Work\Oxpecker\examples\CRUD\Frontend\src\Components\CreateOrderButton.fs(59,9): error FS0041: No overloads match for method 'Yield'.Known type of argument: HtmlContainerFunAvailable overloads: - member HtmlContainer.Yield: element: #HtmlElement -> HtmlContainerFun // Argument 'element' doesn't match - member HtmlContainer.Yield: text: int -> HtmlContainerFun // Argument 'text' doesn't match - member HtmlContainer.Yield: text: string -> HtmlContainerFun // Argument 'text' doesn't match
    C:\Work\Oxpecker\examples\CRUD\Frontend\src\Components\Orders.fs(12,9): error FS0041: No overloads match for method 'Yield'.Known type of argument: HtmlContainerFunAvailable overloads: - member HtmlContainer.Yield: element: #HtmlElement -> HtmlContainerFun // Argument 'element' doesn't match - member HtmlContainer.Yield: text: int -> HtmlContainerFun // Argument 'text' doesn't match - member HtmlContainer.Yield: text: string -> HtmlContainerFun // Argument 'text' doesn't match
    C:\Work\Oxpecker\examples\CRUD\Frontend\src\Components\Orders.fs(37,17): error FS0041: No overloads match for method 'Yield'.Known type of argument: HtmlContainerFunAvailable overloads: - member HtmlContainer.Yield: element: #HtmlElement -> HtmlContainerFun // Argument 'element' doesn't match - member HtmlContainer.Yield: text: int -> HtmlContainerFun // Argument 'text' doesn't match - member HtmlContainer.Yield: text: string -> HtmlContainerFun // Argument 'text' doesn't match
  EmptySolid net10.0 succeeded (2.3s) → examples\EmptySolid\bin\Debug\net10.0\EmptySolid.dll

Build failed with 16 error(s) in 8.4s

Build also fails on CI

Known workarounds

Downgrade .NET SDK to 10.0.204

Related information

Provide any related information (optional):

  • Windows 11

Metadata

Metadata

Assignees

No one assigned

    Type

    Fields

    No fields configured for Bug.

    Projects

    Status
    New

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions