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

Enable IDE0060 (Remove unused parameter) analyzer #72667

Merged
merged 44 commits into from
Nov 8, 2022
Merged
Show file tree
Hide file tree
Changes from 17 commits
Commits
Show all changes
44 commits
Select commit Hold shift + click to select a range
16324e9
Enable IDE0060 (Remove unused parameter) analyzer
marek-safar Jul 22, 2022
b1b649d
Merge remote-tracking branch 'upstream/main' into ide0060
marek-safar Jul 28, 2022
b0dbc52
Another round of updates
marek-safar Sep 7, 2022
e7841ee
Merge remote-tracking branch 'upstream/main' into ide0060
marek-safar Sep 7, 2022
125cbc4
More fixes
marek-safar Sep 8, 2022
4a0d7df
Merge remote-tracking branch 'upstream/main' into ide0060
marek-safar Sep 8, 2022
a2e2fd6
another merge
marek-safar Sep 8, 2022
ede33c7
Merge remote-tracking branch 'upstream/main' into ide0060
marek-safar Sep 8, 2022
b2b2613
Another fix after merge
marek-safar Sep 8, 2022
396bea5
Merge remote-tracking branch 'upstream/main' into ide0060
marek-safar Sep 12, 2022
7284e45
Update after merge
marek-safar Sep 12, 2022
e8677dd
Merge remote-tracking branch 'upstream/main' into ide0060
marek-safar Sep 15, 2022
13205a6
Fix some weird side effect propery call
marek-safar Sep 16, 2022
56c102a
Bad merge
marek-safar Sep 19, 2022
bc25d3a
Merge remote-tracking branch 'upstream/main' into ide0060
marek-safar Sep 21, 2022
836c3dd
PR feedback
marek-safar Sep 21, 2022
5d9ed3c
Convert Microsoft.Win32.Registry into PNSE assembly for non-Windows OSes
marek-safar Sep 21, 2022
6f9069b
More tweaks
marek-safar Sep 22, 2022
77b53f1
Merge remote-tracking branch 'upstream/main' into ide0060
marek-safar Sep 22, 2022
772bf45
More tweaks
marek-safar Sep 22, 2022
acb8fa6
Revert test change which is no longer needed
marek-safar Sep 22, 2022
03452b6
Feedback
marek-safar Sep 27, 2022
e2c38fc
Merge remote-tracking branch 'upstream/main' into ide0060
marek-safar Sep 27, 2022
b433680
Update after merge
marek-safar Sep 27, 2022
a425dd4
Include rebind in asn schema
marek-safar Sep 27, 2022
5500d4e
Merge remote-tracking branch 'upstream/main' into ide0060
marek-safar Sep 27, 2022
5a57366
More fixes
marek-safar Oct 6, 2022
7f24191
Merge remote-tracking branch 'upstream/main' into ide0060
marek-safar Oct 6, 2022
e73bf3b
More tweaks
marek-safar Oct 6, 2022
5c43b8e
Remove redundant overloads
marek-safar Oct 7, 2022
676694c
Merge remote-tracking branch 'upstream/main' into ide0060
marek-safar Oct 7, 2022
8122752
Merge remote-tracking branch 'upstream/main' into ide0060
marek-safar Oct 27, 2022
a5f75b9
Another merge update
marek-safar Oct 31, 2022
81d04fc
Workaround analyzer bug
marek-safar Oct 31, 2022
84f99cc
Remove GetTargetMethodsDescriptionForDebugger as suggested by Michal
marek-safar Nov 3, 2022
a84e4f2
Add new line
marek-safar Nov 3, 2022
7ec3a88
PR feedback
marek-safar Nov 4, 2022
56e6aff
Merge remote-tracking branch 'upstream/main' into ide0060
marek-safar Nov 4, 2022
098409e
Merge remote-tracking branch 'upstream/main' into ide0060
marek-safar Nov 5, 2022
b63a8fa
One more workaround
marek-safar Nov 5, 2022
782e0fa
another update
marek-safar Nov 6, 2022
5be3227
Undo duplicate fix
marek-safar Nov 7, 2022
e7c42fd
Merge remote-tracking branch 'upstream/main' into ide0060
marek-safar Nov 7, 2022
bc2f0b6
Merge remote-tracking branch 'upstream/main' into ide0060
marek-safar Nov 8, 2022
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
2 changes: 1 addition & 1 deletion eng/CodeAnalysis.src.globalconfig
Original file line number Diff line number Diff line change
Expand Up @@ -1473,7 +1473,7 @@ dotnet_diagnostic.IDE0058.severity = silent
dotnet_diagnostic.IDE0059.severity = warning

