Emit\NumericIntPtrTests.cs (888)
7120unifiedBinaryOps(symbol, "nint", "object");
7121unifiedBinaryOps(symbol, "nint", "string");
7122unifiedBinaryOps(symbol, "nint", "void*", null, (symbol == "-") ? $"void* void*.{name}(void* left, long right)" : null, getBadBinaryOpsDiagnostics(symbol, "nint", "void*", includeVoidError: true), getBadBinaryOpsDiagnostics(symbol, "void*", "nint", includeBadBinaryOps: includeBadBinaryOps, includeVoidError: true));
7123unifiedBinaryOps(symbol, "nint", "bool");
7124unifiedBinaryOps(symbol, "nint", "char", $"nint nint.{name}(nint left, nint right)");
7125unifiedBinaryOps(symbol, "nint", "sbyte", $"nint nint.{name}(nint left, nint right)");
7126unifiedBinaryOps(symbol, "nint", "byte", $"nint nint.{name}(nint left, nint right)");
7127unifiedBinaryOps(symbol, "nint", "short", $"nint nint.{name}(nint left, nint right)");
7128unifiedBinaryOps(symbol, "nint", "ushort", $"nint nint.{name}(nint left, nint right)");
7129unifiedBinaryOps(symbol, "nint", "int", $"nint nint.{name}(nint left, nint right)");
7130unifiedBinaryOps(symbol, "nint", "uint", $"long long.{name}(long left, long right)");
7131unifiedBinaryOps(symbol, "nint", "nint", $"nint nint.{name}(nint left, nint right)");
7132unifiedBinaryOps(symbol, "nint", "nuint", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nint", "nuint"), getAmbiguousBinaryOpsDiagnostics(symbol, "nuint", "nint"));
7133unifiedBinaryOps(symbol, "nint", "long", $"long long.{name}(long left, long right)");
7134unifiedBinaryOps(symbol, "nint", "ulong", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nint", "ulong"), getAmbiguousBinaryOpsDiagnostics(symbol, "ulong", "nint"));
7135unifiedBinaryOps(symbol, "nint", "float", $"float float.{name}(float left, float right)");
7136unifiedBinaryOps(symbol, "nint", "double", $"double double.{name}(double left, double right)");
7137unifiedBinaryOps(symbol, "nint", "decimal", $"decimal decimal.{name}(decimal left, decimal right)");
7138unifiedBinaryOps(symbol, "nint", "System.IntPtr", $"nint nint.{name}(nint left, nint right)");
7139unifiedBinaryOps(symbol, "nint", "System.UIntPtr", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nint", "nuint"), getAmbiguousBinaryOpsDiagnostics(symbol, "nuint", "nint"));
7142unifiedBinaryOps(symbol, "nint", "bool?");
7143unifiedBinaryOps(symbol, "nint", "char?", $"nint nint.{name}(nint left, nint right)");
7144unifiedBinaryOps(symbol, "nint", "sbyte?", $"nint nint.{name}(nint left, nint right)");
7145unifiedBinaryOps(symbol, "nint", "byte?", $"nint nint.{name}(nint left, nint right)");
7146unifiedBinaryOps(symbol, "nint", "short?", $"nint nint.{name}(nint left, nint right)");
7147unifiedBinaryOps(symbol, "nint", "ushort?", $"nint nint.{name}(nint left, nint right)");
7148unifiedBinaryOps(symbol, "nint", "int?", $"nint nint.{name}(nint left, nint right)");
7149unifiedBinaryOps(symbol, "nint", "uint?", $"long long.{name}(long left, long right)");
7150unifiedBinaryOps(symbol, "nint", "nint?", $"nint nint.{name}(nint left, nint right)");
7151unifiedBinaryOps(symbol, "nint", "nuint?", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nint", "nuint?"), getAmbiguousBinaryOpsDiagnostics(symbol, "nuint?", "nint"));
7152unifiedBinaryOps(symbol, "nint", "long?", $"long long.{name}(long left, long right)");
7153unifiedBinaryOps(symbol, "nint", "ulong?", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nint", "ulong?"), getAmbiguousBinaryOpsDiagnostics(symbol, "ulong?", "nint"));
7154unifiedBinaryOps(symbol, "nint", "float?", $"float float.{name}(float left, float right)");
7155unifiedBinaryOps(symbol, "nint", "double?", $"double double.{name}(double left, double right)");
7156unifiedBinaryOps(symbol, "nint", "decimal?", $"decimal decimal.{name}(decimal left, decimal right)");
7157unifiedBinaryOps(symbol, "nint", "System.IntPtr?", $"nint nint.{name}(nint left, nint right)");
7158unifiedBinaryOps(symbol, "nint", "System.UIntPtr?", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nint", "nuint?"), getAmbiguousBinaryOpsDiagnostics(symbol, "nuint?", "nint"));
7159unifiedBinaryOps(symbol, "nint", "object");
7162unifiedBinaryOps(symbol, "nint?", "string");
7163unifiedBinaryOps(symbol, "nint?", "void*", null, null, getBadBinaryOpsDiagnostics(symbol, "nint?", "void*", includeVoidError: true), getBadBinaryOpsDiagnostics(symbol, "void*", "nint?", includeVoidError: true));
7164unifiedBinaryOps(symbol, "nint?", "bool");
7165unifiedBinaryOps(symbol, "nint?", "char", $"nint nint.{name}(nint left, nint right)");
7166unifiedBinaryOps(symbol, "nint?", "sbyte", $"nint nint.{name}(nint left, nint right)");
7167unifiedBinaryOps(symbol, "nint?", "byte", $"nint nint.{name}(nint left, nint right)");
7168unifiedBinaryOps(symbol, "nint?", "short", $"nint nint.{name}(nint left, nint right)");
7169unifiedBinaryOps(symbol, "nint?", "ushort", $"nint nint.{name}(nint left, nint right)");
7170unifiedBinaryOps(symbol, "nint?", "int", $"nint nint.{name}(nint left, nint right)");
7171unifiedBinaryOps(symbol, "nint?", "uint", $"long long.{name}(long left, long right)");
7172unifiedBinaryOps(symbol, "nint?", "nint", $"nint nint.{name}(nint left, nint right)");
7173unifiedBinaryOps(symbol, "nint?", "nuint", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nint?", "nuint"), getAmbiguousBinaryOpsDiagnostics(symbol, "nuint", "nint?"));
7174unifiedBinaryOps(symbol, "nint?", "long", $"long long.{name}(long left, long right)");
7175unifiedBinaryOps(symbol, "nint?", "ulong", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nint?", "ulong"), getAmbiguousBinaryOpsDiagnostics(symbol, "ulong", "nint?"));
7176unifiedBinaryOps(symbol, "nint?", "float", $"float float.{name}(float left, float right)");
7177unifiedBinaryOps(symbol, "nint?", "double", $"double double.{name}(double left, double right)");
7178unifiedBinaryOps(symbol, "nint?", "decimal", $"decimal decimal.{name}(decimal left, decimal right)");
7179unifiedBinaryOps(symbol, "nint?", "System.IntPtr", $"nint nint.{name}(nint left, nint right)");
7180unifiedBinaryOps(symbol, "nint?", "System.UIntPtr", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nint?", "nuint"), getAmbiguousBinaryOpsDiagnostics(symbol, "nuint", "nint?"));
7183unifiedBinaryOps(symbol, "nint?", "bool?");
7184unifiedBinaryOps(symbol, "nint?", "char?", $"nint nint.{name}(nint left, nint right)");
7185unifiedBinaryOps(symbol, "nint?", "sbyte?", $"nint nint.{name}(nint left, nint right)");
7186unifiedBinaryOps(symbol, "nint?", "byte?", $"nint nint.{name}(nint left, nint right)");
7187unifiedBinaryOps(symbol, "nint?", "short?", $"nint nint.{name}(nint left, nint right)");
7188unifiedBinaryOps(symbol, "nint?", "ushort?", $"nint nint.{name}(nint left, nint right)");
7189unifiedBinaryOps(symbol, "nint?", "int?", $"nint nint.{name}(nint left, nint right)");
7190unifiedBinaryOps(symbol, "nint?", "uint?", $"long long.{name}(long left, long right)");
7191unifiedBinaryOps(symbol, "nint?", "nint?", $"nint nint.{name}(nint left, nint right)");
7192unifiedBinaryOps(symbol, "nint?", "nuint?", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nint?", "nuint?"), getAmbiguousBinaryOpsDiagnostics(symbol, "nuint?", "nint?"));
7193unifiedBinaryOps(symbol, "nint?", "long?", $"long long.{name}(long left, long right)");
7194unifiedBinaryOps(symbol, "nint?", "ulong?", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nint?", "ulong?"), getAmbiguousBinaryOpsDiagnostics(symbol, "ulong?", "nint?"));
7195unifiedBinaryOps(symbol, "nint?", "float?", $"float float.{name}(float left, float right)");
7196unifiedBinaryOps(symbol, "nint?", "double?", $"double double.{name}(double left, double right)");
7197unifiedBinaryOps(symbol, "nint?", "decimal?", $"decimal decimal.{name}(decimal left, decimal right)");
7198unifiedBinaryOps(symbol, "nint?", "System.IntPtr?", $"nint nint.{name}(nint left, nint right)");
7199unifiedBinaryOps(symbol, "nint?", "System.UIntPtr?", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nint?", "nuint?"), getAmbiguousBinaryOpsDiagnostics(symbol, "nuint?", "nint?"));
7202unifiedBinaryOps(symbol, "nuint", "object");
7203unifiedBinaryOps(symbol, "nuint", "string");
7204unifiedBinaryOps(symbol, "nuint", "void*", null, (symbol == "-") ? $"void* void*.{name}(void* left, ulong right)" : null, getBadBinaryOpsDiagnostics(symbol, "nuint", "void*", includeVoidError: true), getBadBinaryOpsDiagnostics(symbol, "void*", "nuint", includeBadBinaryOps: includeBadBinaryOps, includeVoidError: true));
7205unifiedBinaryOps(symbol, "nuint", "bool");
7206unifiedBinaryOps(symbol, "nuint", "char", $"nuint nuint.{name}(nuint left, nuint right)");
7207unifiedBinaryOps(symbol, "nuint", "sbyte", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nuint", "sbyte"), getAmbiguousBinaryOpsDiagnostics(symbol, "sbyte", "nuint"));
7208unifiedBinaryOps(symbol, "nuint", "byte", $"nuint nuint.{name}(nuint left, nuint right)");
7209unifiedBinaryOps(symbol, "nuint", "short", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nuint", "short"), getAmbiguousBinaryOpsDiagnostics(symbol, "short", "nuint"));
7210unifiedBinaryOps(symbol, "nuint", "ushort", $"nuint nuint.{name}(nuint left, nuint right)");
7211unifiedBinaryOps(symbol, "nuint", "int", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nuint", "int"), getAmbiguousBinaryOpsDiagnostics(symbol, "int", "nuint"));
7212unifiedBinaryOps(symbol, "nuint", "uint", $"nuint nuint.{name}(nuint left, nuint right)");
7213unifiedBinaryOps(symbol, "nuint", "nint", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nuint", "nint"), getAmbiguousBinaryOpsDiagnostics(symbol, "nint", "nuint"));
7214unifiedBinaryOps(symbol, "nuint", "nuint", $"nuint nuint.{name}(nuint left, nuint right)");
7215unifiedBinaryOps(symbol, "nuint", "long", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nuint", "long"), getAmbiguousBinaryOpsDiagnostics(symbol, "long", "nuint"));
7216unifiedBinaryOps(symbol, "nuint", "ulong", $"ulong ulong.{name}(ulong left, ulong right)");
7217unifiedBinaryOps(symbol, "nuint", "float", $"float float.{name}(float left, float right)");
7218unifiedBinaryOps(symbol, "nuint", "double", $"double double.{name}(double left, double right)");
7219unifiedBinaryOps(symbol, "nuint", "decimal", $"decimal decimal.{name}(decimal left, decimal right)");
7220unifiedBinaryOps(symbol, "nuint", "System.IntPtr", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nuint", "nint"), getAmbiguousBinaryOpsDiagnostics(symbol, "nint", "nuint"));
7221unifiedBinaryOps(symbol, "nuint", "System.UIntPtr", $"nuint nuint.{name}(nuint left, nuint right)");
7224unifiedBinaryOps(symbol, "nuint", "bool?");
7225unifiedBinaryOps(symbol, "nuint", "char?", $"nuint nuint.{name}(nuint left, nuint right)");
7226unifiedBinaryOps(symbol, "nuint", "sbyte?", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nuint", "sbyte?"), getAmbiguousBinaryOpsDiagnostics(symbol, "sbyte?", "nuint"));
7227unifiedBinaryOps(symbol, "nuint", "byte?", $"nuint nuint.{name}(nuint left, nuint right)");
7228unifiedBinaryOps(symbol, "nuint", "short?", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nuint", "short?"), getAmbiguousBinaryOpsDiagnostics(symbol, "short?", "nuint"));
7229unifiedBinaryOps(symbol, "nuint", "ushort?", $"nuint nuint.{name}(nuint left, nuint right)");
7230unifiedBinaryOps(symbol, "nuint", "int?", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nuint", "int?"), getAmbiguousBinaryOpsDiagnostics(symbol, "int?", "nuint"));
7231unifiedBinaryOps(symbol, "nuint", "uint?", $"nuint nuint.{name}(nuint left, nuint right)");
7232unifiedBinaryOps(symbol, "nuint", "nint?", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nuint", "nint?"), getAmbiguousBinaryOpsDiagnostics(symbol, "nint?", "nuint"));
7233unifiedBinaryOps(symbol, "nuint", "nuint?", $"nuint nuint.{name}(nuint left, nuint right)");
7234unifiedBinaryOps(symbol, "nuint", "long?", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nuint", "long?"), getAmbiguousBinaryOpsDiagnostics(symbol, "long?", "nuint"));
7235unifiedBinaryOps(symbol, "nuint", "ulong?", $"ulong ulong.{name}(ulong left, ulong right)");
7236unifiedBinaryOps(symbol, "nuint", "float?", $"float float.{name}(float left, float right)");
7237unifiedBinaryOps(symbol, "nuint", "double?", $"double double.{name}(double left, double right)");
7238unifiedBinaryOps(symbol, "nuint", "decimal?", $"decimal decimal.{name}(decimal left, decimal right)");
7239unifiedBinaryOps(symbol, "nuint", "System.IntPtr?", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nuint", "nint?"), getAmbiguousBinaryOpsDiagnostics(symbol, "nint?", "nuint"));
7240unifiedBinaryOps(symbol, "nuint", "System.UIntPtr?", $"nuint nuint.{name}(nuint left, nuint right)");
7243unifiedBinaryOps(symbol, "nuint?", "object");
7244unifiedBinaryOps(symbol, "nuint?", "string");
7245unifiedBinaryOps(symbol, "nuint?", "void*", null, null, getBadBinaryOpsDiagnostics(symbol, "nuint?", "void*", includeVoidError: true), getBadBinaryOpsDiagnostics(symbol, "void*", "nuint?", includeVoidError: true));
7246unifiedBinaryOps(symbol, "nuint?", "bool");
7247unifiedBinaryOps(symbol, "nuint?", "char", $"nuint nuint.{name}(nuint left, nuint right)");
7248unifiedBinaryOps(symbol, "nuint?", "sbyte", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nuint?", "sbyte"), getAmbiguousBinaryOpsDiagnostics(symbol, "sbyte", "nuint?"));
7249unifiedBinaryOps(symbol, "nuint?", "byte", $"nuint nuint.{name}(nuint left, nuint right)");
7250unifiedBinaryOps(symbol, "nuint?", "short", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nuint?", "short"), getAmbiguousBinaryOpsDiagnostics(symbol, "short", "nuint?"));
7251unifiedBinaryOps(symbol, "nuint?", "ushort", $"nuint nuint.{name}(nuint left, nuint right)");
7252unifiedBinaryOps(symbol, "nuint?", "int", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nuint?", "int"), getAmbiguousBinaryOpsDiagnostics(symbol, "int", "nuint?"));
7253unifiedBinaryOps(symbol, "nuint?", "uint", $"nuint nuint.{name}(nuint left, nuint right)");
7254unifiedBinaryOps(symbol, "nuint?", "nint", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nuint?", "nint"), getAmbiguousBinaryOpsDiagnostics(symbol, "nint", "nuint?"));
7255unifiedBinaryOps(symbol, "nuint?", "nuint", $"nuint nuint.{name}(nuint left, nuint right)");
7256unifiedBinaryOps(symbol, "nuint?", "long", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nuint?", "long"), getAmbiguousBinaryOpsDiagnostics(symbol, "long", "nuint?"));
7257unifiedBinaryOps(symbol, "nuint?", "ulong", $"ulong ulong.{name}(ulong left, ulong right)");
7258unifiedBinaryOps(symbol, "nuint?", "float", $"float float.{name}(float left, float right)");
7259unifiedBinaryOps(symbol, "nuint?", "double", $"double double.{name}(double left, double right)");
7260unifiedBinaryOps(symbol, "nuint?", "decimal", $"decimal decimal.{name}(decimal left, decimal right)");
7261unifiedBinaryOps(symbol, "nuint?", "System.IntPtr", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nuint?", "nint"), getAmbiguousBinaryOpsDiagnostics(symbol, "nint", "nuint?"));
7262unifiedBinaryOps(symbol, "nuint?", "System.UIntPtr", $"nuint nuint.{name}(nuint left, nuint right)");
7265unifiedBinaryOps(symbol, "nuint?", "bool?");
7266unifiedBinaryOps(symbol, "nuint?", "char?", $"nuint nuint.{name}(nuint left, nuint right)");
7267unifiedBinaryOps(symbol, "nuint?", "sbyte?", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nuint?", "sbyte?"), getAmbiguousBinaryOpsDiagnostics(symbol, "sbyte?", "nuint?"));
7268unifiedBinaryOps(symbol, "nuint?", "byte?", $"nuint nuint.{name}(nuint left, nuint right)");
7269unifiedBinaryOps(symbol, "nuint?", "short?", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nuint?", "short?"), getAmbiguousBinaryOpsDiagnostics(symbol, "short?", "nuint?"));
7270unifiedBinaryOps(symbol, "nuint?", "ushort?", $"nuint nuint.{name}(nuint left, nuint right)");
7271unifiedBinaryOps(symbol, "nuint?", "int?", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nuint?", "int?"), getAmbiguousBinaryOpsDiagnostics(symbol, "int?", "nuint?"));
7272unifiedBinaryOps(symbol, "nuint?", "uint?", $"nuint nuint.{name}(nuint left, nuint right)");
7273unifiedBinaryOps(symbol, "nuint?", "nint?", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nuint?", "nint?"), getAmbiguousBinaryOpsDiagnostics(symbol, "nint?", "nuint?"));
7274unifiedBinaryOps(symbol, "nuint?", "nuint?", $"nuint nuint.{name}(nuint left, nuint right)");
7275unifiedBinaryOps(symbol, "nuint?", "long?", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nuint?", "long?"), getAmbiguousBinaryOpsDiagnostics(symbol, "long?", "nuint?"));
7276unifiedBinaryOps(symbol, "nuint?", "ulong?", $"ulong ulong.{name}(ulong left, ulong right)");
7277unifiedBinaryOps(symbol, "nuint?", "float?", $"float float.{name}(float left, float right)");
7278unifiedBinaryOps(symbol, "nuint?", "double?", $"double double.{name}(double left, double right)");
7279unifiedBinaryOps(symbol, "nuint?", "decimal?", $"decimal decimal.{name}(decimal left, decimal right)");
7280unifiedBinaryOps(symbol, "nuint?", "System.IntPtr?", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nuint?", "nint?"), getAmbiguousBinaryOpsDiagnostics(symbol, "nint?", "nuint?"));
7281unifiedBinaryOps(symbol, "nuint?", "System.UIntPtr?", $"nuint nuint.{name}(nuint left, nuint right)");
7287unifiedBinaryOps(symbol, "nint", "object");
7288unifiedBinaryOps(symbol, "nint", "string");
7289unifiedBinaryOps(symbol, "nint", "void*", null, null, getBadBinaryOpsDiagnostics(symbol, "nint", "void*"), getBadBinaryOpsDiagnostics(symbol, "void*", "nint"));
7290unifiedBinaryOps(symbol, "nint", "bool");
7291unifiedBinaryOps(symbol, "nint", "char", $"bool nint.{name}(nint left, nint right)");
7292unifiedBinaryOps(symbol, "nint", "sbyte", $"bool nint.{name}(nint left, nint right)");
7293unifiedBinaryOps(symbol, "nint", "byte", $"bool nint.{name}(nint left, nint right)");
7294unifiedBinaryOps(symbol, "nint", "short", $"bool nint.{name}(nint left, nint right)");
7295unifiedBinaryOps(symbol, "nint", "ushort", $"bool nint.{name}(nint left, nint right)");
7296unifiedBinaryOps(symbol, "nint", "int", $"bool nint.{name}(nint left, nint right)");
7297unifiedBinaryOps(symbol, "nint", "uint", $"bool long.{name}(long left, long right)");
7298unifiedBinaryOps(symbol, "nint", "nint", $"bool nint.{name}(nint left, nint right)");
7299unifiedBinaryOps(symbol, "nint", "nuint", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nint", "nuint"), getAmbiguousBinaryOpsDiagnostics(symbol, "nuint", "nint"));
7300unifiedBinaryOps(symbol, "nint", "long", $"bool long.{name}(long left, long right)");
7301unifiedBinaryOps(symbol, "nint", "ulong", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nint", "ulong"), getAmbiguousBinaryOpsDiagnostics(symbol, "ulong", "nint"));
7302unifiedBinaryOps(symbol, "nint", "float", $"bool float.{name}(float left, float right)");
7303unifiedBinaryOps(symbol, "nint", "double", $"bool double.{name}(double left, double right)");
7304unifiedBinaryOps(symbol, "nint", "decimal", $"bool decimal.{name}(decimal left, decimal right)");
7305unifiedBinaryOps(symbol, "nint", "System.IntPtr", $"bool nint.{name}(nint left, nint right)");
7306unifiedBinaryOps(symbol, "nint", "System.UIntPtr", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nint", "nuint"), getAmbiguousBinaryOpsDiagnostics(symbol, "nuint", "nint"));
7309unifiedBinaryOps(symbol, "nint", "bool?");
7310unifiedBinaryOps(symbol, "nint", "char?", $"bool nint.{name}(nint left, nint right)");
7311unifiedBinaryOps(symbol, "nint", "sbyte?", $"bool nint.{name}(nint left, nint right)");
7312unifiedBinaryOps(symbol, "nint", "byte?", $"bool nint.{name}(nint left, nint right)");
7313unifiedBinaryOps(symbol, "nint", "short?", $"bool nint.{name}(nint left, nint right)");
7314unifiedBinaryOps(symbol, "nint", "ushort?", $"bool nint.{name}(nint left, nint right)");
7315unifiedBinaryOps(symbol, "nint", "int?", $"bool nint.{name}(nint left, nint right)");
7316unifiedBinaryOps(symbol, "nint", "uint?", $"bool long.{name}(long left, long right)");
7317unifiedBinaryOps(symbol, "nint", "nint?", $"bool nint.{name}(nint left, nint right)");
7318unifiedBinaryOps(symbol, "nint", "nuint?", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nint", "nuint?"), getAmbiguousBinaryOpsDiagnostics(symbol, "nuint?", "nint"));
7319unifiedBinaryOps(symbol, "nint", "long?", $"bool long.{name}(long left, long right)");
7320unifiedBinaryOps(symbol, "nint", "ulong?", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nint", "ulong?"), getAmbiguousBinaryOpsDiagnostics(symbol, "ulong?", "nint"));
7321unifiedBinaryOps(symbol, "nint", "float?", $"bool float.{name}(float left, float right)");
7322unifiedBinaryOps(symbol, "nint", "double?", $"bool double.{name}(double left, double right)");
7323unifiedBinaryOps(symbol, "nint", "decimal?", $"bool decimal.{name}(decimal left, decimal right)");
7324unifiedBinaryOps(symbol, "nint", "System.IntPtr?", $"bool nint.{name}(nint left, nint right)");
7325unifiedBinaryOps(symbol, "nint", "System.UIntPtr?", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nint", "nuint?"), getAmbiguousBinaryOpsDiagnostics(symbol, "nuint?", "nint"));
7326unifiedBinaryOps(symbol, "nint", "object");
7329unifiedBinaryOps(symbol, "nint?", "string");
7330unifiedBinaryOps(symbol, "nint?", "void*", null, null, getBadBinaryOpsDiagnostics(symbol, "nint?", "void*"), getBadBinaryOpsDiagnostics(symbol, "void*", "nint?"));
7331unifiedBinaryOps(symbol, "nint?", "bool");
7332unifiedBinaryOps(symbol, "nint?", "char", $"bool nint.{name}(nint left, nint right)");
7333unifiedBinaryOps(symbol, "nint?", "sbyte", $"bool nint.{name}(nint left, nint right)");
7334unifiedBinaryOps(symbol, "nint?", "byte", $"bool nint.{name}(nint left, nint right)");
7335unifiedBinaryOps(symbol, "nint?", "short", $"bool nint.{name}(nint left, nint right)");
7336unifiedBinaryOps(symbol, "nint?", "ushort", $"bool nint.{name}(nint left, nint right)");
7337unifiedBinaryOps(symbol, "nint?", "int", $"bool nint.{name}(nint left, nint right)");
7338unifiedBinaryOps(symbol, "nint?", "uint", $"bool long.{name}(long left, long right)");
7339unifiedBinaryOps(symbol, "nint?", "nint", $"bool nint.{name}(nint left, nint right)");
7340unifiedBinaryOps(symbol, "nint?", "nuint", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nint?", "nuint"), getAmbiguousBinaryOpsDiagnostics(symbol, "nuint", "nint?"));
7341unifiedBinaryOps(symbol, "nint?", "long", $"bool long.{name}(long left, long right)");
7342unifiedBinaryOps(symbol, "nint?", "ulong", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nint?", "ulong"), getAmbiguousBinaryOpsDiagnostics(symbol, "ulong", "nint?"));
7343unifiedBinaryOps(symbol, "nint?", "float", $"bool float.{name}(float left, float right)");
7344unifiedBinaryOps(symbol, "nint?", "double", $"bool double.{name}(double left, double right)");
7345unifiedBinaryOps(symbol, "nint?", "decimal", $"bool decimal.{name}(decimal left, decimal right)");
7346unifiedBinaryOps(symbol, "nint?", "System.IntPtr", $"bool nint.{name}(nint left, nint right)");
7347unifiedBinaryOps(symbol, "nint?", "System.UIntPtr", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nint?", "nuint"), getAmbiguousBinaryOpsDiagnostics(symbol, "nuint", "nint?"));
7350unifiedBinaryOps(symbol, "nint?", "bool?");
7351unifiedBinaryOps(symbol, "nint?", "char?", $"bool nint.{name}(nint left, nint right)");
7352unifiedBinaryOps(symbol, "nint?", "sbyte?", $"bool nint.{name}(nint left, nint right)");
7353unifiedBinaryOps(symbol, "nint?", "byte?", $"bool nint.{name}(nint left, nint right)");
7354unifiedBinaryOps(symbol, "nint?", "short?", $"bool nint.{name}(nint left, nint right)");
7355unifiedBinaryOps(symbol, "nint?", "ushort?", $"bool nint.{name}(nint left, nint right)");
7356unifiedBinaryOps(symbol, "nint?", "int?", $"bool nint.{name}(nint left, nint right)");
7357unifiedBinaryOps(symbol, "nint?", "uint?", $"bool long.{name}(long left, long right)");
7358unifiedBinaryOps(symbol, "nint?", "nint?", $"bool nint.{name}(nint left, nint right)");
7359unifiedBinaryOps(symbol, "nint?", "nuint?", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nint?", "nuint?"), getAmbiguousBinaryOpsDiagnostics(symbol, "nuint?", "nint?"));
7360unifiedBinaryOps(symbol, "nint?", "long?", $"bool long.{name}(long left, long right)");
7361unifiedBinaryOps(symbol, "nint?", "ulong?", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nint?", "ulong?"), getAmbiguousBinaryOpsDiagnostics(symbol, "ulong?", "nint?"));
7362unifiedBinaryOps(symbol, "nint?", "float?", $"bool float.{name}(float left, float right)");
7363unifiedBinaryOps(symbol, "nint?", "double?", $"bool double.{name}(double left, double right)");
7364unifiedBinaryOps(symbol, "nint?", "decimal?", $"bool decimal.{name}(decimal left, decimal right)");
7365unifiedBinaryOps(symbol, "nint?", "System.IntPtr?", $"bool nint.{name}(nint left, nint right)");
7366unifiedBinaryOps(symbol, "nint?", "System.UIntPtr?", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nint?", "nuint?"), getAmbiguousBinaryOpsDiagnostics(symbol, "nuint?", "nint?"));
7369unifiedBinaryOps(symbol, "nuint", "object");
7370unifiedBinaryOps(symbol, "nuint", "string");
7371unifiedBinaryOps(symbol, "nuint", "void*", null, null, getBadBinaryOpsDiagnostics(symbol, "nuint", "void*"), getBadBinaryOpsDiagnostics(symbol, "void*", "nuint"));
7372unifiedBinaryOps(symbol, "nuint", "bool");
7373unifiedBinaryOps(symbol, "nuint", "char", $"bool nuint.{name}(nuint left, nuint right)");
7374unifiedBinaryOps(symbol, "nuint", "sbyte", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nuint", "sbyte"), getAmbiguousBinaryOpsDiagnostics(symbol, "sbyte", "nuint"));
7375unifiedBinaryOps(symbol, "nuint", "byte", $"bool nuint.{name}(nuint left, nuint right)");
7376unifiedBinaryOps(symbol, "nuint", "short", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nuint", "short"), getAmbiguousBinaryOpsDiagnostics(symbol, "short", "nuint"));
7377unifiedBinaryOps(symbol, "nuint", "ushort", $"bool nuint.{name}(nuint left, nuint right)");
7378unifiedBinaryOps(symbol, "nuint", "int", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nuint", "int"), getAmbiguousBinaryOpsDiagnostics(symbol, "int", "nuint"));
7379unifiedBinaryOps(symbol, "nuint", "uint", $"bool nuint.{name}(nuint left, nuint right)");
7380unifiedBinaryOps(symbol, "nuint", "nint", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nuint", "nint"), getAmbiguousBinaryOpsDiagnostics(symbol, "nint", "nuint"));
7381unifiedBinaryOps(symbol, "nuint", "nuint", $"bool nuint.{name}(nuint left, nuint right)");
7382unifiedBinaryOps(symbol, "nuint", "long", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nuint", "long"), getAmbiguousBinaryOpsDiagnostics(symbol, "long", "nuint"));
7383unifiedBinaryOps(symbol, "nuint", "ulong", $"bool ulong.{name}(ulong left, ulong right)");
7384unifiedBinaryOps(symbol, "nuint", "float", $"bool float.{name}(float left, float right)");
7385unifiedBinaryOps(symbol, "nuint", "double", $"bool double.{name}(double left, double right)");
7386unifiedBinaryOps(symbol, "nuint", "decimal", $"bool decimal.{name}(decimal left, decimal right)");
7387unifiedBinaryOps(symbol, "nuint", "System.IntPtr", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nuint", "nint"), getAmbiguousBinaryOpsDiagnostics(symbol, "nint", "nuint"));
7388unifiedBinaryOps(symbol, "nuint", "System.UIntPtr", $"bool nuint.{name}(nuint left, nuint right)");
7391unifiedBinaryOps(symbol, "nuint", "bool?");
7392unifiedBinaryOps(symbol, "nuint", "char?", $"bool nuint.{name}(nuint left, nuint right)");
7393unifiedBinaryOps(symbol, "nuint", "sbyte?", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nuint", "sbyte?"), getAmbiguousBinaryOpsDiagnostics(symbol, "sbyte?", "nuint"));
7394unifiedBinaryOps(symbol, "nuint", "byte?", $"bool nuint.{name}(nuint left, nuint right)");
7395unifiedBinaryOps(symbol, "nuint", "short?", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nuint", "short?"), getAmbiguousBinaryOpsDiagnostics(symbol, "short?", "nuint"));
7396unifiedBinaryOps(symbol, "nuint", "ushort?", $"bool nuint.{name}(nuint left, nuint right)");
7397unifiedBinaryOps(symbol, "nuint", "int?", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nuint", "int?"), getAmbiguousBinaryOpsDiagnostics(symbol, "int?", "nuint"));
7398unifiedBinaryOps(symbol, "nuint", "uint?", $"bool nuint.{name}(nuint left, nuint right)");
7399unifiedBinaryOps(symbol, "nuint", "nint?", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nuint", "nint?"), getAmbiguousBinaryOpsDiagnostics(symbol, "nint?", "nuint"));
7400unifiedBinaryOps(symbol, "nuint", "nuint?", $"bool nuint.{name}(nuint left, nuint right)");
7401unifiedBinaryOps(symbol, "nuint", "long?", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nuint", "long?"), getAmbiguousBinaryOpsDiagnostics(symbol, "long?", "nuint"));
7402unifiedBinaryOps(symbol, "nuint", "ulong?", $"bool ulong.{name}(ulong left, ulong right)");
7403unifiedBinaryOps(symbol, "nuint", "float?", $"bool float.{name}(float left, float right)");
7404unifiedBinaryOps(symbol, "nuint", "double?", $"bool double.{name}(double left, double right)");
7405unifiedBinaryOps(symbol, "nuint", "decimal?", $"bool decimal.{name}(decimal left, decimal right)");
7406unifiedBinaryOps(symbol, "nuint", "System.IntPtr?", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nuint", "nint?"), getAmbiguousBinaryOpsDiagnostics(symbol, "nint?", "nuint"));
7407unifiedBinaryOps(symbol, "nuint", "System.UIntPtr?", $"bool nuint.{name}(nuint left, nuint right)");
7410unifiedBinaryOps(symbol, "nuint?", "object");
7411unifiedBinaryOps(symbol, "nuint?", "string");
7412unifiedBinaryOps(symbol, "nuint?", "void*", null, null, getBadBinaryOpsDiagnostics(symbol, "nuint?", "void*"), getBadBinaryOpsDiagnostics(symbol, "void*", "nuint?"));
7413unifiedBinaryOps(symbol, "nuint?", "bool");
7414unifiedBinaryOps(symbol, "nuint?", "char", $"bool nuint.{name}(nuint left, nuint right)");
7415unifiedBinaryOps(symbol, "nuint?", "sbyte", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nuint?", "sbyte"), getAmbiguousBinaryOpsDiagnostics(symbol, "sbyte", "nuint?"));
7416unifiedBinaryOps(symbol, "nuint?", "byte", $"bool nuint.{name}(nuint left, nuint right)");
7417unifiedBinaryOps(symbol, "nuint?", "short", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nuint?", "short"), getAmbiguousBinaryOpsDiagnostics(symbol, "short", "nuint?"));
7418unifiedBinaryOps(symbol, "nuint?", "ushort", $"bool nuint.{name}(nuint left, nuint right)");
7419unifiedBinaryOps(symbol, "nuint?", "int", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nuint?", "int"), getAmbiguousBinaryOpsDiagnostics(symbol, "int", "nuint?"));
7420unifiedBinaryOps(symbol, "nuint?", "uint", $"bool nuint.{name}(nuint left, nuint right)");
7421unifiedBinaryOps(symbol, "nuint?", "nint", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nuint?", "nint"), getAmbiguousBinaryOpsDiagnostics(symbol, "nint", "nuint?"));
7422unifiedBinaryOps(symbol, "nuint?", "nuint", $"bool nuint.{name}(nuint left, nuint right)");
7423unifiedBinaryOps(symbol, "nuint?", "long", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nuint?", "long"), getAmbiguousBinaryOpsDiagnostics(symbol, "long", "nuint?"));
7424unifiedBinaryOps(symbol, "nuint?", "ulong", $"bool ulong.{name}(ulong left, ulong right)");
7425unifiedBinaryOps(symbol, "nuint?", "float", $"bool float.{name}(float left, float right)");
7426unifiedBinaryOps(symbol, "nuint?", "double", $"bool double.{name}(double left, double right)");
7427unifiedBinaryOps(symbol, "nuint?", "decimal", $"bool decimal.{name}(decimal left, decimal right)");
7428unifiedBinaryOps(symbol, "nuint?", "System.IntPtr", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nuint?", "nint"), getAmbiguousBinaryOpsDiagnostics(symbol, "nint", "nuint?"));
7429unifiedBinaryOps(symbol, "nuint?", "System.UIntPtr", $"bool nuint.{name}(nuint left, nuint right)");
7432unifiedBinaryOps(symbol, "nuint?", "bool?");
7433unifiedBinaryOps(symbol, "nuint?", "char?", $"bool nuint.{name}(nuint left, nuint right)");
7434unifiedBinaryOps(symbol, "nuint?", "sbyte?", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nuint?", "sbyte?"), getAmbiguousBinaryOpsDiagnostics(symbol, "sbyte?", "nuint?"));
7435unifiedBinaryOps(symbol, "nuint?", "byte?", $"bool nuint.{name}(nuint left, nuint right)");
7436unifiedBinaryOps(symbol, "nuint?", "short?", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nuint?", "short?"), getAmbiguousBinaryOpsDiagnostics(symbol, "short?", "nuint?"));
7437unifiedBinaryOps(symbol, "nuint?", "ushort?", $"bool nuint.{name}(nuint left, nuint right)");
7438unifiedBinaryOps(symbol, "nuint?", "int?", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nuint?", "int?"), getAmbiguousBinaryOpsDiagnostics(symbol, "int?", "nuint?"));
7439unifiedBinaryOps(symbol, "nuint?", "uint?", $"bool nuint.{name}(nuint left, nuint right)");
7440unifiedBinaryOps(symbol, "nuint?", "nint?", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nuint?", "nint?"), getAmbiguousBinaryOpsDiagnostics(symbol, "nint?", "nuint?"));
7441unifiedBinaryOps(symbol, "nuint?", "nuint?", $"bool nuint.{name}(nuint left, nuint right)");
7442unifiedBinaryOps(symbol, "nuint?", "long?", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nuint?", "long?"), getAmbiguousBinaryOpsDiagnostics(symbol, "long?", "nuint?"));
7443unifiedBinaryOps(symbol, "nuint?", "ulong?", $"bool ulong.{name}(ulong left, ulong right)");
7444unifiedBinaryOps(symbol, "nuint?", "float?", $"bool float.{name}(float left, float right)");
7445unifiedBinaryOps(symbol, "nuint?", "double?", $"bool double.{name}(double left, double right)");
7446unifiedBinaryOps(symbol, "nuint?", "decimal?", $"bool decimal.{name}(decimal left, decimal right)");
7447unifiedBinaryOps(symbol, "nuint?", "System.IntPtr?", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nuint?", "nint?"), getAmbiguousBinaryOpsDiagnostics(symbol, "nint?", "nuint?"));
7448unifiedBinaryOps(symbol, "nuint?", "System.UIntPtr?", $"bool nuint.{name}(nuint left, nuint right)");
7454unifiedBinaryOps(symbol, "nint", "object");
7455unifiedBinaryOps(symbol, "nint", "string", $"string string.{name}(object left, string right)", $"string string.{name}(string left, object right)");
7456unifiedBinaryOps(symbol, "nint", "void*", $"void* void*.{name}(long left, void* right)", $"void* void*.{name}(void* left, long right)", new[] { Diagnostic(ErrorCode.ERR_VoidError, "x + y") });
7457unifiedBinaryOps(symbol, "nint", "bool");
7458unifiedBinaryOps(symbol, "nint", "char", $"nint nint.{name}(nint left, nint right)");
7459unifiedBinaryOps(symbol, "nint", "sbyte", $"nint nint.{name}(nint left, nint right)");
7460unifiedBinaryOps(symbol, "nint", "byte", $"nint nint.{name}(nint left, nint right)");
7461unifiedBinaryOps(symbol, "nint", "short", $"nint nint.{name}(nint left, nint right)");
7462unifiedBinaryOps(symbol, "nint", "ushort", $"nint nint.{name}(nint left, nint right)");
7463unifiedBinaryOps(symbol, "nint", "int", $"nint nint.{name}(nint left, nint right)");
7464unifiedBinaryOps(symbol, "nint", "uint", $"long long.{name}(long left, long right)");
7465unifiedBinaryOps(symbol, "nint", "nint", $"nint nint.{name}(nint left, nint right)");
7466unifiedBinaryOps(symbol, "nint", "nuint", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nint", "nuint"), getAmbiguousBinaryOpsDiagnostics(symbol, "nuint", "nint"));
7467unifiedBinaryOps(symbol, "nint", "long", $"long long.{name}(long left, long right)");
7468unifiedBinaryOps(symbol, "nint", "ulong", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nint", "ulong"), getAmbiguousBinaryOpsDiagnostics(symbol, "ulong", "nint"));
7469unifiedBinaryOps(symbol, "nint", "float", $"float float.{name}(float left, float right)");
7470unifiedBinaryOps(symbol, "nint", "double", $"double double.{name}(double left, double right)");
7471unifiedBinaryOps(symbol, "nint", "decimal", $"decimal decimal.{name}(decimal left, decimal right)");
7472unifiedBinaryOps(symbol, "nint", "System.IntPtr", $"nint nint.{name}(nint left, nint right)");
7473unifiedBinaryOps(symbol, "nint", "System.UIntPtr", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nint", "nuint"), getAmbiguousBinaryOpsDiagnostics(symbol, "nuint", "nint"));
7476unifiedBinaryOps(symbol, "nint", "bool?");
7477unifiedBinaryOps(symbol, "nint", "char?", $"nint nint.{name}(nint left, nint right)");
7478unifiedBinaryOps(symbol, "nint", "sbyte?", $"nint nint.{name}(nint left, nint right)");
7479unifiedBinaryOps(symbol, "nint", "byte?", $"nint nint.{name}(nint left, nint right)");
7480unifiedBinaryOps(symbol, "nint", "short?", $"nint nint.{name}(nint left, nint right)");
7481unifiedBinaryOps(symbol, "nint", "ushort?", $"nint nint.{name}(nint left, nint right)");
7482unifiedBinaryOps(symbol, "nint", "int?", $"nint nint.{name}(nint left, nint right)");
7483unifiedBinaryOps(symbol, "nint", "uint?", $"long long.{name}(long left, long right)");
7484unifiedBinaryOps(symbol, "nint", "nint?", $"nint nint.{name}(nint left, nint right)");
7485unifiedBinaryOps(symbol, "nint", "nuint?", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nint", "nuint?"), getAmbiguousBinaryOpsDiagnostics(symbol, "nuint?", "nint"));
7486unifiedBinaryOps(symbol, "nint", "long?", $"long long.{name}(long left, long right)");
7487unifiedBinaryOps(symbol, "nint", "ulong?", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nint", "ulong?"), getAmbiguousBinaryOpsDiagnostics(symbol, "ulong?", "nint"));
7488unifiedBinaryOps(symbol, "nint", "float?", $"float float.{name}(float left, float right)");
7489unifiedBinaryOps(symbol, "nint", "double?", $"double double.{name}(double left, double right)");
7490unifiedBinaryOps(symbol, "nint", "decimal?", $"decimal decimal.{name}(decimal left, decimal right)");
7491unifiedBinaryOps(symbol, "nint", "System.IntPtr?", $"nint nint.{name}(nint left, nint right)");
7492unifiedBinaryOps(symbol, "nint", "System.UIntPtr?", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nint", "nuint?"), getAmbiguousBinaryOpsDiagnostics(symbol, "nuint?", "nint"));
7493unifiedBinaryOps(symbol, "nint", "object");
7496unifiedBinaryOps(symbol, "nint?", "string", $"string string.{name}(object left, string right)", $"string string.{name}(string left, object right)");
7497unifiedBinaryOps(symbol, "nint?", "void*", null, null, getBadBinaryOpsDiagnostics(symbol, "nint?", "void*", includeVoidError: true), getBadBinaryOpsDiagnostics(symbol, "void*", "nint?", includeVoidError: true));
7498unifiedBinaryOps(symbol, "nint?", "bool");
7499unifiedBinaryOps(symbol, "nint?", "char", $"nint nint.{name}(nint left, nint right)");
7500unifiedBinaryOps(symbol, "nint?", "sbyte", $"nint nint.{name}(nint left, nint right)");
7501unifiedBinaryOps(symbol, "nint?", "byte", $"nint nint.{name}(nint left, nint right)");
7502unifiedBinaryOps(symbol, "nint?", "short", $"nint nint.{name}(nint left, nint right)");
7503unifiedBinaryOps(symbol, "nint?", "ushort", $"nint nint.{name}(nint left, nint right)");
7504unifiedBinaryOps(symbol, "nint?", "int", $"nint nint.{name}(nint left, nint right)");
7505unifiedBinaryOps(symbol, "nint?", "uint", $"long long.{name}(long left, long right)");
7506unifiedBinaryOps(symbol, "nint?", "nint", $"nint nint.{name}(nint left, nint right)");
7507unifiedBinaryOps(symbol, "nint?", "nuint", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nint?", "nuint"), getAmbiguousBinaryOpsDiagnostics(symbol, "nuint", "nint?"));
7508unifiedBinaryOps(symbol, "nint?", "long", $"long long.{name}(long left, long right)");
7509unifiedBinaryOps(symbol, "nint?", "ulong", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nint?", "ulong"), getAmbiguousBinaryOpsDiagnostics(symbol, "ulong", "nint?"));
7510unifiedBinaryOps(symbol, "nint?", "float", $"float float.{name}(float left, float right)");
7511unifiedBinaryOps(symbol, "nint?", "double", $"double double.{name}(double left, double right)");
7512unifiedBinaryOps(symbol, "nint?", "decimal", $"decimal decimal.{name}(decimal left, decimal right)");
7513unifiedBinaryOps(symbol, "nint?", "System.IntPtr", $"nint nint.{name}(nint left, nint right)");
7514unifiedBinaryOps(symbol, "nint?", "System.UIntPtr", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nint?", "nuint"), getAmbiguousBinaryOpsDiagnostics(symbol, "nuint", "nint?"));
7517unifiedBinaryOps(symbol, "nint?", "bool?");
7518unifiedBinaryOps(symbol, "nint?", "char?", $"nint nint.{name}(nint left, nint right)");
7519unifiedBinaryOps(symbol, "nint?", "sbyte?", $"nint nint.{name}(nint left, nint right)");
7520unifiedBinaryOps(symbol, "nint?", "byte?", $"nint nint.{name}(nint left, nint right)");
7521unifiedBinaryOps(symbol, "nint?", "short?", $"nint nint.{name}(nint left, nint right)");
7522unifiedBinaryOps(symbol, "nint?", "ushort?", $"nint nint.{name}(nint left, nint right)");
7523unifiedBinaryOps(symbol, "nint?", "int?", $"nint nint.{name}(nint left, nint right)");
7524unifiedBinaryOps(symbol, "nint?", "uint?", $"long long.{name}(long left, long right)");
7525unifiedBinaryOps(symbol, "nint?", "nint?", $"nint nint.{name}(nint left, nint right)");
7526unifiedBinaryOps(symbol, "nint?", "nuint?", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nint?", "nuint?"), getAmbiguousBinaryOpsDiagnostics(symbol, "nuint?", "nint?"));
7527unifiedBinaryOps(symbol, "nint?", "long?", $"long long.{name}(long left, long right)");
7528unifiedBinaryOps(symbol, "nint?", "ulong?", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nint?", "ulong?"), getAmbiguousBinaryOpsDiagnostics(symbol, "ulong?", "nint?"));
7529unifiedBinaryOps(symbol, "nint?", "float?", $"float float.{name}(float left, float right)");
7530unifiedBinaryOps(symbol, "nint?", "double?", $"double double.{name}(double left, double right)");
7531unifiedBinaryOps(symbol, "nint?", "decimal?", $"decimal decimal.{name}(decimal left, decimal right)");
7532unifiedBinaryOps(symbol, "nint?", "System.IntPtr?", $"nint nint.{name}(nint left, nint right)");
7533unifiedBinaryOps(symbol, "nint?", "System.UIntPtr?", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nint?", "nuint?"), getAmbiguousBinaryOpsDiagnostics(symbol, "nuint?", "nint?"));
7536unifiedBinaryOps(symbol, "nuint", "object");
7537unifiedBinaryOps(symbol, "nuint", "string", $"string string.{name}(object left, string right)", $"string string.{name}(string left, object right)");
7538unifiedBinaryOps(symbol, "nuint", "void*", $"void* void*.{name}(ulong left, void* right)", $"void* void*.{name}(void* left, ulong right)", new[] { Diagnostic(ErrorCode.ERR_VoidError, "x + y") });
7539unifiedBinaryOps(symbol, "nuint", "bool");
7540unifiedBinaryOps(symbol, "nuint", "char", $"nuint nuint.{name}(nuint left, nuint right)");
7541unifiedBinaryOps(symbol, "nuint", "sbyte", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nuint", "sbyte"), getAmbiguousBinaryOpsDiagnostics(symbol, "sbyte", "nuint"));
7542unifiedBinaryOps(symbol, "nuint", "byte", $"nuint nuint.{name}(nuint left, nuint right)");
7543unifiedBinaryOps(symbol, "nuint", "short", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nuint", "short"), getAmbiguousBinaryOpsDiagnostics(symbol, "short", "nuint"));
7544unifiedBinaryOps(symbol, "nuint", "ushort", $"nuint nuint.{name}(nuint left, nuint right)");
7545unifiedBinaryOps(symbol, "nuint", "int", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nuint", "int"), getAmbiguousBinaryOpsDiagnostics(symbol, "int", "nuint"));
7546unifiedBinaryOps(symbol, "nuint", "uint", $"nuint nuint.{name}(nuint left, nuint right)");
7547unifiedBinaryOps(symbol, "nuint", "nint", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nuint", "nint"), getAmbiguousBinaryOpsDiagnostics(symbol, "nint", "nuint"));
7548unifiedBinaryOps(symbol, "nuint", "nuint", $"nuint nuint.{name}(nuint left, nuint right)");
7549unifiedBinaryOps(symbol, "nuint", "long", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nuint", "long"), getAmbiguousBinaryOpsDiagnostics(symbol, "long", "nuint"));
7550unifiedBinaryOps(symbol, "nuint", "ulong", $"ulong ulong.{name}(ulong left, ulong right)");
7551unifiedBinaryOps(symbol, "nuint", "float", $"float float.{name}(float left, float right)");
7552unifiedBinaryOps(symbol, "nuint", "double", $"double double.{name}(double left, double right)");
7553unifiedBinaryOps(symbol, "nuint", "decimal", $"decimal decimal.{name}(decimal left, decimal right)");
7554unifiedBinaryOps(symbol, "nuint", "System.IntPtr", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nuint", "nint"), getAmbiguousBinaryOpsDiagnostics(symbol, "nint", "nuint"));
7555unifiedBinaryOps(symbol, "nuint", "System.UIntPtr", $"nuint nuint.{name}(nuint left, nuint right)");
7558unifiedBinaryOps(symbol, "nuint", "bool?");
7559unifiedBinaryOps(symbol, "nuint", "char?", $"nuint nuint.{name}(nuint left, nuint right)");
7560unifiedBinaryOps(symbol, "nuint", "sbyte?", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nuint", "sbyte?"), getAmbiguousBinaryOpsDiagnostics(symbol, "sbyte?", "nuint"));
7561unifiedBinaryOps(symbol, "nuint", "byte?", $"nuint nuint.{name}(nuint left, nuint right)");
7562unifiedBinaryOps(symbol, "nuint", "short?", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nuint", "short?"), getAmbiguousBinaryOpsDiagnostics(symbol, "short?", "nuint"));
7563unifiedBinaryOps(symbol, "nuint", "ushort?", $"nuint nuint.{name}(nuint left, nuint right)");
7564unifiedBinaryOps(symbol, "nuint", "int?", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nuint", "int?"), getAmbiguousBinaryOpsDiagnostics(symbol, "int?", "nuint"));
7565unifiedBinaryOps(symbol, "nuint", "uint?", $"nuint nuint.{name}(nuint left, nuint right)");
7566unifiedBinaryOps(symbol, "nuint", "nint?", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nuint", "nint?"), getAmbiguousBinaryOpsDiagnostics(symbol, "nint?", "nuint"));
7567unifiedBinaryOps(symbol, "nuint", "nuint?", $"nuint nuint.{name}(nuint left, nuint right)");
7568unifiedBinaryOps(symbol, "nuint", "long?", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nuint", "long?"), getAmbiguousBinaryOpsDiagnostics(symbol, "long?", "nuint"));
7569unifiedBinaryOps(symbol, "nuint", "ulong?", $"ulong ulong.{name}(ulong left, ulong right)");
7570unifiedBinaryOps(symbol, "nuint", "float?", $"float float.{name}(float left, float right)");
7571unifiedBinaryOps(symbol, "nuint", "double?", $"double double.{name}(double left, double right)");
7572unifiedBinaryOps(symbol, "nuint", "decimal?", $"decimal decimal.{name}(decimal left, decimal right)");
7573unifiedBinaryOps(symbol, "nuint", "System.IntPtr?", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nuint", "nint?"), getAmbiguousBinaryOpsDiagnostics(symbol, "nint?", "nuint"));
7574unifiedBinaryOps(symbol, "nuint", "System.UIntPtr?", $"nuint nuint.{name}(nuint left, nuint right)");
7577unifiedBinaryOps(symbol, "nuint?", "object");
7578unifiedBinaryOps(symbol, "nuint?", "string", $"string string.{name}(object left, string right)", $"string string.{name}(string left, object right)");
7579unifiedBinaryOps(symbol, "nuint?", "void*", null, null, getBadBinaryOpsDiagnostics(symbol, "nuint?", "void*", includeVoidError: true), getBadBinaryOpsDiagnostics(symbol, "void*", "nuint?", includeVoidError: true));
7580unifiedBinaryOps(symbol, "nuint?", "bool");
7581unifiedBinaryOps(symbol, "nuint?", "char", $"nuint nuint.{name}(nuint left, nuint right)");
7582unifiedBinaryOps(symbol, "nuint?", "sbyte", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nuint?", "sbyte"), getAmbiguousBinaryOpsDiagnostics(symbol, "sbyte", "nuint?"));
7583unifiedBinaryOps(symbol, "nuint?", "byte", $"nuint nuint.{name}(nuint left, nuint right)");
7584unifiedBinaryOps(symbol, "nuint?", "short", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nuint?", "short"), getAmbiguousBinaryOpsDiagnostics(symbol, "short", "nuint?"));
7585unifiedBinaryOps(symbol, "nuint?", "ushort", $"nuint nuint.{name}(nuint left, nuint right)");
7586unifiedBinaryOps(symbol, "nuint?", "int", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nuint?", "int"), getAmbiguousBinaryOpsDiagnostics(symbol, "int", "nuint?"));
7587unifiedBinaryOps(symbol, "nuint?", "uint", $"nuint nuint.{name}(nuint left, nuint right)");
7588unifiedBinaryOps(symbol, "nuint?", "nint", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nuint?", "nint"), getAmbiguousBinaryOpsDiagnostics(symbol, "nint", "nuint?"));
7589unifiedBinaryOps(symbol, "nuint?", "nuint", $"nuint nuint.{name}(nuint left, nuint right)");
7590unifiedBinaryOps(symbol, "nuint?", "long", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nuint?", "long"), getAmbiguousBinaryOpsDiagnostics(symbol, "long", "nuint?"));
7591unifiedBinaryOps(symbol, "nuint?", "ulong", $"ulong ulong.{name}(ulong left, ulong right)");
7592unifiedBinaryOps(symbol, "nuint?", "float", $"float float.{name}(float left, float right)");
7593unifiedBinaryOps(symbol, "nuint?", "double", $"double double.{name}(double left, double right)");
7594unifiedBinaryOps(symbol, "nuint?", "decimal", $"decimal decimal.{name}(decimal left, decimal right)");
7595unifiedBinaryOps(symbol, "nuint?", "System.IntPtr", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nuint?", "nint"), getAmbiguousBinaryOpsDiagnostics(symbol, "nint", "nuint?"));
7596unifiedBinaryOps(symbol, "nuint?", "System.UIntPtr", $"nuint nuint.{name}(nuint left, nuint right)");
7599unifiedBinaryOps(symbol, "nuint?", "bool?");
7600unifiedBinaryOps(symbol, "nuint?", "char?", $"nuint nuint.{name}(nuint left, nuint right)");
7601unifiedBinaryOps(symbol, "nuint?", "sbyte?", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nuint?", "sbyte?"), getAmbiguousBinaryOpsDiagnostics(symbol, "sbyte?", "nuint?"));
7602unifiedBinaryOps(symbol, "nuint?", "byte?", $"nuint nuint.{name}(nuint left, nuint right)");
7603unifiedBinaryOps(symbol, "nuint?", "short?", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nuint?", "short?"), getAmbiguousBinaryOpsDiagnostics(symbol, "short?", "nuint?"));
7604unifiedBinaryOps(symbol, "nuint?", "ushort?", $"nuint nuint.{name}(nuint left, nuint right)");
7605unifiedBinaryOps(symbol, "nuint?", "int?", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nuint?", "int?"), getAmbiguousBinaryOpsDiagnostics(symbol, "int?", "nuint?"));
7606unifiedBinaryOps(symbol, "nuint?", "uint?", $"nuint nuint.{name}(nuint left, nuint right)");
7607unifiedBinaryOps(symbol, "nuint?", "nint?", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nuint?", "nint?"), getAmbiguousBinaryOpsDiagnostics(symbol, "nint?", "nuint?"));
7608unifiedBinaryOps(symbol, "nuint?", "nuint?", $"nuint nuint.{name}(nuint left, nuint right)");
7609unifiedBinaryOps(symbol, "nuint?", "long?", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nuint?", "long?"), getAmbiguousBinaryOpsDiagnostics(symbol, "long?", "nuint?"));
7610unifiedBinaryOps(symbol, "nuint?", "ulong?", $"ulong ulong.{name}(ulong left, ulong right)");
7611unifiedBinaryOps(symbol, "nuint?", "float?", $"float float.{name}(float left, float right)");
7612unifiedBinaryOps(symbol, "nuint?", "double?", $"double double.{name}(double left, double right)");
7613unifiedBinaryOps(symbol, "nuint?", "decimal?", $"decimal decimal.{name}(decimal left, decimal right)");
7614unifiedBinaryOps(symbol, "nuint?", "System.IntPtr?", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nuint?", "nint?"), getAmbiguousBinaryOpsDiagnostics(symbol, "nint?", "nuint?"));
7615unifiedBinaryOps(symbol, "nuint?", "System.UIntPtr?", $"nuint nuint.{name}(nuint left, nuint right)");
7621unifiedBinaryOps(symbol, "nint", "object");
7622unifiedBinaryOps(symbol, "nint", "string");
7623unifiedBinaryOps(symbol, "nint", "void*", null, null, getBadBinaryOpsDiagnostics(symbol, "nint", "void*", includeVoidError: true), getBadBinaryOpsDiagnostics(symbol, "void*", "nint", includeVoidError: true));
7624unifiedBinaryOps(symbol, "nint", "bool");
7625unifiedBinaryOps(symbol, "nint", "char", $"nint nint.{name}(nint left, int right)", null);
7626unifiedBinaryOps(symbol, "nint", "sbyte", $"nint nint.{name}(nint left, int right)", null);
7627unifiedBinaryOps(symbol, "nint", "byte", $"nint nint.{name}(nint left, int right)", null);
7628unifiedBinaryOps(symbol, "nint", "short", $"nint nint.{name}(nint left, int right)", null);
7629unifiedBinaryOps(symbol, "nint", "ushort", $"nint nint.{name}(nint left, int right)", null);
7630unifiedBinaryOps(symbol, "nint", "int", $"nint nint.{name}(nint left, int right)", null);
7631unifiedBinaryOps(symbol, "nint", "uint");
7632unifiedBinaryOps(symbol, "nint", "nint");
7633unifiedBinaryOps(symbol, "nint", "nuint");
7634unifiedBinaryOps(symbol, "nint", "long");
7635unifiedBinaryOps(symbol, "nint", "ulong");
7636unifiedBinaryOps(symbol, "nint", "float");
7637unifiedBinaryOps(symbol, "nint", "double");
7638unifiedBinaryOps(symbol, "nint", "decimal");
7639unifiedBinaryOps(symbol, "nint", "System.IntPtr");
7640unifiedBinaryOps(symbol, "nint", "System.UIntPtr");
7643unifiedBinaryOps(symbol, "nint", "bool?");
7644unifiedBinaryOps(symbol, "nint", "char?", $"nint nint.{name}(nint left, int right)", null);
7645unifiedBinaryOps(symbol, "nint", "sbyte?", $"nint nint.{name}(nint left, int right)", null);
7646unifiedBinaryOps(symbol, "nint", "byte?", $"nint nint.{name}(nint left, int right)", null);
7647unifiedBinaryOps(symbol, "nint", "short?", $"nint nint.{name}(nint left, int right)", null);
7648unifiedBinaryOps(symbol, "nint", "ushort?", $"nint nint.{name}(nint left, int right)", null);
7649unifiedBinaryOps(symbol, "nint", "int?", $"nint nint.{name}(nint left, int right)", null);
7650unifiedBinaryOps(symbol, "nint", "uint?");
7651unifiedBinaryOps(symbol, "nint", "nint?");
7652unifiedBinaryOps(symbol, "nint", "nuint?");
7653unifiedBinaryOps(symbol, "nint", "long?");
7654unifiedBinaryOps(symbol, "nint", "ulong?");
7655unifiedBinaryOps(symbol, "nint", "float?");
7656unifiedBinaryOps(symbol, "nint", "double?");
7657unifiedBinaryOps(symbol, "nint", "decimal?");
7658unifiedBinaryOps(symbol, "nint", "System.IntPtr?");
7659unifiedBinaryOps(symbol, "nint", "System.UIntPtr?");
7660unifiedBinaryOps(symbol, "nint", "object");
7663unifiedBinaryOps(symbol, "nint?", "string");
7664unifiedBinaryOps(symbol, "nint?", "void*", null, null, getBadBinaryOpsDiagnostics(symbol, "nint?", "void*", includeVoidError: true), getBadBinaryOpsDiagnostics(symbol, "void*", "nint?", includeVoidError: true));
7665unifiedBinaryOps(symbol, "nint?", "bool");
7666unifiedBinaryOps(symbol, "nint?", "char", $"nint nint.{name}(nint left, int right)", null);
7667unifiedBinaryOps(symbol, "nint?", "sbyte", $"nint nint.{name}(nint left, int right)", null);
7668unifiedBinaryOps(symbol, "nint?", "byte", $"nint nint.{name}(nint left, int right)", null);
7669unifiedBinaryOps(symbol, "nint?", "short", $"nint nint.{name}(nint left, int right)", null);
7670unifiedBinaryOps(symbol, "nint?", "ushort", $"nint nint.{name}(nint left, int right)", null);
7671unifiedBinaryOps(symbol, "nint?", "int", $"nint nint.{name}(nint left, int right)", null);
7672unifiedBinaryOps(symbol, "nint?", "uint");
7673unifiedBinaryOps(symbol, "nint?", "nint");
7674unifiedBinaryOps(symbol, "nint?", "nuint");
7675unifiedBinaryOps(symbol, "nint?", "long");
7676unifiedBinaryOps(symbol, "nint?", "ulong");
7677unifiedBinaryOps(symbol, "nint?", "float");
7678unifiedBinaryOps(symbol, "nint?", "double");
7679unifiedBinaryOps(symbol, "nint?", "decimal");
7680unifiedBinaryOps(symbol, "nint?", "System.IntPtr");
7681unifiedBinaryOps(symbol, "nint?", "System.UIntPtr");
7684unifiedBinaryOps(symbol, "nint?", "bool?");
7685unifiedBinaryOps(symbol, "nint?", "char?", $"nint nint.{name}(nint left, int right)", null);
7686unifiedBinaryOps(symbol, "nint?", "sbyte?", $"nint nint.{name}(nint left, int right)", null);
7687unifiedBinaryOps(symbol, "nint?", "byte?", $"nint nint.{name}(nint left, int right)", null);
7688unifiedBinaryOps(symbol, "nint?", "short?", $"nint nint.{name}(nint left, int right)", null);
7689unifiedBinaryOps(symbol, "nint?", "ushort?", $"nint nint.{name}(nint left, int right)", null);
7690unifiedBinaryOps(symbol, "nint?", "int?", $"nint nint.{name}(nint left, int right)", null);
7691unifiedBinaryOps(symbol, "nint?", "uint?");
7692unifiedBinaryOps(symbol, "nint?", "nint?");
7693unifiedBinaryOps(symbol, "nint?", "nuint?");
7694unifiedBinaryOps(symbol, "nint?", "long?");
7695unifiedBinaryOps(symbol, "nint?", "ulong?");
7696unifiedBinaryOps(symbol, "nint?", "float?");
7697unifiedBinaryOps(symbol, "nint?", "double?");
7698unifiedBinaryOps(symbol, "nint?", "decimal?");
7699unifiedBinaryOps(symbol, "nint?", "System.IntPtr?");
7700unifiedBinaryOps(symbol, "nint?", "System.UIntPtr?");
7703unifiedBinaryOps(symbol, "nuint", "object");
7704unifiedBinaryOps(symbol, "nuint", "string");
7705unifiedBinaryOps(symbol, "nuint", "void*", null, null, getBadBinaryOpsDiagnostics(symbol, "nuint", "void*", includeVoidError: true), getBadBinaryOpsDiagnostics(symbol, "void*", "nuint", includeVoidError: true));
7706unifiedBinaryOps(symbol, "nuint", "bool");
7707unifiedBinaryOps(symbol, "nuint", "char", $"nuint nuint.{name}(nuint left, int right)", null);
7708unifiedBinaryOps(symbol, "nuint", "sbyte", $"nuint nuint.{name}(nuint left, int right)", null);
7709unifiedBinaryOps(symbol, "nuint", "byte", $"nuint nuint.{name}(nuint left, int right)", null);
7710unifiedBinaryOps(symbol, "nuint", "short", $"nuint nuint.{name}(nuint left, int right)", null);
7711unifiedBinaryOps(symbol, "nuint", "ushort", $"nuint nuint.{name}(nuint left, int right)", null);
7712unifiedBinaryOps(symbol, "nuint", "int", $"nuint nuint.{name}(nuint left, int right)", null);
7713unifiedBinaryOps(symbol, "nuint", "uint");
7714unifiedBinaryOps(symbol, "nuint", "nint");
7715unifiedBinaryOps(symbol, "nuint", "nuint");
7716unifiedBinaryOps(symbol, "nuint", "long");
7717unifiedBinaryOps(symbol, "nuint", "ulong");
7718unifiedBinaryOps(symbol, "nuint", "float");
7719unifiedBinaryOps(symbol, "nuint", "double");
7720unifiedBinaryOps(symbol, "nuint", "decimal");
7721unifiedBinaryOps(symbol, "nuint", "System.IntPtr");
7722unifiedBinaryOps(symbol, "nuint", "System.UIntPtr");
7725unifiedBinaryOps(symbol, "nuint", "bool?");
7726unifiedBinaryOps(symbol, "nuint", "char?", $"nuint nuint.{name}(nuint left, int right)", null);
7727unifiedBinaryOps(symbol, "nuint", "sbyte?", $"nuint nuint.{name}(nuint left, int right)", null);
7728unifiedBinaryOps(symbol, "nuint", "byte?", $"nuint nuint.{name}(nuint left, int right)", null);
7729unifiedBinaryOps(symbol, "nuint", "short?", $"nuint nuint.{name}(nuint left, int right)", null);
7730unifiedBinaryOps(symbol, "nuint", "ushort?", $"nuint nuint.{name}(nuint left, int right)", null);
7731unifiedBinaryOps(symbol, "nuint", "int?", $"nuint nuint.{name}(nuint left, int right)", null);
7732unifiedBinaryOps(symbol, "nuint", "uint?");
7733unifiedBinaryOps(symbol, "nuint", "nint?");
7734unifiedBinaryOps(symbol, "nuint", "nuint?");
7735unifiedBinaryOps(symbol, "nuint", "long?");
7736unifiedBinaryOps(symbol, "nuint", "ulong?");
7737unifiedBinaryOps(symbol, "nuint", "float?");
7738unifiedBinaryOps(symbol, "nuint", "double?");
7739unifiedBinaryOps(symbol, "nuint", "decimal?");
7740unifiedBinaryOps(symbol, "nuint", "System.IntPtr?");
7741unifiedBinaryOps(symbol, "nuint", "System.UIntPtr?");
7744unifiedBinaryOps(symbol, "nuint?", "object");
7745unifiedBinaryOps(symbol, "nuint?", "string");
7746unifiedBinaryOps(symbol, "nuint?", "void*", null, null, getBadBinaryOpsDiagnostics(symbol, "nuint?", "void*", includeVoidError: true), getBadBinaryOpsDiagnostics(symbol, "void*", "nuint?", includeVoidError: true));
7747unifiedBinaryOps(symbol, "nuint?", "bool");
7748unifiedBinaryOps(symbol, "nuint?", "char", $"nuint nuint.{name}(nuint left, int right)", null);
7749unifiedBinaryOps(symbol, "nuint?", "sbyte", $"nuint nuint.{name}(nuint left, int right)", null);
7750unifiedBinaryOps(symbol, "nuint?", "byte", $"nuint nuint.{name}(nuint left, int right)", null);
7751unifiedBinaryOps(symbol, "nuint?", "short", $"nuint nuint.{name}(nuint left, int right)", null);
7752unifiedBinaryOps(symbol, "nuint?", "ushort", $"nuint nuint.{name}(nuint left, int right)", null);
7753unifiedBinaryOps(symbol, "nuint?", "int", $"nuint nuint.{name}(nuint left, int right)", null);
7754unifiedBinaryOps(symbol, "nuint?", "uint");
7755unifiedBinaryOps(symbol, "nuint?", "nint");
7756unifiedBinaryOps(symbol, "nuint?", "nuint");
7757unifiedBinaryOps(symbol, "nuint?", "long");
7758unifiedBinaryOps(symbol, "nuint?", "ulong");
7759unifiedBinaryOps(symbol, "nuint?", "float");
7760unifiedBinaryOps(symbol, "nuint?", "double");
7761unifiedBinaryOps(symbol, "nuint?", "decimal");
7762unifiedBinaryOps(symbol, "nuint?", "System.IntPtr");
7763unifiedBinaryOps(symbol, "nuint?", "System.UIntPtr");
7766unifiedBinaryOps(symbol, "nuint?", "bool?");
7767unifiedBinaryOps(symbol, "nuint?", "char?", $"nuint nuint.{name}(nuint left, int right)", null);
7768unifiedBinaryOps(symbol, "nuint?", "sbyte?", $"nuint nuint.{name}(nuint left, int right)", null);
7769unifiedBinaryOps(symbol, "nuint?", "byte?", $"nuint nuint.{name}(nuint left, int right)", null);
7770unifiedBinaryOps(symbol, "nuint?", "short?", $"nuint nuint.{name}(nuint left, int right)", null);
7771unifiedBinaryOps(symbol, "nuint?", "ushort?", $"nuint nuint.{name}(nuint left, int right)", null);
7772unifiedBinaryOps(symbol, "nuint?", "int?", $"nuint nuint.{name}(nuint left, int right)", null);
7773unifiedBinaryOps(symbol, "nuint?", "uint?");
7774unifiedBinaryOps(symbol, "nuint?", "nint?");
7775unifiedBinaryOps(symbol, "nuint?", "nuint?");
7776unifiedBinaryOps(symbol, "nuint?", "long?");
7777unifiedBinaryOps(symbol, "nuint?", "ulong?");
7778unifiedBinaryOps(symbol, "nuint?", "float?");
7779unifiedBinaryOps(symbol, "nuint?", "double?");
7780unifiedBinaryOps(symbol, "nuint?", "decimal?");
7781unifiedBinaryOps(symbol, "nuint?", "System.IntPtr?");
7782unifiedBinaryOps(symbol, "nuint?", "System.UIntPtr?");
7788unifiedBinaryOps(symbol, "nint", "object");
7789unifiedBinaryOps(symbol, "nint", "string");
7790unifiedBinaryOps(symbol, "nint", "void*", null, null, getBadBinaryOpsDiagnostics(symbol, "nint", "void*"), getBadBinaryOpsDiagnostics(symbol, "void*", "nint"));
7791unifiedBinaryOps(symbol, "nint", "bool");
7792unifiedBinaryOps(symbol, "nint", "char", $"bool nint.{name}(nint left, nint right)");
7793unifiedBinaryOps(symbol, "nint", "sbyte", $"bool nint.{name}(nint left, nint right)");
7794unifiedBinaryOps(symbol, "nint", "byte", $"bool nint.{name}(nint left, nint right)");
7795unifiedBinaryOps(symbol, "nint", "short", $"bool nint.{name}(nint left, nint right)");
7796unifiedBinaryOps(symbol, "nint", "ushort", $"bool nint.{name}(nint left, nint right)");
7797unifiedBinaryOps(symbol, "nint", "int", $"bool nint.{name}(nint left, nint right)");
7798unifiedBinaryOps(symbol, "nint", "uint", $"bool long.{name}(long left, long right)");
7799unifiedBinaryOps(symbol, "nint", "nint", $"bool nint.{name}(nint left, nint right)");
7800unifiedBinaryOps(symbol, "nint", "nuint", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nint", "nuint"), getAmbiguousBinaryOpsDiagnostics(symbol, "nuint", "nint"));
7801unifiedBinaryOps(symbol, "nint", "long", $"bool long.{name}(long left, long right)");
7802unifiedBinaryOps(symbol, "nint", "ulong", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nint", "ulong"), getAmbiguousBinaryOpsDiagnostics(symbol, "ulong", "nint"));
7803unifiedBinaryOps(symbol, "nint", "float", $"bool float.{name}(float left, float right)");
7804unifiedBinaryOps(symbol, "nint", "double", $"bool double.{name}(double left, double right)");
7805unifiedBinaryOps(symbol, "nint", "decimal", $"bool decimal.{name}(decimal left, decimal right)");
7806unifiedBinaryOps(symbol, "nint", "System.IntPtr", $"bool nint.{name}(nint left, nint right)");
7807unifiedBinaryOps(symbol, "nint", "System.UIntPtr", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nint", "nuint"), getAmbiguousBinaryOpsDiagnostics(symbol, "nuint", "nint"));
7810unifiedBinaryOps(symbol, "nint", "bool?");
7811unifiedBinaryOps(symbol, "nint", "char?", $"bool nint.{name}(nint left, nint right)");
7812unifiedBinaryOps(symbol, "nint", "sbyte?", $"bool nint.{name}(nint left, nint right)");
7813unifiedBinaryOps(symbol, "nint", "byte?", $"bool nint.{name}(nint left, nint right)");
7814unifiedBinaryOps(symbol, "nint", "short?", $"bool nint.{name}(nint left, nint right)");
7815unifiedBinaryOps(symbol, "nint", "ushort?", $"bool nint.{name}(nint left, nint right)");
7816unifiedBinaryOps(symbol, "nint", "int?", $"bool nint.{name}(nint left, nint right)");
7817unifiedBinaryOps(symbol, "nint", "uint?", $"bool long.{name}(long left, long right)");
7818unifiedBinaryOps(symbol, "nint", "nint?", $"bool nint.{name}(nint left, nint right)");
7819unifiedBinaryOps(symbol, "nint", "nuint?", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nint", "nuint?"), getAmbiguousBinaryOpsDiagnostics(symbol, "nuint?", "nint"));
7820unifiedBinaryOps(symbol, "nint", "long?", $"bool long.{name}(long left, long right)");
7821unifiedBinaryOps(symbol, "nint", "ulong?", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nint", "ulong?"), getAmbiguousBinaryOpsDiagnostics(symbol, "ulong?", "nint"));
7822unifiedBinaryOps(symbol, "nint", "float?", $"bool float.{name}(float left, float right)");
7823unifiedBinaryOps(symbol, "nint", "double?", $"bool double.{name}(double left, double right)");
7824unifiedBinaryOps(symbol, "nint", "decimal?", $"bool decimal.{name}(decimal left, decimal right)");
7825unifiedBinaryOps(symbol, "nint", "System.IntPtr?", $"bool nint.{name}(nint left, nint right)");
7826unifiedBinaryOps(symbol, "nint", "System.UIntPtr?", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nint", "nuint?"), getAmbiguousBinaryOpsDiagnostics(symbol, "nuint?", "nint"));
7827unifiedBinaryOps(symbol, "nint", "object");
7830unifiedBinaryOps(symbol, "nint?", "string");
7831unifiedBinaryOps(symbol, "nint?", "void*", null, null, getBadBinaryOpsDiagnostics(symbol, "nint?", "void*"), getBadBinaryOpsDiagnostics(symbol, "void*", "nint?"));
7832unifiedBinaryOps(symbol, "nint?", "bool");
7833unifiedBinaryOps(symbol, "nint?", "char", $"bool nint.{name}(nint left, nint right)");
7834unifiedBinaryOps(symbol, "nint?", "sbyte", $"bool nint.{name}(nint left, nint right)");
7835unifiedBinaryOps(symbol, "nint?", "byte", $"bool nint.{name}(nint left, nint right)");
7836unifiedBinaryOps(symbol, "nint?", "short", $"bool nint.{name}(nint left, nint right)");
7837unifiedBinaryOps(symbol, "nint?", "ushort", $"bool nint.{name}(nint left, nint right)");
7838unifiedBinaryOps(symbol, "nint?", "int", $"bool nint.{name}(nint left, nint right)");
7839unifiedBinaryOps(symbol, "nint?", "uint", $"bool long.{name}(long left, long right)");
7840unifiedBinaryOps(symbol, "nint?", "nint", $"bool nint.{name}(nint left, nint right)");
7841unifiedBinaryOps(symbol, "nint?", "nuint", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nint?", "nuint"), getAmbiguousBinaryOpsDiagnostics(symbol, "nuint", "nint?"));
7842unifiedBinaryOps(symbol, "nint?", "long", $"bool long.{name}(long left, long right)");
7843unifiedBinaryOps(symbol, "nint?", "ulong", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nint?", "ulong"), getAmbiguousBinaryOpsDiagnostics(symbol, "ulong", "nint?"));
7844unifiedBinaryOps(symbol, "nint?", "float", $"bool float.{name}(float left, float right)");
7845unifiedBinaryOps(symbol, "nint?", "double", $"bool double.{name}(double left, double right)");
7846unifiedBinaryOps(symbol, "nint?", "decimal", $"bool decimal.{name}(decimal left, decimal right)");
7847unifiedBinaryOps(symbol, "nint?", "System.IntPtr", $"bool nint.{name}(nint left, nint right)");
7848unifiedBinaryOps(symbol, "nint?", "System.UIntPtr", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nint?", "nuint"), getAmbiguousBinaryOpsDiagnostics(symbol, "nuint", "nint?"));
7851unifiedBinaryOps(symbol, "nint?", "bool?");
7852unifiedBinaryOps(symbol, "nint?", "char?", $"bool nint.{name}(nint left, nint right)");
7853unifiedBinaryOps(symbol, "nint?", "sbyte?", $"bool nint.{name}(nint left, nint right)");
7854unifiedBinaryOps(symbol, "nint?", "byte?", $"bool nint.{name}(nint left, nint right)");
7855unifiedBinaryOps(symbol, "nint?", "short?", $"bool nint.{name}(nint left, nint right)");
7856unifiedBinaryOps(symbol, "nint?", "ushort?", $"bool nint.{name}(nint left, nint right)");
7857unifiedBinaryOps(symbol, "nint?", "int?", $"bool nint.{name}(nint left, nint right)");
7858unifiedBinaryOps(symbol, "nint?", "uint?", $"bool long.{name}(long left, long right)");
7859unifiedBinaryOps(symbol, "nint?", "nint?", $"bool nint.{name}(nint left, nint right)");
7860unifiedBinaryOps(symbol, "nint?", "nuint?", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nint?", "nuint?"), getAmbiguousBinaryOpsDiagnostics(symbol, "nuint?", "nint?"));
7861unifiedBinaryOps(symbol, "nint?", "long?", $"bool long.{name}(long left, long right)");
7862unifiedBinaryOps(symbol, "nint?", "ulong?", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nint?", "ulong?"), getAmbiguousBinaryOpsDiagnostics(symbol, "ulong?", "nint?"));
7863unifiedBinaryOps(symbol, "nint?", "float?", $"bool float.{name}(float left, float right)");
7864unifiedBinaryOps(symbol, "nint?", "double?", $"bool double.{name}(double left, double right)");
7865unifiedBinaryOps(symbol, "nint?", "decimal?", $"bool decimal.{name}(decimal left, decimal right)");
7866unifiedBinaryOps(symbol, "nint?", "System.IntPtr?", $"bool nint.{name}(nint left, nint right)");
7867unifiedBinaryOps(symbol, "nint?", "System.UIntPtr?", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nint?", "nuint?"), getAmbiguousBinaryOpsDiagnostics(symbol, "nuint?", "nint?"));
7870unifiedBinaryOps(symbol, "nuint", "object");
7871unifiedBinaryOps(symbol, "nuint", "string");
7872unifiedBinaryOps(symbol, "nuint", "void*", null, null, getBadBinaryOpsDiagnostics(symbol, "nuint", "void*"), getBadBinaryOpsDiagnostics(symbol, "void*", "nuint"));
7873unifiedBinaryOps(symbol, "nuint", "bool");
7874unifiedBinaryOps(symbol, "nuint", "char", $"bool nuint.{name}(nuint left, nuint right)");
7875unifiedBinaryOps(symbol, "nuint", "sbyte", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nuint", "sbyte"), getAmbiguousBinaryOpsDiagnostics(symbol, "sbyte", "nuint"));
7876unifiedBinaryOps(symbol, "nuint", "byte", $"bool nuint.{name}(nuint left, nuint right)");
7877unifiedBinaryOps(symbol, "nuint", "short", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nuint", "short"), getAmbiguousBinaryOpsDiagnostics(symbol, "short", "nuint"));
7878unifiedBinaryOps(symbol, "nuint", "ushort", $"bool nuint.{name}(nuint left, nuint right)");
7879unifiedBinaryOps(symbol, "nuint", "int", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nuint", "int"), getAmbiguousBinaryOpsDiagnostics(symbol, "int", "nuint"));
7880unifiedBinaryOps(symbol, "nuint", "uint", $"bool nuint.{name}(nuint left, nuint right)");
7881unifiedBinaryOps(symbol, "nuint", "nint", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nuint", "nint"), getAmbiguousBinaryOpsDiagnostics(symbol, "nint", "nuint"));
7882unifiedBinaryOps(symbol, "nuint", "nuint", $"bool nuint.{name}(nuint left, nuint right)");
7883unifiedBinaryOps(symbol, "nuint", "long", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nuint", "long"), getAmbiguousBinaryOpsDiagnostics(symbol, "long", "nuint"));
7884unifiedBinaryOps(symbol, "nuint", "ulong", $"bool ulong.{name}(ulong left, ulong right)");
7885unifiedBinaryOps(symbol, "nuint", "float", $"bool float.{name}(float left, float right)");
7886unifiedBinaryOps(symbol, "nuint", "double", $"bool double.{name}(double left, double right)");
7887unifiedBinaryOps(symbol, "nuint", "decimal", $"bool decimal.{name}(decimal left, decimal right)");
7888unifiedBinaryOps(symbol, "nuint", "System.IntPtr", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nuint", "nint"), getAmbiguousBinaryOpsDiagnostics(symbol, "nint", "nuint"));
7889unifiedBinaryOps(symbol, "nuint", "System.UIntPtr", $"bool nuint.{name}(nuint left, nuint right)");
7892unifiedBinaryOps(symbol, "nuint", "bool?");
7893unifiedBinaryOps(symbol, "nuint", "char?", $"bool nuint.{name}(nuint left, nuint right)");
7894unifiedBinaryOps(symbol, "nuint", "sbyte?", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nuint", "sbyte?"), getAmbiguousBinaryOpsDiagnostics(symbol, "sbyte?", "nuint"));
7895unifiedBinaryOps(symbol, "nuint", "byte?", $"bool nuint.{name}(nuint left, nuint right)");
7896unifiedBinaryOps(symbol, "nuint", "short?", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nuint", "short?"), getAmbiguousBinaryOpsDiagnostics(symbol, "short?", "nuint"));
7897unifiedBinaryOps(symbol, "nuint", "ushort?", $"bool nuint.{name}(nuint left, nuint right)");
7898unifiedBinaryOps(symbol, "nuint", "int?", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nuint", "int?"), getAmbiguousBinaryOpsDiagnostics(symbol, "int?", "nuint"));
7899unifiedBinaryOps(symbol, "nuint", "uint?", $"bool nuint.{name}(nuint left, nuint right)");
7900unifiedBinaryOps(symbol, "nuint", "nint?", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nuint", "nint?"), getAmbiguousBinaryOpsDiagnostics(symbol, "nint?", "nuint"));
7901unifiedBinaryOps(symbol, "nuint", "nuint?", $"bool nuint.{name}(nuint left, nuint right)");
7902unifiedBinaryOps(symbol, "nuint", "long?", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nuint", "long?"), getAmbiguousBinaryOpsDiagnostics(symbol, "long?", "nuint"));
7903unifiedBinaryOps(symbol, "nuint", "ulong?", $"bool ulong.{name}(ulong left, ulong right)");
7904unifiedBinaryOps(symbol, "nuint", "float?", $"bool float.{name}(float left, float right)");
7905unifiedBinaryOps(symbol, "nuint", "double?", $"bool double.{name}(double left, double right)");
7906unifiedBinaryOps(symbol, "nuint", "decimal?", $"bool decimal.{name}(decimal left, decimal right)");
7907unifiedBinaryOps(symbol, "nuint", "System.IntPtr?", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nuint", "nint?"), getAmbiguousBinaryOpsDiagnostics(symbol, "nint?", "nuint"));
7908unifiedBinaryOps(symbol, "nuint", "System.UIntPtr?", $"bool nuint.{name}(nuint left, nuint right)");
7911unifiedBinaryOps(symbol, "nuint?", "object");
7912unifiedBinaryOps(symbol, "nuint?", "string");
7913unifiedBinaryOps(symbol, "nuint?", "void*", null, null, getBadBinaryOpsDiagnostics(symbol, "nuint?", "void*"), getBadBinaryOpsDiagnostics(symbol, "void*", "nuint?"));
7914unifiedBinaryOps(symbol, "nuint?", "bool");
7915unifiedBinaryOps(symbol, "nuint?", "char", $"bool nuint.{name}(nuint left, nuint right)");
7916unifiedBinaryOps(symbol, "nuint?", "sbyte", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nuint?", "sbyte"), getAmbiguousBinaryOpsDiagnostics(symbol, "sbyte", "nuint?"));
7917unifiedBinaryOps(symbol, "nuint?", "byte", $"bool nuint.{name}(nuint left, nuint right)");
7918unifiedBinaryOps(symbol, "nuint?", "short", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nuint?", "short"), getAmbiguousBinaryOpsDiagnostics(symbol, "short", "nuint?"));
7919unifiedBinaryOps(symbol, "nuint?", "ushort", $"bool nuint.{name}(nuint left, nuint right)");
7920unifiedBinaryOps(symbol, "nuint?", "int", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nuint?", "int"), getAmbiguousBinaryOpsDiagnostics(symbol, "int", "nuint?"));
7921unifiedBinaryOps(symbol, "nuint?", "uint", $"bool nuint.{name}(nuint left, nuint right)");
7922unifiedBinaryOps(symbol, "nuint?", "nint", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nuint?", "nint"), getAmbiguousBinaryOpsDiagnostics(symbol, "nint", "nuint?"));
7923unifiedBinaryOps(symbol, "nuint?", "nuint", $"bool nuint.{name}(nuint left, nuint right)");
7924unifiedBinaryOps(symbol, "nuint?", "long", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nuint?", "long"), getAmbiguousBinaryOpsDiagnostics(symbol, "long", "nuint?"));
7925unifiedBinaryOps(symbol, "nuint?", "ulong", $"bool ulong.{name}(ulong left, ulong right)");
7926unifiedBinaryOps(symbol, "nuint?", "float", $"bool float.{name}(float left, float right)");
7927unifiedBinaryOps(symbol, "nuint?", "double", $"bool double.{name}(double left, double right)");
7928unifiedBinaryOps(symbol, "nuint?", "decimal", $"bool decimal.{name}(decimal left, decimal right)");
7929unifiedBinaryOps(symbol, "nuint?", "System.IntPtr", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nuint?", "nint"), getAmbiguousBinaryOpsDiagnostics(symbol, "nint", "nuint?"));
7930unifiedBinaryOps(symbol, "nuint?", "System.UIntPtr", $"bool nuint.{name}(nuint left, nuint right)");
7933unifiedBinaryOps(symbol, "nuint?", "bool?");
7934unifiedBinaryOps(symbol, "nuint?", "char?", $"bool nuint.{name}(nuint left, nuint right)");
7935unifiedBinaryOps(symbol, "nuint?", "sbyte?", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nuint?", "sbyte?"), getAmbiguousBinaryOpsDiagnostics(symbol, "sbyte?", "nuint?"));
7936unifiedBinaryOps(symbol, "nuint?", "byte?", $"bool nuint.{name}(nuint left, nuint right)");
7937unifiedBinaryOps(symbol, "nuint?", "short?", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nuint?", "short?"), getAmbiguousBinaryOpsDiagnostics(symbol, "short?", "nuint?"));
7938unifiedBinaryOps(symbol, "nuint?", "ushort?", $"bool nuint.{name}(nuint left, nuint right)");
7939unifiedBinaryOps(symbol, "nuint?", "int?", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nuint?", "int?"), getAmbiguousBinaryOpsDiagnostics(symbol, "int?", "nuint?"));
7940unifiedBinaryOps(symbol, "nuint?", "uint?", $"bool nuint.{name}(nuint left, nuint right)");
7941unifiedBinaryOps(symbol, "nuint?", "nint?", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nuint?", "nint?"), getAmbiguousBinaryOpsDiagnostics(symbol, "nint?", "nuint?"));
7942unifiedBinaryOps(symbol, "nuint?", "nuint?", $"bool nuint.{name}(nuint left, nuint right)");
7943unifiedBinaryOps(symbol, "nuint?", "long?", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nuint?", "long?"), getAmbiguousBinaryOpsDiagnostics(symbol, "long?", "nuint?"));
7944unifiedBinaryOps(symbol, "nuint?", "ulong?", $"bool ulong.{name}(ulong left, ulong right)");
7945unifiedBinaryOps(symbol, "nuint?", "float?", $"bool float.{name}(float left, float right)");
7946unifiedBinaryOps(symbol, "nuint?", "double?", $"bool double.{name}(double left, double right)");
7947unifiedBinaryOps(symbol, "nuint?", "decimal?", $"bool decimal.{name}(decimal left, decimal right)");
7948unifiedBinaryOps(symbol, "nuint?", "System.IntPtr?", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nuint?", "nint?"), getAmbiguousBinaryOpsDiagnostics(symbol, "nint?", "nuint?"));
7949unifiedBinaryOps(symbol, "nuint?", "System.UIntPtr?", $"bool nuint.{name}(nuint left, nuint right)");
7955unifiedBinaryOps(symbol, "nint", "object");
7956unifiedBinaryOps(symbol, "nint", "string");
7957unifiedBinaryOps(symbol, "nint", "void*", null, null, getBadBinaryOpsDiagnostics(symbol, "nint", "void*", includeVoidError: true), getBadBinaryOpsDiagnostics(symbol, "void*", "nint", includeVoidError: true));
7958unifiedBinaryOps(symbol, "nint", "bool");
7959unifiedBinaryOps(symbol, "nint", "char", $"nint nint.{name}(nint left, nint right)");
7960unifiedBinaryOps(symbol, "nint", "sbyte", $"nint nint.{name}(nint left, nint right)");
7961unifiedBinaryOps(symbol, "nint", "byte", $"nint nint.{name}(nint left, nint right)");
7962unifiedBinaryOps(symbol, "nint", "short", $"nint nint.{name}(nint left, nint right)");
7963unifiedBinaryOps(symbol, "nint", "ushort", $"nint nint.{name}(nint left, nint right)");
7964unifiedBinaryOps(symbol, "nint", "int", $"nint nint.{name}(nint left, nint right)");
7965unifiedBinaryOps(symbol, "nint", "uint", $"long long.{name}(long left, long right)");
7966unifiedBinaryOps(symbol, "nint", "nint", $"nint nint.{name}(nint left, nint right)");
7967unifiedBinaryOps(symbol, "nint", "nuint");
7968unifiedBinaryOps(symbol, "nint", "long", $"long long.{name}(long left, long right)");
7969unifiedBinaryOps(symbol, "nint", "ulong");
7970unifiedBinaryOps(symbol, "nint", "float");
7971unifiedBinaryOps(symbol, "nint", "double");
7972unifiedBinaryOps(symbol, "nint", "decimal");
7973unifiedBinaryOps(symbol, "nint", "System.IntPtr", $"nint nint.{name}(nint left, nint right)");
7974unifiedBinaryOps(symbol, "nint", "System.UIntPtr");
7977unifiedBinaryOps(symbol, "nint", "bool?");
7978unifiedBinaryOps(symbol, "nint", "char?", $"nint nint.{name}(nint left, nint right)");
7979unifiedBinaryOps(symbol, "nint", "sbyte?", $"nint nint.{name}(nint left, nint right)");
7980unifiedBinaryOps(symbol, "nint", "byte?", $"nint nint.{name}(nint left, nint right)");
7981unifiedBinaryOps(symbol, "nint", "short?", $"nint nint.{name}(nint left, nint right)");
7982unifiedBinaryOps(symbol, "nint", "ushort?", $"nint nint.{name}(nint left, nint right)");
7983unifiedBinaryOps(symbol, "nint", "int?", $"nint nint.{name}(nint left, nint right)");
7984unifiedBinaryOps(symbol, "nint", "uint?", $"long long.{name}(long left, long right)");
7985unifiedBinaryOps(symbol, "nint", "nint?", $"nint nint.{name}(nint left, nint right)");
7986unifiedBinaryOps(symbol, "nint", "nuint?");
7987unifiedBinaryOps(symbol, "nint", "long?", $"long long.{name}(long left, long right)");
7988unifiedBinaryOps(symbol, "nint", "ulong?");
7989unifiedBinaryOps(symbol, "nint", "float?");
7990unifiedBinaryOps(symbol, "nint", "double?");
7991unifiedBinaryOps(symbol, "nint", "decimal?");
7992unifiedBinaryOps(symbol, "nint", "System.IntPtr?", $"nint nint.{name}(nint left, nint right)");
7993unifiedBinaryOps(symbol, "nint", "System.UIntPtr?");
7994unifiedBinaryOps(symbol, "nint", "object");
7997unifiedBinaryOps(symbol, "nint?", "string");
7998unifiedBinaryOps(symbol, "nint?", "void*", null, null, getBadBinaryOpsDiagnostics(symbol, "nint?", "void*", includeVoidError: true), getBadBinaryOpsDiagnostics(symbol, "void*", "nint?", includeVoidError: true));
7999unifiedBinaryOps(symbol, "nint?", "bool");
8000unifiedBinaryOps(symbol, "nint?", "char", $"nint nint.{name}(nint left, nint right)");
8001unifiedBinaryOps(symbol, "nint?", "sbyte", $"nint nint.{name}(nint left, nint right)");
8002unifiedBinaryOps(symbol, "nint?", "byte", $"nint nint.{name}(nint left, nint right)");
8003unifiedBinaryOps(symbol, "nint?", "short", $"nint nint.{name}(nint left, nint right)");
8004unifiedBinaryOps(symbol, "nint?", "ushort", $"nint nint.{name}(nint left, nint right)");
8005unifiedBinaryOps(symbol, "nint?", "int", $"nint nint.{name}(nint left, nint right)");
8006unifiedBinaryOps(symbol, "nint?", "uint", $"long long.{name}(long left, long right)");
8007unifiedBinaryOps(symbol, "nint?", "nint", $"nint nint.{name}(nint left, nint right)");
8008unifiedBinaryOps(symbol, "nint?", "nuint");
8009unifiedBinaryOps(symbol, "nint?", "long", $"long long.{name}(long left, long right)");
8010unifiedBinaryOps(symbol, "nint?", "ulong");
8011unifiedBinaryOps(symbol, "nint?", "float");
8012unifiedBinaryOps(symbol, "nint?", "double");
8013unifiedBinaryOps(symbol, "nint?", "decimal");
8014unifiedBinaryOps(symbol, "nint?", "System.IntPtr", $"nint nint.{name}(nint left, nint right)");
8015unifiedBinaryOps(symbol, "nint?", "System.UIntPtr");
8018unifiedBinaryOps(symbol, "nint?", "bool?");
8019unifiedBinaryOps(symbol, "nint?", "char?", $"nint nint.{name}(nint left, nint right)");
8020unifiedBinaryOps(symbol, "nint?", "sbyte?", $"nint nint.{name}(nint left, nint right)");
8021unifiedBinaryOps(symbol, "nint?", "byte?", $"nint nint.{name}(nint left, nint right)");
8022unifiedBinaryOps(symbol, "nint?", "short?", $"nint nint.{name}(nint left, nint right)");
8023unifiedBinaryOps(symbol, "nint?", "ushort?", $"nint nint.{name}(nint left, nint right)");
8024unifiedBinaryOps(symbol, "nint?", "int?", $"nint nint.{name}(nint left, nint right)");
8025unifiedBinaryOps(symbol, "nint?", "uint?", $"long long.{name}(long left, long right)");
8026unifiedBinaryOps(symbol, "nint?", "nint?", $"nint nint.{name}(nint left, nint right)");
8027unifiedBinaryOps(symbol, "nint?", "nuint?");
8028unifiedBinaryOps(symbol, "nint?", "long?", $"long long.{name}(long left, long right)");
8029unifiedBinaryOps(symbol, "nint?", "ulong?");
8030unifiedBinaryOps(symbol, "nint?", "float?");
8031unifiedBinaryOps(symbol, "nint?", "double?");
8032unifiedBinaryOps(symbol, "nint?", "decimal?");
8033unifiedBinaryOps(symbol, "nint?", "System.IntPtr?", $"nint nint.{name}(nint left, nint right)");
8034unifiedBinaryOps(symbol, "nint?", "System.UIntPtr?");
8037unifiedBinaryOps(symbol, "nuint", "object");
8038unifiedBinaryOps(symbol, "nuint", "string");
8039unifiedBinaryOps(symbol, "nuint", "void*", null, null, getBadBinaryOpsDiagnostics(symbol, "nuint", "void*", includeVoidError: true), getBadBinaryOpsDiagnostics(symbol, "void*", "nuint", includeVoidError: true));
8040unifiedBinaryOps(symbol, "nuint", "bool");
8041unifiedBinaryOps(symbol, "nuint", "char", $"nuint nuint.{name}(nuint left, nuint right)");
8042unifiedBinaryOps(symbol, "nuint", "sbyte");
8043unifiedBinaryOps(symbol, "nuint", "byte", $"nuint nuint.{name}(nuint left, nuint right)");
8044unifiedBinaryOps(symbol, "nuint", "short");
8045unifiedBinaryOps(symbol, "nuint", "ushort", $"nuint nuint.{name}(nuint left, nuint right)");
8046unifiedBinaryOps(symbol, "nuint", "int");
8047unifiedBinaryOps(symbol, "nuint", "uint", $"nuint nuint.{name}(nuint left, nuint right)");
8048unifiedBinaryOps(symbol, "nuint", "nint");
8049unifiedBinaryOps(symbol, "nuint", "nuint", $"nuint nuint.{name}(nuint left, nuint right)");
8050unifiedBinaryOps(symbol, "nuint", "long");
8051unifiedBinaryOps(symbol, "nuint", "ulong", $"ulong ulong.{name}(ulong left, ulong right)");
8052unifiedBinaryOps(symbol, "nuint", "float");
8053unifiedBinaryOps(symbol, "nuint", "double");
8054unifiedBinaryOps(symbol, "nuint", "decimal");
8055unifiedBinaryOps(symbol, "nuint", "System.IntPtr");
8056unifiedBinaryOps(symbol, "nuint", "System.UIntPtr", $"nuint nuint.{name}(nuint left, nuint right)");
8059unifiedBinaryOps(symbol, "nuint", "bool?");
8060unifiedBinaryOps(symbol, "nuint", "char?", $"nuint nuint.{name}(nuint left, nuint right)");
8061unifiedBinaryOps(symbol, "nuint", "sbyte?");
8062unifiedBinaryOps(symbol, "nuint", "byte?", $"nuint nuint.{name}(nuint left, nuint right)");
8063unifiedBinaryOps(symbol, "nuint", "short?");
8064unifiedBinaryOps(symbol, "nuint", "ushort?", $"nuint nuint.{name}(nuint left, nuint right)");
8065unifiedBinaryOps(symbol, "nuint", "int?");
8066unifiedBinaryOps(symbol, "nuint", "uint?", $"nuint nuint.{name}(nuint left, nuint right)");
8067unifiedBinaryOps(symbol, "nuint", "nint?");
8068unifiedBinaryOps(symbol, "nuint", "nuint?", $"nuint nuint.{name}(nuint left, nuint right)");
8069unifiedBinaryOps(symbol, "nuint", "long?");
8070unifiedBinaryOps(symbol, "nuint", "ulong?", $"ulong ulong.{name}(ulong left, ulong right)");
8071unifiedBinaryOps(symbol, "nuint", "float?");
8072unifiedBinaryOps(symbol, "nuint", "double?");
8073unifiedBinaryOps(symbol, "nuint", "decimal?");
8074unifiedBinaryOps(symbol, "nuint", "System.IntPtr?");
8075unifiedBinaryOps(symbol, "nuint", "System.UIntPtr?", $"nuint nuint.{name}(nuint left, nuint right)");
8078unifiedBinaryOps(symbol, "nuint?", "object");
8079unifiedBinaryOps(symbol, "nuint?", "string");
8080unifiedBinaryOps(symbol, "nuint?", "void*", null, null, getBadBinaryOpsDiagnostics(symbol, "nuint?", "void*", includeVoidError: true), getBadBinaryOpsDiagnostics(symbol, "void*", "nuint?", includeVoidError: true));
8081unifiedBinaryOps(symbol, "nuint?", "bool");
8082unifiedBinaryOps(symbol, "nuint?", "char", $"nuint nuint.{name}(nuint left, nuint right)");
8083unifiedBinaryOps(symbol, "nuint?", "sbyte");
8084unifiedBinaryOps(symbol, "nuint?", "byte", $"nuint nuint.{name}(nuint left, nuint right)");
8085unifiedBinaryOps(symbol, "nuint?", "short");
8086unifiedBinaryOps(symbol, "nuint?", "ushort", $"nuint nuint.{name}(nuint left, nuint right)");
8087unifiedBinaryOps(symbol, "nuint?", "int");
8088unifiedBinaryOps(symbol, "nuint?", "uint", $"nuint nuint.{name}(nuint left, nuint right)");
8089unifiedBinaryOps(symbol, "nuint?", "nint");
8090unifiedBinaryOps(symbol, "nuint?", "nuint", $"nuint nuint.{name}(nuint left, nuint right)");
8091unifiedBinaryOps(symbol, "nuint?", "long");
8092unifiedBinaryOps(symbol, "nuint?", "ulong", $"ulong ulong.{name}(ulong left, ulong right)");
8093unifiedBinaryOps(symbol, "nuint?", "float");
8094unifiedBinaryOps(symbol, "nuint?", "double");
8095unifiedBinaryOps(symbol, "nuint?", "decimal");
8096unifiedBinaryOps(symbol, "nuint?", "System.IntPtr");
8097unifiedBinaryOps(symbol, "nuint?", "System.UIntPtr", $"nuint nuint.{name}(nuint left, nuint right)");
8100unifiedBinaryOps(symbol, "nuint?", "bool?");
8101unifiedBinaryOps(symbol, "nuint?", "char?", $"nuint nuint.{name}(nuint left, nuint right)");
8102unifiedBinaryOps(symbol, "nuint?", "sbyte?");
8103unifiedBinaryOps(symbol, "nuint?", "byte?", $"nuint nuint.{name}(nuint left, nuint right)");
8104unifiedBinaryOps(symbol, "nuint?", "short?");
8105unifiedBinaryOps(symbol, "nuint?", "ushort?", $"nuint nuint.{name}(nuint left, nuint right)");
8106unifiedBinaryOps(symbol, "nuint?", "int?");
8107unifiedBinaryOps(symbol, "nuint?", "uint?", $"nuint nuint.{name}(nuint left, nuint right)");
8108unifiedBinaryOps(symbol, "nuint?", "nint?");
8109unifiedBinaryOps(symbol, "nuint?", "nuint?", $"nuint nuint.{name}(nuint left, nuint right)");
8110unifiedBinaryOps(symbol, "nuint?", "long?");
8111unifiedBinaryOps(symbol, "nuint?", "ulong?", $"ulong ulong.{name}(ulong left, ulong right)");
8112unifiedBinaryOps(symbol, "nuint?", "float?");
8113unifiedBinaryOps(symbol, "nuint?", "double?");
8114unifiedBinaryOps(symbol, "nuint?", "decimal?");
8115unifiedBinaryOps(symbol, "nuint?", "System.IntPtr?");
8116unifiedBinaryOps(symbol, "nuint?", "System.UIntPtr?", $"nuint nuint.{name}(nuint left, nuint right)");