dotnet / dotnet/vblang

Support Consuming C# 14 Extension Everything

Open
#638 0 comments 1 reaction 0 assignees View on GitHub
Dominant language
No language data
Stars
328
Forks
71
PR merge metrics
No merged PRs in 30d

Description

Consider the following situation, where Vector128 is as defined in .NET Core 3.1 without operators. In a polyfill library aimed at supporting downlevel maths on older .NET runtimes. Providing an implementation is an option, but only at the introductory feature level. Thus everything else must be extensions - including operators.

```
Imports System

Module Program
Sub Main(args As String())
Dim test As Vector128(of Double) = Vector128.Create(2.0, 3.0)

Dim r = Polyfill.Vector128Net70.op_Addition(test, test) 'Workaround
Dim res = test + test 'Compile error
End Sub
End Module
```

VB.NET beign able to recognise and consume properties and operators defined as C# 14 extensions would be most helpful.

Contributor guide

No contributing guide indexed for this repository

Research direction

Start with the VB.NET repro in Module Program and compare the direct operator expression with the Polyfill.Vector128Net70.op_Addition workaround. Done means VB.NET can consume the C# 14 extension properties and operators for the Vector128 example without the explicit workaround.

Written by the indexing model from the issue text.

Assessment

Tech stack
csharp, visualbasic
Domain
compilers
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.