# IDE0060: Remove unused parameter
dotnet_diagnostic.IDE0060.severity = silent
dotnet_diagnostic.IDE0060.severity = warning
dotnet_code_quality_unused_parameters = non_public

# IDE0061: Use expression body for local functions
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -311,6 +311,7 @@ public static string GetTypeInfoName(ITypeInfo typeInfo)
return strTypeLibName;
}

#pragma warning disable IDE0060
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why is this needed rather than removing throwOnError? If mono or nativeaot are doing additional validation that coreclr isn't, is that an issue?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There is rather uncommon error handling on non-Windows platforms. See

internal static Type? GetTypeFromCLSID(Guid clsid, string? server, bool throwOnError)
which one can trigger from
public static Type? GetTypeFromCLSID(Guid clsid, string? server, bool throwOnError) => Marshal.GetTypeFromCLSID(clsid, server, throwOnError);

// This method is identical to Type.GetTypeFromCLSID. Since it's interop specific, we expose it
// on Marshal for more consistent API surface.
internal static Type? GetTypeFromCLSID(Guid clsid, string? server, bool throwOnError)
Expand All @@ -327,6 +328,7 @@ public static string GetTypeInfoName(ITypeInfo typeInfo)
GetTypeFromCLSID(clsid, server, ObjectHandleOnStack.Create(ref type));
return type;
}
#pragma warning restore IDE0060

[LibraryImport(RuntimeHelpers.QCall, EntryPoint = "MarshalNative_GetTypeFromCLSID", StringMarshalling = StringMarshalling.Utf16)]
private static partial void GetTypeFromCLSID(in Guid clsid, string? server, ObjectHandleOnStack retType);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3774,7 +3774,7 @@ private CheckValueStatus TryChangeType(
CorElementType dstElementType = GetUnderlyingType(this);
if (dstElementType != srcElementType)
{
value = InvokeUtils.ConvertOrWiden(srcType, srcElementType, value, this, dstElementType);
value = InvokeUtils.ConvertOrWiden(srcType, value, this, dstElementType);
}
}

Expand Down Expand Up @@ -3929,7 +3929,7 @@ private void CreateInstanceCheckThis()
}

// fast path??
instance = CreateInstanceLocal(this, nonPublic: true, wrapExceptions: wrapExceptions);
instance = CreateInstanceLocal(wrapExceptions: wrapExceptions);
}
else
{
Expand All @@ -3943,7 +3943,7 @@ private void CreateInstanceCheckThis()

[UnconditionalSuppressMessage("ReflectionAnalysis", "IL2082:UnrecognizedReflectionPattern",
Justification = "Implementation detail of Activator that linker intrinsically recognizes")]
object? CreateInstanceLocal(Type type, bool nonPublic, bool wrapExceptions)
object? CreateInstanceLocal(bool wrapExceptions)
{
return Activator.CreateInstance(this, nonPublic: true, wrapExceptions: wrapExceptions);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -161,7 +161,7 @@ public V GetOrAdd(K key)
return heyIWasHereFirst;
if (!_container.HasCapacity)
_container.Resize(); // This overwrites the _container field.
_container.Add(key, hashCode, value);
_container.Add(hashCode, value);
return value;
}
}
Expand Down Expand Up @@ -218,7 +218,7 @@ public bool TryGetValue(K key, int hashCode, out V value)
return false;
}

