Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[main] Update dependencies from dotnet/roslyn-analyzers #96763

Merged
merged 19 commits into from
Jan 22, 2024
Merged
Show file tree
Hide file tree
Changes from 13 commits
Commits
Show all changes
19 commits
Select commit Hold shift + click to select a range
d526fc1
Update dependencies from https:/dotnet/roslyn-analyzers b…
dotnet-maestro[bot] Jan 10, 2024
e072eeb
Update dependencies from https:/dotnet/roslyn-analyzers b…
dotnet-maestro[bot] Jan 11, 2024
675d2a0
Update dependencies from https:/dotnet/roslyn-analyzers b…
dotnet-maestro[bot] Jan 12, 2024
5af03a9
Update dependencies from https:/dotnet/roslyn-analyzers b…
dotnet-maestro[bot] Jan 13, 2024
ef4eae6
Update dependencies from https:/dotnet/roslyn-analyzers b…
dotnet-maestro[bot] Jan 14, 2024
8dcd7b6
Update dependencies from https:/dotnet/roslyn-analyzers b…
dotnet-maestro[bot] Jan 15, 2024
e348568
Update dependencies from https:/dotnet/roslyn-analyzers b…
dotnet-maestro[bot] Jan 16, 2024
b6934b1
Update dependencies from https:/dotnet/roslyn-analyzers b…
dotnet-maestro[bot] Jan 17, 2024
e8cb2fc
Update dependencies from https:/dotnet/roslyn-analyzers b…
dotnet-maestro[bot] Jan 18, 2024
028da21
Fix new CA1859 analyzer warnings
akoeplinger Jan 18, 2024
b3fd46e
Fix more CA1859
akoeplinger Jan 19, 2024
a484f09
don't use var
akoeplinger Jan 19, 2024
13151a7
Revert CA1869 changes in ILCompiler.Compiler, ILCompiler.TypeSystem p…
akoeplinger Jan 19, 2024
17a0cdb
Remove pragma disable in ConfigurationElement
akoeplinger Jan 19, 2024
149bf53
Fix more warnings
akoeplinger Jan 19, 2024
f88b624
Fix build
akoeplinger Jan 19, 2024
d8ceaac
Update dependencies from https:/dotnet/roslyn-analyzers b…
dotnet-maestro[bot] Jan 19, 2024
c58c6fa
Update dependencies from https:/dotnet/roslyn-analyzers b…
dotnet-maestro[bot] Jan 20, 2024
0462aee
Update dependencies from https:/dotnet/roslyn-analyzers b…
dotnet-maestro[bot] Jan 21, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 4 additions & 4 deletions eng/Version.Details.xml
Original file line number Diff line number Diff line change
Expand Up @@ -374,13 +374,13 @@
<Uri>https:/dotnet/roslyn</Uri>
<Sha>ebb588725e707db23d8723b633258e7eb918277b</Sha>
</Dependency>
<Dependency Name="Microsoft.CodeAnalysis.Analyzers" Version="3.11.0-beta1.24052.1">
<Dependency Name="Microsoft.CodeAnalysis.Analyzers" Version="3.11.0-beta1.24067.1">
<Uri>https:/dotnet/roslyn-analyzers</Uri>
<Sha>8a92037d28baf58560622cb4685ecefdc828c2c8</Sha>
<Sha>23ec029b47d68b1a80348c0dabc3bccf013c1fe6</Sha>
</Dependency>
<Dependency Name="Microsoft.CodeAnalysis.NetAnalyzers" Version="9.0.0-preview.24052.1">
<Dependency Name="Microsoft.CodeAnalysis.NetAnalyzers" Version="9.0.0-preview.24067.1">
<Uri>https:/dotnet/roslyn-analyzers</Uri>
<Sha>8a92037d28baf58560622cb4685ecefdc828c2c8</Sha>
<Sha>23ec029b47d68b1a80348c0dabc3bccf013c1fe6</Sha>
</Dependency>
<Dependency Name="Microsoft.DotNet.ApiCompat.Task" Version="9.0.100-alpha.1.23551.3">
<Uri>https:/dotnet/sdk</Uri>
Expand Down
4 changes: 2 additions & 2 deletions eng/Versions.props
Original file line number Diff line number Diff line change
Expand Up @@ -31,8 +31,8 @@
</ItemGroup>
<PropertyGroup>
<!-- dotnet/roslyn-analyzers dependencies -->
<MicrosoftCodeAnalysisAnalyzersVersion>3.11.0-beta1.24052.1</MicrosoftCodeAnalysisAnalyzersVersion>
<MicrosoftCodeAnalysisNetAnalyzersVersion>9.0.0-preview.24052.1</MicrosoftCodeAnalysisNetAnalyzersVersion>
<MicrosoftCodeAnalysisAnalyzersVersion>3.11.0-beta1.24067.1</MicrosoftCodeAnalysisAnalyzersVersion>
<MicrosoftCodeAnalysisNetAnalyzersVersion>9.0.0-preview.24067.1</MicrosoftCodeAnalysisNetAnalyzersVersion>
<!-- dotnet/roslyn dependencies -->
<!--
These versions should not be used by any project that contributes to the design-time experience in VS, such as an analyzer, code-fix, or generator assembly.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -522,7 +522,9 @@ private static Type CustomAttributeEncodingToType(CustomAttributeEncoding encode
};
}

