@@ -1559,6 +1559,84 @@ private static T GenericFunctionWithCastThatExistsInCsharp<T>() where T : TestGe
15591559 }
15601560
15611561 [ Fact ]
1562+ public async Task TestInferringImplicitGenericTypesAsync ( )
1563+ {
1564+ await TestConversionVisualBasicToCSharpAsync ( @"
1565+ Imports System
1566+ Imports System.Linq
1567+
1568+ Public Class TestClass
1569+ Public Sub GenerateFromConstants
1570+ Dim floatArr = Enumerable.Repeat(1.0F, 5).ToArray()
1571+ Dim doubleArr = Enumerable.Repeat(2.0, 5).ToArray()
1572+ Dim decimalArr = Enumerable.Repeat(3.0D, 5).ToArray()
1573+ Dim boolArr = Enumerable.Repeat(true, 5).ToArray()
1574+ Dim intArr = Enumerable.Repeat(1, 5).ToArray()
1575+ Dim uintArr = Enumerable.Repeat(1ui, 5).ToArray()
1576+ Dim longArr = Enumerable.Repeat(1l, 5).ToArray()
1577+ Dim ulongArr = Enumerable.Repeat(1ul, 5).ToArray()
1578+ Dim charArr = Enumerable.Repeat(""a""c, 5).ToArray()
1579+ Dim strArr = Enumerable.Repeat(""a"", 5).ToArray()
1580+ Dim objArr = Enumerable.Repeat(new object(), 5).ToArray()
1581+ End Sub
1582+
1583+ Public Sub GenerateFromCasts
1584+ Dim floatArr = Enumerable.Repeat(CSng(1), 5).ToArray()
1585+ Dim doubleArr = Enumerable.Repeat(CDbl(2), 5).ToArray()
1586+ Dim decimalArr = Enumerable.Repeat(CDec(3), 5).ToArray()
1587+ Dim boolArr = Enumerable.Repeat(CBool(1), 5).ToArray()
1588+ Dim intArr = Enumerable.Repeat(CInt(1.0), 5).ToArray()
1589+ Dim uintArr = Enumerable.Repeat(CUInt(1.0), 5).ToArray()
1590+ Dim longArr = Enumerable.Repeat(CLng(1.0), 5).ToArray()
1591+ Dim ulongArr = Enumerable.Repeat(CULng(1.0), 5).ToArray()
1592+ Dim charArr = Enumerable.Repeat(CChar(""a""), 5).ToArray()
1593+ Dim strArr = Enumerable.Repeat(CStr(""a""c), 5).ToArray()
1594+ Dim objArr1 = Enumerable.Repeat(CObj(""a""), 5).ToArray()
1595+ Dim objArr2 = Enumerable.Repeat(CType(""a"", object), 5).ToArray()
1596+ End Sub
1597+ End Class
1598+ " , @"
1599+ using System;
1600+ using System.Linq;
1601+ using Microsoft.VisualBasic.CompilerServices; // Install-Package Microsoft.VisualBasic
1602+
1603+ public partial class TestClass
1604+ {
1605+ public void GenerateFromConstants()
1606+ {
1607+ float[] floatArr = Enumerable.Repeat(1.0f, 5).ToArray();
1608+ double[] doubleArr = Enumerable.Repeat(2.0d, 5).ToArray();
1609+ decimal[] decimalArr = Enumerable.Repeat(3.0m, 5).ToArray();
1610+ bool[] boolArr = Enumerable.Repeat(true, 5).ToArray();
1611+ int[] intArr = Enumerable.Repeat(1, 5).ToArray();
1612+ uint[] uintArr = Enumerable.Repeat(1U, 5).ToArray();
1613+ long[] longArr = Enumerable.Repeat(1L, 5).ToArray();
1614+ ulong[] ulongArr = Enumerable.Repeat(1UL, 5).ToArray();
1615+ char[] charArr = Enumerable.Repeat('a', 5).ToArray();
1616+ string[] strArr = Enumerable.Repeat(""a"", 5).ToArray();
1617+ object[] objArr = Enumerable.Repeat(new object(), 5).ToArray();
1618+ }
1619+
1620+ public void GenerateFromCasts()
1621+ {
1622+ float[] floatArr = Enumerable.Repeat(1f, 5).ToArray();
1623+ double[] doubleArr = Enumerable.Repeat(2d, 5).ToArray();
1624+ decimal[] decimalArr = Enumerable.Repeat(3m, 5).ToArray();
1625+ bool[] boolArr = Enumerable.Repeat(Conversions.ToBoolean(1), 5).ToArray();
1626+ int[] intArr = Enumerable.Repeat((int)Math.Round(1.0d), 5).ToArray();
1627+ uint[] uintArr = Enumerable.Repeat((uint)Math.Round(1.0d), 5).ToArray();
1628+ long[] longArr = Enumerable.Repeat((long)Math.Round(1.0d), 5).ToArray();
1629+ ulong[] ulongArr = Enumerable.Repeat((ulong)Math.Round(1.0d), 5).ToArray();
1630+ char[] charArr = Enumerable.Repeat('a', 5).ToArray();
1631+ string[] strArr = Enumerable.Repeat(""a"", 5).ToArray();
1632+ object[] objArr1 = Enumerable.Repeat((object)""a"", 5).ToArray();
1633+ object[] objArr2 = Enumerable.Repeat((object)""a"", 5).ToArray();
1634+ }
1635+ }" ) ;
1636+ }
1637+
1638+
1639+ [ Fact ]
15621640 public async Task TestCTypeStringToEnumAsync ( )
15631641 {
15641642 await TestConversionVisualBasicToCSharpAsync (
0 commit comments