public void Add(K key, int hashCode, V value)
public void Add(int hashCode, V value)
{
Debug.Assert(_owner._lock.IsAcquired);

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@ namespace System
[AttributeUsage(AttributeTargets.Class, Inherited = true)]
internal sealed class AttributeUsageAttribute : Attribute
{
#pragma warning disable IDE0060
//Constructors
public AttributeUsageAttribute(AttributeTargets validOn)
{
Expand All @@ -24,6 +25,7 @@ public AttributeUsageAttribute(AttributeTargets validOn)
public AttributeUsageAttribute(AttributeTargets validOn, bool allowMultiple, bool inherited)
{
}
#pragma warning restore IDE0060

//Properties.
// Allowing the set properties as it allows a more readable syntax in the specifiers (and are commonly used)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -74,7 +74,7 @@ private struct EHEnum

// This is a fail-fast function used by the runtime as a last resort that will terminate the process with
// as little effort as possible. No guarantee is made about the semantics of this fail-fast.
internal static void FallbackFailFast(RhFailFastReason reason, object unhandledException)
internal static void FallbackFailFast(RhFailFastReason _ /*reason*/, object _1 /*unhandledException*/)
marek-safar marked this conversation as resolved.
Show resolved Hide resolved
{
InternalCalls.RhpFallbackFailFast();
}
Expand Down Expand Up @@ -921,6 +921,7 @@ private static void InvokeSecondPass(ref ExInfo exInfo, uint idxStart, uint idxL
}
}

#pragma warning disable IDE0060
[UnmanagedCallersOnly(EntryPoint = "RhpFailFastForPInvokeExceptionPreemp", CallConvs = new Type[] { typeof(CallConvCdecl) })]
public static void RhpFailFastForPInvokeExceptionPreemp(IntPtr PInvokeCallsiteReturnAddr, void* pExceptionRecord, void* pContextRecord)
{
Expand All @@ -931,5 +932,7 @@ public static void RhpFailFastForPInvokeExceptionCoop(IntPtr classlibBreadcrumb,
{
FailFastViaClasslib(RhFailFastReason.UnhandledExceptionFromPInvoke, null, classlibBreadcrumb);
}
#pragma warning restore IDE0060

} // static class EH
}
Original file line number Diff line number Diff line change
Expand Up @@ -218,7 +218,7 @@ private void InitializeClosedStaticThunk(object firstParameter, IntPtr functionP
}

// This function is known to the compiler backend.
private void InitializeOpenStaticThunk(object firstParameter, IntPtr functionPointer, IntPtr functionPointerThunk)
private void InitializeOpenStaticThunk(object _ /*firstParameter*/, IntPtr functionPointer, IntPtr functionPointerThunk)
{
// This sort of delegate is invoked by calling the thunk function pointer with the arguments to the delegate + a reference to the delegate object itself.
m_firstParameter = this;
Expand Down Expand Up @@ -459,11 +459,5 @@ private string GetTargetMethodsDescriptionForDebugger()
}
}
}