#pragma warning disable CA1859
private static object EncodedValueToRawValue(long val, CustomAttributeEncoding encodedType)
#pragma warning restore
{
switch (encodedType)
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -63,7 +63,7 @@ public override Instantiation Instantiation
}
}

private TypeDesc _owningType;
private DefType _owningType;
public override TypeDesc OwningType
{
get
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -123,8 +123,8 @@ private static Stack<StackSlot> MergeStack(Stack<StackSlot> a, Stack<StackSlot>
}

Stack<StackSlot> newStack = new Stack<StackSlot>(a.Count);
IEnumerator<StackSlot> aEnum = a.GetEnumerator();
IEnumerator<StackSlot> bEnum = b.GetEnumerator();
Stack<StackSlot>.Enumerator aEnum = a.GetEnumerator();
Stack<StackSlot>.Enumerator bEnum = b.GetEnumerator();
while (aEnum.MoveNext() && bEnum.MoveNext())
{
newStack.Push(MergeStackElement(aEnum.Current, bEnum.Current));
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@
<Configurations>Debug;Release;Checked</Configurations>

<NoWarn Condition="'$(DotNetBuildFromSource)' == 'true'">$(NoWarn);CS8524</NoWarn>
<NoWarn>$(NoWarn);CA1859</NoWarn>
</PropertyGroup>

<ItemGroup>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -823,7 +823,7 @@ private InfoAccessType constructStringLiteral(CORINFO_MODULE_STRUCT_* module, md
{
MethodIL methodIL = (MethodIL)HandleToObject((void*)module);

ISymbolNode stringObject;
FrozenStringNode stringObject;
if (metaTok == (mdToken)CorConstants.CorTokenType.mdtString)
{
stringObject = _compilation.NodeFactory.SerializedStringObject("");
Expand Down Expand Up @@ -1776,7 +1776,7 @@ private void embedGenericHandle(ref CORINFO_RESOLVED_TOKEN pResolvedToken, bool
private CORINFO_METHOD_STRUCT_* embedMethodHandle(CORINFO_METHOD_STRUCT_* handle, ref void* ppIndirection)
{
MethodDesc method = HandleToObject(handle);
ISymbolNode methodHandleSymbol = _compilation.NodeFactory.RuntimeMethodHandle(method);
RuntimeMethodHandleNode methodHandleSymbol = _compilation.NodeFactory.RuntimeMethodHandle(method);
CORINFO_METHOD_STRUCT_* result = (CORINFO_METHOD_STRUCT_*)ObjectToHandle(methodHandleSymbol);

if (methodHandleSymbol.RepresentsIndirectionCell)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@
<GenerateDependencyFile>false</GenerateDependencyFile>
<Configurations>Debug;Release;Checked</Configurations>
<IsTrimmable>true</IsTrimmable>
<NoWarn>$(NoWarn);CA1859</NoWarn>
</PropertyGroup>

<ItemGroup Label="Embedded Resources">
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -91,7 +91,7 @@ private bool ShouldCompress(FileType type)
/// startOffset: offset of the start 'file' within 'bundle'
/// compressedSize: size of the compressed data, if entry was compressed, otherwise 0
/// </returns>
private (long startOffset, long compressedSize) AddToBundle(Stream bundle, Stream file, FileType type)
private (long startOffset, long compressedSize) AddToBundle(Stream bundle, FileStream file, FileType type)
{
long startOffset = bundle.Position;
if (ShouldCompress(type))
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -654,7 +654,7 @@ private bool IsBaseOrIdentity(ITypeSymbol source, ITypeSymbol dest)
/// Finds the template arguments contained in the message string.
/// </summary>
/// <returns>A value indicating whether the extraction was successful.</returns>
private static bool ExtractTemplates(string? message, IDictionary<string, string> templateMap, List<string> templateList)
private static bool ExtractTemplates(string? message, Dictionary<string, string> templateMap, List<string> templateList)
{
if (string.IsNullOrEmpty(message))
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ namespace System.CodeDom.Compiler
{
public class CodeGeneratorOptions
{
private readonly IDictionary _options = new ListDictionary();
private readonly ListDictionary _options = new ListDictionary();

public CodeGeneratorOptions() { }

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -175,7 +175,9 @@ private sealed class FallbackWrapper<T> : IOrderedCollection<T>
/// <summary>
/// The list-ified sequence.
/// </summary>
#pragma warning disable CA1859
private IList<T>? _collection;
#pragma warning restore

/// <summary>
/// Initializes a new instance of the <see cref="FallbackWrapper{T}"/> class.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ public class PropertyDescriptorCollection : ICollection, IList, IDictionary
/// </summary>
public static readonly PropertyDescriptorCollection Empty = new PropertyDescriptorCollection(null, true);

private IDictionary? _cachedFoundProperties;
private Hashtable? _cachedFoundProperties;
private bool _cachedIgnoreCase;
private PropertyDescriptor[] _properties;
private readonly string[]? _namedSort;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -84,7 +84,7 @@ private static void DeclareSection(Configuration config, string sectionName)

internal static IDictionary ReadSettings(string sectionName, bool isUserScoped)
{
IDictionary settings = new Hashtable();
Hashtable settings = new Hashtable();

if (isUserScoped && !ConfigurationManagerInternalFactory.Instance.SupportsUserConfig)
{
Expand All @@ -108,7 +108,7 @@ internal static IDictionary ReadSettings(string sectionName, bool isUserScoped)

internal static IDictionary ReadSettingsFromFile(string configFileName, string sectionName, bool isUserScoped)
{
IDictionary settings = new Hashtable();
Hashtable settings = new Hashtable();

if (isUserScoped && !ConfigurationManagerInternalFactory.Instance.SupportsUserConfig)
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -1725,7 +1725,9 @@ private static object DeserializePropertyValue(ConfigurationProperty prop, XmlRe
// Validate the loaded and converted value
prop.Validate(propertyValue);
}
#pragma warning disable CA1859
akoeplinger marked this conversation as resolved.
Show resolved Hide resolved
catch (ConfigurationException ce)
#pragma warning restore
{
// If the error is incomplete - complete it :)
if (string.IsNullOrEmpty(ce.Filename)) ce = new ConfigurationErrorsException(ce.Message, reader);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -149,8 +149,8 @@ public override SettingsPropertyValueCollection GetPropertyValues(SettingsContex
public override void SetPropertyValues(SettingsContext context, SettingsPropertyValueCollection values)
{
string sectionName = GetSectionName(context);
IDictionary roamingUserSettings = new Hashtable();
IDictionary localUserSettings = new Hashtable();
Hashtable roamingUserSettings = new Hashtable();
Hashtable localUserSettings = new Hashtable();

foreach (SettingsPropertyValue value in values)
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -134,7 +134,6 @@ internal OdbcMetaDataFactory(Stream XMLStream,
}
}

#pragma warning disable CA1859 // https:/dotnet/roslyn-analyzers/issues/6440
private static object BooleanFromODBC(object odbcSource)
{
if (odbcSource != DBNull.Value)
Expand All @@ -154,7 +153,6 @@ private static object BooleanFromODBC(object odbcSource)

return DBNull.Value;
}
#pragma warning disable CA1859

private static OdbcCommand GetCommand(OdbcConnection connection)
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -230,7 +230,9 @@ private sealed class OrderedExceptQueryOperatorEnumerator<TLeftKey> : QueryOpera
private readonly QueryOperatorEnumerator<Pair<TInputOutput, NoKeyMemoizationRequired>, int> _rightSource; // Right data source.
private readonly IEqualityComparer<TInputOutput>? _comparer; // A comparer used for equality checks/hash-coding.
private readonly IComparer<TLeftKey> _leftKeyComparer; // A comparer for order keys.
#pragma warning disable CA1859
private IEnumerator<KeyValuePair<Wrapper<TInputOutput>, Pair<TInputOutput, TLeftKey>>>? _outputEnumerator; // The enumerator output elements + order keys.
#pragma warning restore
private readonly CancellationToken _cancellationToken;

//---------------------------------------------------------------------------------------
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -294,7 +294,9 @@ private sealed class OrderedUnionQueryOperatorEnumerator<TLeftKey, TRightKey> :
private readonly QueryOperatorEnumerator<Pair<TInputOutput, NoKeyMemoizationRequired>, TLeftKey> _leftSource; // Left data source.
private readonly QueryOperatorEnumerator<Pair<TInputOutput, NoKeyMemoizationRequired>, TRightKey> _rightSource; // Right data source.
private readonly IComparer<ConcatKey<TLeftKey, TRightKey>> _keyComparer; // Comparer for compound order keys.
#pragma warning disable CA1859
private IEnumerator<KeyValuePair<Wrapper<TInputOutput>, Pair<TInputOutput, ConcatKey<TLeftKey, TRightKey>>>>? _outputEnumerator; // Enumerator over the output of the union.
#pragma warning restore
private readonly bool _leftOrdered; // Whether the left data source is ordered.
private readonly bool _rightOrdered; // Whether the right data source is ordered.
private readonly IEqualityComparer<TInputOutput>? _comparer; // Comparer for the elements.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -193,7 +193,9 @@ private sealed class OrderedDistinctQueryOperatorEnumerator<TKey> : QueryOperato
private readonly QueryOperatorEnumerator<Pair<TInputOutput, NoKeyMemoizationRequired>, TKey> _source; // The data source.
private readonly Dictionary<Wrapper<TInputOutput>, TKey> _hashLookup; // The hash lookup, used to produce the distinct set.
private readonly IComparer<TKey> _keyComparer; // Comparer to decide the key order.
#pragma warning disable CA1859
private IEnumerator<KeyValuePair<Wrapper<TInputOutput>, TKey>>? _hashLookupEnumerator; // Enumerates over _hashLookup.
#pragma warning restore
private readonly CancellationToken _cancellationToken;

//---------------------------------------------------------------------------------------
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -212,6 +212,7 @@ private static TagList InitializeCommonTags(HttpRequestMessage request)
private static object[]? s_boxedStatusCodes;
private static string[]? s_statusCodeStrings;

#pragma warning disable CA1859 // we explictly box here
private static object GetBoxedStatusCode(int statusCode)
{
object[] boxes = LazyInitializer.EnsureInitialized(ref s_boxedStatusCodes, static () => new object[512]);
Expand All @@ -220,6 +221,7 @@ private static object GetBoxedStatusCode(int statusCode)
? boxes[statusCode] ??= statusCode
: statusCode;
}
#pragma warning restore

private static string GetErrorStatusCodeString(int statusCode)
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -1346,7 +1346,7 @@ private static int FindNull(byte[] buffer, int idx)

protected static unsafe IDictionary<string, string?>? ParseFilterData(byte[]? data)
{
IDictionary<string, string?>? args = null;
Dictionary<string, string?>? args = null;

// data can be null if the filterArgs had a very large size which failed our sanity check
if (data != null)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -1482,7 +1482,7 @@ private static string GetDefaultXmlLocalName(Type type)
int iParam = typeName.IndexOf('[');
if (iParam >= 0)
typeName = typeName.Substring(0, iParam);
IList<int> nestedParamCounts = GetDataContractNameForGenericName(typeName, localName);
List<int> nestedParamCounts = GetDataContractNameForGenericName(typeName, localName);
bool isTypeOpenGeneric = type.IsGenericTypeDefinition;
Type[] genParams = type.GetGenericArguments();
for (int i = 0; i < genParams.Length; i++)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -263,7 +263,7 @@ private XmlElement ExportGenericInfo(Type clrType, string elementName, string el
}

Type[]? genericArguments = null;
IList<int>? genericArgumentCounts = null;
List<int>? genericArgumentCounts = null;
if (clrType.IsGenericType)
{
genericArguments = clrType.GetGenericArguments();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,8 +21,8 @@ internal sealed class TempAssembly
internal const string GeneratedAssemblyNamespace = "Microsoft.Xml.Serialization.GeneratedAssembly";
private readonly Assembly? _assembly;
private XmlSerializerImplementation? _contract;
private IDictionary? _writerMethods;
private IDictionary? _readerMethods;
private Hashtable? _writerMethods;
private Hashtable? _readerMethods;
private TempMethodDictionary? _methods;

internal sealed class TempMethod
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2563,7 +2563,7 @@ private static void SetArg(IList<XslNode> args, int pos, QilName name, QilNode v
// Returns true if formalArgs maps 1:1 with actual args.
// Formally this is n*n algorithm. We can optimize it by calculationg "signature"
// of the function as sum of all hashes of its args names.
private static bool FillupInvokeArgs(IList<QilNode> formalArgs, IList<XslNode> actualArgs, QilList invokeArgs)
private static bool FillupInvokeArgs(QilList formalArgs, IList<XslNode> actualArgs, QilList invokeArgs)
{
if (actualArgs.Count != formalArgs.Count)
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -899,7 +899,7 @@ private static bool NeedsExplicitNamespace(string dataContractNamespace, string
if (knownTypeDictionary == null)
return null;

ICollection<DataContract>? knownTypeContracts = knownTypeDictionary.Values;
DataContractDictionary.ValueCollection? knownTypeContracts = knownTypeDictionary.Values;
if (knownTypeContracts == null || knownTypeContracts.Count == 0)
return null;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -33,9 +33,7 @@ private static RecipientInfoCollection CreateRecipientInfos(SafeCryptMsgHandle h
return new RecipientInfoCollection(recipientInfos);
}

#pragma warning disable CA1859 // Use concrete types when possible for improved performance https:/dotnet/roslyn-analyzers/issues/6751
private static IEnumerable<RecipientInfo> ToRecipientInfosForThisIndex(SafeHandle pCmsgCmsRecipientInfoMemory, int index)
#pragma warning restore CA1859
{
bool mustRelease = false;
pCmsgCmsRecipientInfoMemory.DangerousAddRef(ref mustRelease);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -190,7 +190,7 @@ private SafeCreateHandle PrepareCustomCertsArray(X509Certificate2Collection cust
return GetCertsArray(rootCertificates);
}

private SafeCreateHandle GetCertsArray(IList<SafeHandle> safeHandles)
private SafeCreateHandle GetCertsArray(List<SafeHandle> safeHandles)
{
int idx = 0;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,9 @@ namespace System.Text.Json.SourceGeneration
/// <summary>
/// Generates source code to optimize serialization and deserialization with JsonSerializer.
/// </summary>
#pragma warning disable RS1041 // we're multi-targeting so this is fine
[Generator]
#pragma warning restore
public sealed partial class JsonSourceGenerator : IIncrementalGenerator
{
#if ROSLYN4_4_OR_GREATER
Expand Down
6 changes: 3 additions & 3 deletions src/tasks/AotCompilerTask/MonoAOTCompiler.cs
Original file line number Diff line number Diff line change
Expand Up @@ -293,7 +293,7 @@ public class MonoAOTCompiler : Microsoft.Build.Utilities.Task

private List<string> _fileWrites = new();

private IList<ITaskItem>? _assembliesToCompile;
private List<ITaskItem>? _assembliesToCompile;
private ConcurrentDictionary<string, ITaskItem> compiledAssemblies = new();
private BuildPropertiesTable? _propertiesTable;

Expand Down Expand Up @@ -1200,7 +1200,7 @@ private bool TryGetAssemblyName(string asmPath, [NotNullWhen(true)] out string?
}
}

private void CheckExportSymbolsFile(IList<ITaskItem> assemblies)
private void CheckExportSymbolsFile(List<ITaskItem> assemblies)
{
if (!EnableUnmanagedCallersOnlyMethodsExport)
return;
Expand All @@ -1215,7 +1215,7 @@ private void CheckExportSymbolsFile(IList<ITaskItem> assemblies)
}
}

private static List<ITaskItem> ConvertAssembliesDictToOrderedList(ConcurrentDictionary<string, ITaskItem> dict, IList<ITaskItem> originalAssemblies)
private static List<ITaskItem> ConvertAssembliesDictToOrderedList(ConcurrentDictionary<string, ITaskItem> dict, List<ITaskItem> originalAssemblies)
{
List<ITaskItem> outItems = new(originalAssemblies.Count);
foreach (ITaskItem item in originalAssemblies)
Expand Down
4 changes: 2 additions & 2 deletions src/tasks/MonoTargetsTasks/ILStrip/ILStrip.cs
Original file line number Diff line number Diff line change
Expand Up @@ -219,9 +219,9 @@ private static string ComputeTrimmedAssemblyPath(string trimmedAssemblyFolder, s
private static bool IsInputNewerThanOutput(string inFile, string outFile)
=> File.GetLastWriteTimeUtc(inFile) > File.GetLastWriteTimeUtc(outFile);

private static List<ITaskItem> ConvertAssembliesDictToOrderedList(ConcurrentDictionary<string, ITaskItem> dict, IList<ITaskItem> originalAssemblies)
private static List<ITaskItem> ConvertAssembliesDictToOrderedList(ConcurrentDictionary<string, ITaskItem> dict, ITaskItem[] originalAssemblies)
{
List<ITaskItem> outItems = new(originalAssemblies.Count);
List<ITaskItem> outItems = new(originalAssemblies.Length);
foreach (ITaskItem item in originalAssemblies)
{
if (dict.TryGetValue(item.GetMetadata("FullPath"), out ITaskItem? dictItem))
Expand Down
2 changes: 1 addition & 1 deletion src/tasks/WorkloadBuildTasks/PackageInstaller.cs
Original file line number Diff line number Diff line change
Expand Up @@ -69,7 +69,7 @@ private bool InstallActual(PackageReference[] references, bool stopOnMissing)
return false;
}

IList<(PackageReference, string)> failedToRestore = references
List<(PackageReference, string)> failedToRestore = references
.Select(r => (r, Path.Combine(_packagesDir, r.Name.ToLowerInvariant(), r.Version)))
.Where(tuple => !Directory.Exists(tuple.Item2))
.ToList();
Expand Down
Loading
Loading