private static string DebuggerFunctionPointerFormattingHook(IntPtr functionPointer, RuntimeTypeHandle typeOfFirstParameterIfInstanceDelegate)
{
// This method will be hooked by the debugger and the debugger will cause it to return a description for the function pointer
throw new NotSupportedException();
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ namespace System
{
public abstract partial class Enum : ValueType, IComparable, IFormattable, IConvertible
{
internal static EnumInfo GetEnumInfo(Type enumType, bool getNames = true)
internal static EnumInfo GetEnumInfo(Type enumType, bool _ /*getNames*/ = true)
marek-safar marked this conversation as resolved.
Show resolved Hide resolved
{
Debug.Assert(enumType != null);
Debug.Assert(enumType is RuntimeType);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ public static void FailFast(string message) =>
public static void FailFast(string message, Exception exception) =>
RuntimeExceptionHelpers.FailFast(message, exception);

internal static void FailFast(string message, Exception exception, string errorSource)
internal static void FailFast(string message, Exception exception, string _ /*errorSource*/)
{
// TODO: errorSource originates from CoreCLR (See: https://github.com/dotnet/coreclr/pull/15895)
// For now, we ignore errorSource but we should distinguish the way FailFast prints exception message using errorSource
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ namespace System.IO
{
public partial class FileLoadException
{
internal static string FormatFileLoadExceptionMessage(string? fileName, int hResult)
internal static string FormatFileLoadExceptionMessage(string? fileName, int _ /*hResult*/)
{
return fileName == null ? SR.IO_FileLoad : SR.Format(SR.IO_FileLoad_FileName, fileName);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -244,7 +244,7 @@ private static Exception CreateChangeTypeException(EETypePtr srcEEType, EETypePt
case CheckArgumentSemantics.SetFieldDirect:
return CreateChangeTypeArgumentException(srcEEType, dstEEType);
case CheckArgumentSemantics.ArraySet:
return CreateChangeTypeInvalidCastException(srcEEType, dstEEType);
return CreateChangeTypeInvalidCastException();
default:
Debug.Fail("Unexpected CheckArgumentSemantics value: " + semantics);
throw new InvalidOperationException();
Expand All @@ -259,7 +259,7 @@ internal static ArgumentException CreateChangeTypeArgumentException(EETypePtr sr
return new ArgumentException(SR.Format(SR.Arg_ObjObjEx, Type.GetTypeFromHandle(new RuntimeTypeHandle(srcEEType)), destinationTypeName));
}

private static InvalidCastException CreateChangeTypeInvalidCastException(EETypePtr srcEEType, EETypePtr dstEEType)
private static InvalidCastException CreateChangeTypeInvalidCastException()
{
return new InvalidCastException(SR.InvalidCast_StoreArrayElement);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -253,7 +253,7 @@ private sealed class ArrayTypeTable : ConcurrentUnifierWKeyed<UnificationKey, Ru
{
protected sealed override RuntimeArrayTypeInfo Factory(UnificationKey key)
{
ValidateElementType(key.ElementType, key.TypeHandle, multiDim: false, rank: 1);
ValidateElementType(key.ElementType, multiDim: false, rank: 1);

return new RuntimeArrayTypeInfo(key, multiDim: false, rank: 1);
}
Expand All @@ -270,7 +270,7 @@ public MultiDimArrayTypeTable(int rank)

protected sealed override RuntimeArrayTypeInfo Factory(UnificationKey key)
{
ValidateElementType(key.ElementType, key.TypeHandle, multiDim: true, rank: _rank);
ValidateElementType(key.ElementType, multiDim: true, rank: _rank);

return new RuntimeArrayTypeInfo(key, multiDim: true, rank: _rank);
}
Expand All @@ -292,7 +292,7 @@ protected sealed override MultiDimArrayTypeTable Factory(int rank)
public static readonly TypeTableForMultiDimArrayTypeTables Table = new TypeTableForMultiDimArrayTypeTables();
}

private static void ValidateElementType(RuntimeTypeInfo elementType, RuntimeTypeHandle typeHandle, bool multiDim, int rank)
private static void ValidateElementType(RuntimeTypeInfo elementType, bool multiDim, int rank)
{
Debug.Assert(multiDim || rank == 1);

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,7 @@ public static void InitializeArray(Array array, RuntimeFieldHandle fldHandle)
throw new PlatformNotSupportedException();
}

#pragma warning disable IDE0060
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I still think we should update IDE0060 to not warn in cases where the method simply throws {Platform}NotSupportedException. Warning about unused parameters in such cases seems superfluous.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is there an issue tracking this?

private static unsafe void* GetSpanDataFrom(
RuntimeFieldHandle fldHandle,
RuntimeTypeHandle targetTypeHandle,
Expand All @@ -36,6 +37,7 @@ public static void InitializeArray(Array array, RuntimeFieldHandle fldHandle)
// https://github.com/dotnet/corert/issues/364
throw new PlatformNotSupportedException();
}
#pragma warning disable IDE0060

[RequiresUnreferencedCode("Trimmer can't guarantee existence of class constructor")]
public static void RunClassConstructor(RuntimeTypeHandle type)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -465,6 +465,7 @@ public object GetOrRegisterObjectForComInstance(IntPtr externalComObject, Create
return (ComInterfaceDispatch*)comObject;
}

#pragma warning disable IDE0060
/// <summary>
/// Get the currently registered managed object or creates a new managed object and registers it.
/// </summary>
Expand Down Expand Up @@ -541,6 +542,7 @@ private unsafe bool TryGetOrCreateObjectForComInstanceInternal(

return true;
}
#pragma warning restore IDE0060

private void RemoveRCWFromCache(IntPtr comPointer)
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -180,10 +180,8 @@ public static unsafe void StructureToPtr(object structure, IntPtr ptr, bool fDel
}
}

private static void PrelinkCore(MethodInfo m)
{
// This method is effectively a no-op for NativeAOT, everything pre-generated.
}
// This method is effectively a no-op for NativeAOT, everything pre-generated.
static partial void PrelinkCore(MethodInfo m);

internal static Delegate GetDelegateForFunctionPointerInternal(IntPtr ptr, Type t)
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ public static partial class NativeLibrary
{
private const int LoadWithAlteredSearchPathFlag = 0;

private static IntPtr LoadLibraryHelper(string libraryName, int flags, ref LoadLibErrorTracker errorTracker)
private static IntPtr LoadLibraryHelper(string libraryName, int _ /*flags*/, ref LoadLibErrorTracker errorTracker)
{
// do the Dos/Unix conversion
libraryName = libraryName.Replace('\\', '/');
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,6 @@ public static partial class JitInfo

public static long GetCompiledMethodCount(bool currentThread = false) => 0;

private static long GetCompilationTimeInTicks(bool currentThread = false) => 0;
private static long GetCompilationTimeInTicks(bool _ /*currentThread*/ = false) => 0;
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@ public Assembly LoadFromAssemblyName(AssemblyName assemblyName)
return Assembly.Load(assemblyName);
}

#pragma warning disable IDE0060
private static IntPtr InitializeAssemblyLoadContext(IntPtr ptrAssemblyLoadContext, bool fRepresentsTPALoadContext, bool isCollectible)
{
return IntPtr.Zero;
Expand Down Expand Up @@ -46,6 +47,7 @@ private static Assembly InternalLoadFromPath(string? assemblyPath, string? nativ
// so it won't actually work properly when multiple assemblies with the same identity get loaded.
return ReflectionAugments.ReflectionCoreCallbacks.Load(assemblyPath);
}
#pragma warning restore IDE0060

#pragma warning disable CA1822
internal Assembly InternalLoad(ReadOnlySpan<byte> arrAssembly, ReadOnlySpan<byte> arrSymbols)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ private void PlatformSpecificInitializeExistingThread()
_stopped = new ManualResetEvent(false);
}

#pragma warning disable CA1822
#pragma warning disable CA1822, IDE0060
private ThreadPriority GetPriorityLive()
{
return ThreadPriority.Normal;
Expand All @@ -38,7 +38,7 @@ private bool SetPriorityLive(ThreadPriority priority)
{
return true;
}
#pragma warning restore CA1822
#pragma warning restore CA1822, IDE0060

[UnmanagedCallersOnly]
private static void OnThreadExit()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,8 +10,6 @@
**
=============================================================================*/

#pragma warning disable 0420

using System.Diagnostics;
using System.Runtime.InteropServices;
using System.Runtime.Versioning;
Expand All @@ -20,6 +18,7 @@ namespace System.Threading
{
public static partial class ThreadPool
{
[Conditional("unnecessary")]
stephentoub marked this conversation as resolved.
Show resolved Hide resolved
internal static void ReportThreadStatus(bool isWorking)
{
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -357,7 +357,7 @@ public static void GetAvailableThreads(out int workerThreads, out int completion
internal static void NotifyWorkItemProgress() => IncrementCompletedWorkItemCount();

[MethodImpl(MethodImplOptions.AggressiveInlining)]
internal static bool NotifyWorkItemComplete(object? threadLocalCompletionCountObject, int currentTimeMs)
internal static bool NotifyWorkItemComplete(object? threadLocalCompletionCountObject, int _ /*currentTimeMs*/)
{
ThreadInt64PersistentCounter.Increment(threadLocalCompletionCountObject);
return true;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -109,7 +109,7 @@ private int GetHashCodeImpl()
if (numFields == UseFastHelper)
return FastGetValueTypeHashCodeHelper(this.GetEETypePtr(), ref this.GetRawData());

return RegularGetValueTypeHashCode(this.GetEETypePtr(), ref this.GetRawData(), numFields);
return RegularGetValueTypeHashCode(ref this.GetRawData(), numFields);
}

private static int FastGetValueTypeHashCodeHelper(EETypePtr type, ref byte data)
Expand All @@ -128,7 +128,7 @@ private static int FastGetValueTypeHashCodeHelper(EETypePtr type, ref byte data)
return hashCode;
}

private int RegularGetValueTypeHashCode(EETypePtr type, ref byte data, int numFields)
private int RegularGetValueTypeHashCode(ref byte data, int numFields)
{
int hashCode = 0;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -719,7 +719,7 @@ internal override unsafe void Prepare(TypeBuilder builder)
case TypeLoaderEnvironment.MethodAddressType.Canonical:
{
bool methodRequestedIsCanonical = Method.IsCanonicalMethod(CanonicalFormKind.Specific);
bool requestedMethodNeedsDictionaryWhenCalledAsCanonical = NeedsDictionaryParameterToCallCanonicalVersion(Method);
bool requestedMethodNeedsDictionaryWhenCalledAsCanonical = NeedsDictionaryParameterToCallCanonicalVersion();

if (!requestedMethodNeedsDictionaryWhenCalledAsCanonical || methodRequestedIsCanonical)
{
Expand All @@ -731,7 +731,7 @@ internal override unsafe void Prepare(TypeBuilder builder)
case TypeLoaderEnvironment.MethodAddressType.UniversalCanonical:
{
if (Method.IsCanonicalMethod(CanonicalFormKind.Universal) &&
!NeedsDictionaryParameterToCallCanonicalVersion(Method) &&
!NeedsDictionaryParameterToCallCanonicalVersion() &&
!UniversalGenericParameterLayout.MethodSignatureHasVarsNeedingCallingConventionConverter(
Method.GetTypicalMethodDefinition().Signature))
{
Expand Down Expand Up @@ -792,7 +792,7 @@ internal override unsafe void Prepare(TypeBuilder builder)
Debug.Assert((_exactFunctionPointer != IntPtr.Zero) || (Method.FunctionPointer != IntPtr.Zero) || (Method.UsgFunctionPointer != IntPtr.Zero));
}

private bool NeedsDictionaryParameterToCallCanonicalVersion(MethodDesc method)
private bool NeedsDictionaryParameterToCallCanonicalVersion()
{
if (Method.HasInstantiation)
return true;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -41,12 +41,12 @@ public static string ToStringInvariant(this ulong arg)
return arg.LowLevelToString();
}

public static string ToStringInvariant(this float arg)
public static string ToStringInvariant(this float _)
{
return "FLOAT";
}

public static string ToStringInvariant(this double arg)
public static string ToStringInvariant(this double _)
{
return "DOUBLE";
}
Expand Down
Loading