Emit\NumericIntPtrTests.cs (888)
7077unifiedBinaryOps(symbol, "nint", "object");
7078unifiedBinaryOps(symbol, "nint", "string");
7079unifiedBinaryOps(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));
7080unifiedBinaryOps(symbol, "nint", "bool");
7081unifiedBinaryOps(symbol, "nint", "char", $"nint nint.{name}(nint left, nint right)");
7082unifiedBinaryOps(symbol, "nint", "sbyte", $"nint nint.{name}(nint left, nint right)");
7083unifiedBinaryOps(symbol, "nint", "byte", $"nint nint.{name}(nint left, nint right)");
7084unifiedBinaryOps(symbol, "nint", "short", $"nint nint.{name}(nint left, nint right)");
7085unifiedBinaryOps(symbol, "nint", "ushort", $"nint nint.{name}(nint left, nint right)");
7086unifiedBinaryOps(symbol, "nint", "int", $"nint nint.{name}(nint left, nint right)");
7087unifiedBinaryOps(symbol, "nint", "uint", $"long long.{name}(long left, long right)");
7088unifiedBinaryOps(symbol, "nint", "nint", $"nint nint.{name}(nint left, nint right)");
7089unifiedBinaryOps(symbol, "nint", "nuint", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nint", "nuint"), getAmbiguousBinaryOpsDiagnostics(symbol, "nuint", "nint"));
7090unifiedBinaryOps(symbol, "nint", "long", $"long long.{name}(long left, long right)");
7091unifiedBinaryOps(symbol, "nint", "ulong", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nint", "ulong"), getAmbiguousBinaryOpsDiagnostics(symbol, "ulong", "nint"));
7092unifiedBinaryOps(symbol, "nint", "float", $"float float.{name}(float left, float right)");
7093unifiedBinaryOps(symbol, "nint", "double", $"double double.{name}(double left, double right)");
7094unifiedBinaryOps(symbol, "nint", "decimal", $"decimal decimal.{name}(decimal left, decimal right)");
7095unifiedBinaryOps(symbol, "nint", "System.IntPtr", $"nint nint.{name}(nint left, nint right)");
7096unifiedBinaryOps(symbol, "nint", "System.UIntPtr", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nint", "nuint"), getAmbiguousBinaryOpsDiagnostics(symbol, "nuint", "nint"));
7099unifiedBinaryOps(symbol, "nint", "bool?");
7100unifiedBinaryOps(symbol, "nint", "char?", $"nint nint.{name}(nint left, nint right)");
7101unifiedBinaryOps(symbol, "nint", "sbyte?", $"nint nint.{name}(nint left, nint right)");
7102unifiedBinaryOps(symbol, "nint", "byte?", $"nint nint.{name}(nint left, nint right)");
7103unifiedBinaryOps(symbol, "nint", "short?", $"nint nint.{name}(nint left, nint right)");
7104unifiedBinaryOps(symbol, "nint", "ushort?", $"nint nint.{name}(nint left, nint right)");
7105unifiedBinaryOps(symbol, "nint", "int?", $"nint nint.{name}(nint left, nint right)");
7106unifiedBinaryOps(symbol, "nint", "uint?", $"long long.{name}(long left, long right)");
7107unifiedBinaryOps(symbol, "nint", "nint?", $"nint nint.{name}(nint left, nint right)");
7108unifiedBinaryOps(symbol, "nint", "nuint?", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nint", "nuint?"), getAmbiguousBinaryOpsDiagnostics(symbol, "nuint?", "nint"));
7109unifiedBinaryOps(symbol, "nint", "long?", $"long long.{name}(long left, long right)");
7110unifiedBinaryOps(symbol, "nint", "ulong?", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nint", "ulong?"), getAmbiguousBinaryOpsDiagnostics(symbol, "ulong?", "nint"));
7111unifiedBinaryOps(symbol, "nint", "float?", $"float float.{name}(float left, float right)");
7112unifiedBinaryOps(symbol, "nint", "double?", $"double double.{name}(double left, double right)");
7113unifiedBinaryOps(symbol, "nint", "decimal?", $"decimal decimal.{name}(decimal left, decimal right)");
7114unifiedBinaryOps(symbol, "nint", "System.IntPtr?", $"nint nint.{name}(nint left, nint right)");
7115unifiedBinaryOps(symbol, "nint", "System.UIntPtr?", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nint", "nuint?"), getAmbiguousBinaryOpsDiagnostics(symbol, "nuint?", "nint"));
7116unifiedBinaryOps(symbol, "nint", "object");
7119unifiedBinaryOps(symbol, "nint?", "string");
7120unifiedBinaryOps(symbol, "nint?", "void*", null, null, getBadBinaryOpsDiagnostics(symbol, "nint?", "void*", includeVoidError: true), getBadBinaryOpsDiagnostics(symbol, "void*", "nint?", includeVoidError: true));
7121unifiedBinaryOps(symbol, "nint?", "bool");
7122unifiedBinaryOps(symbol, "nint?", "char", $"nint nint.{name}(nint left, nint right)");
7123unifiedBinaryOps(symbol, "nint?", "sbyte", $"nint nint.{name}(nint left, nint right)");
7124unifiedBinaryOps(symbol, "nint?", "byte", $"nint nint.{name}(nint left, nint right)");
7125unifiedBinaryOps(symbol, "nint?", "short", $"nint nint.{name}(nint left, nint right)");
7126unifiedBinaryOps(symbol, "nint?", "ushort", $"nint nint.{name}(nint left, nint right)");
7127unifiedBinaryOps(symbol, "nint?", "int", $"nint nint.{name}(nint left, nint right)");
7128unifiedBinaryOps(symbol, "nint?", "uint", $"long long.{name}(long left, long right)");
7129unifiedBinaryOps(symbol, "nint?", "nint", $"nint nint.{name}(nint left, nint right)");
7130unifiedBinaryOps(symbol, "nint?", "nuint", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nint?", "nuint"), getAmbiguousBinaryOpsDiagnostics(symbol, "nuint", "nint?"));
7131unifiedBinaryOps(symbol, "nint?", "long", $"long long.{name}(long left, long right)");
7132unifiedBinaryOps(symbol, "nint?", "ulong", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nint?", "ulong"), getAmbiguousBinaryOpsDiagnostics(symbol, "ulong", "nint?"));
7133unifiedBinaryOps(symbol, "nint?", "float", $"float float.{name}(float left, float right)");
7134unifiedBinaryOps(symbol, "nint?", "double", $"double double.{name}(double left, double right)");
7135unifiedBinaryOps(symbol, "nint?", "decimal", $"decimal decimal.{name}(decimal left, decimal right)");
7136unifiedBinaryOps(symbol, "nint?", "System.IntPtr", $"nint nint.{name}(nint left, nint right)");
7137unifiedBinaryOps(symbol, "nint?", "System.UIntPtr", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nint?", "nuint"), getAmbiguousBinaryOpsDiagnostics(symbol, "nuint", "nint?"));
7140unifiedBinaryOps(symbol, "nint?", "bool?");
7141unifiedBinaryOps(symbol, "nint?", "char?", $"nint nint.{name}(nint left, nint right)");
7142unifiedBinaryOps(symbol, "nint?", "sbyte?", $"nint nint.{name}(nint left, nint right)");
7143unifiedBinaryOps(symbol, "nint?", "byte?", $"nint nint.{name}(nint left, nint right)");
7144unifiedBinaryOps(symbol, "nint?", "short?", $"nint nint.{name}(nint left, nint right)");
7145unifiedBinaryOps(symbol, "nint?", "ushort?", $"nint nint.{name}(nint left, nint right)");
7146unifiedBinaryOps(symbol, "nint?", "int?", $"nint nint.{name}(nint left, nint right)");
7147unifiedBinaryOps(symbol, "nint?", "uint?", $"long long.{name}(long left, long right)");
7148unifiedBinaryOps(symbol, "nint?", "nint?", $"nint nint.{name}(nint left, nint right)");
7149unifiedBinaryOps(symbol, "nint?", "nuint?", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nint?", "nuint?"), getAmbiguousBinaryOpsDiagnostics(symbol, "nuint?", "nint?"));
7150unifiedBinaryOps(symbol, "nint?", "long?", $"long long.{name}(long left, long right)");
7151unifiedBinaryOps(symbol, "nint?", "ulong?", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nint?", "ulong?"), getAmbiguousBinaryOpsDiagnostics(symbol, "ulong?", "nint?"));
7152unifiedBinaryOps(symbol, "nint?", "float?", $"float float.{name}(float left, float right)");
7153unifiedBinaryOps(symbol, "nint?", "double?", $"double double.{name}(double left, double right)");
7154unifiedBinaryOps(symbol, "nint?", "decimal?", $"decimal decimal.{name}(decimal left, decimal right)");
7155unifiedBinaryOps(symbol, "nint?", "System.IntPtr?", $"nint nint.{name}(nint left, nint right)");
7156unifiedBinaryOps(symbol, "nint?", "System.UIntPtr?", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nint?", "nuint?"), getAmbiguousBinaryOpsDiagnostics(symbol, "nuint?", "nint?"));
7159unifiedBinaryOps(symbol, "nuint", "object");
7160unifiedBinaryOps(symbol, "nuint", "string");
7161unifiedBinaryOps(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));
7162unifiedBinaryOps(symbol, "nuint", "bool");
7163unifiedBinaryOps(symbol, "nuint", "char", $"nuint nuint.{name}(nuint left, nuint right)");
7164unifiedBinaryOps(symbol, "nuint", "sbyte", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nuint", "sbyte"), getAmbiguousBinaryOpsDiagnostics(symbol, "sbyte", "nuint"));
7165unifiedBinaryOps(symbol, "nuint", "byte", $"nuint nuint.{name}(nuint left, nuint right)");
7166unifiedBinaryOps(symbol, "nuint", "short", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nuint", "short"), getAmbiguousBinaryOpsDiagnostics(symbol, "short", "nuint"));
7167unifiedBinaryOps(symbol, "nuint", "ushort", $"nuint nuint.{name}(nuint left, nuint right)");
7168unifiedBinaryOps(symbol, "nuint", "int", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nuint", "int"), getAmbiguousBinaryOpsDiagnostics(symbol, "int", "nuint"));
7169unifiedBinaryOps(symbol, "nuint", "uint", $"nuint nuint.{name}(nuint left, nuint right)");
7170unifiedBinaryOps(symbol, "nuint", "nint", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nuint", "nint"), getAmbiguousBinaryOpsDiagnostics(symbol, "nint", "nuint"));
7171unifiedBinaryOps(symbol, "nuint", "nuint", $"nuint nuint.{name}(nuint left, nuint right)");
7172unifiedBinaryOps(symbol, "nuint", "long", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nuint", "long"), getAmbiguousBinaryOpsDiagnostics(symbol, "long", "nuint"));
7173unifiedBinaryOps(symbol, "nuint", "ulong", $"ulong ulong.{name}(ulong left, ulong right)");
7174unifiedBinaryOps(symbol, "nuint", "float", $"float float.{name}(float left, float right)");
7175unifiedBinaryOps(symbol, "nuint", "double", $"double double.{name}(double left, double right)");
7176unifiedBinaryOps(symbol, "nuint", "decimal", $"decimal decimal.{name}(decimal left, decimal right)");
7177unifiedBinaryOps(symbol, "nuint", "System.IntPtr", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nuint", "nint"), getAmbiguousBinaryOpsDiagnostics(symbol, "nint", "nuint"));
7178unifiedBinaryOps(symbol, "nuint", "System.UIntPtr", $"nuint nuint.{name}(nuint left, nuint right)");
7181unifiedBinaryOps(symbol, "nuint", "bool?");
7182unifiedBinaryOps(symbol, "nuint", "char?", $"nuint nuint.{name}(nuint left, nuint right)");
7183unifiedBinaryOps(symbol, "nuint", "sbyte?", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nuint", "sbyte?"), getAmbiguousBinaryOpsDiagnostics(symbol, "sbyte?", "nuint"));
7184unifiedBinaryOps(symbol, "nuint", "byte?", $"nuint nuint.{name}(nuint left, nuint right)");
7185unifiedBinaryOps(symbol, "nuint", "short?", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nuint", "short?"), getAmbiguousBinaryOpsDiagnostics(symbol, "short?", "nuint"));
7186unifiedBinaryOps(symbol, "nuint", "ushort?", $"nuint nuint.{name}(nuint left, nuint right)");
7187unifiedBinaryOps(symbol, "nuint", "int?", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nuint", "int?"), getAmbiguousBinaryOpsDiagnostics(symbol, "int?", "nuint"));
7188unifiedBinaryOps(symbol, "nuint", "uint?", $"nuint nuint.{name}(nuint left, nuint right)");
7189unifiedBinaryOps(symbol, "nuint", "nint?", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nuint", "nint?"), getAmbiguousBinaryOpsDiagnostics(symbol, "nint?", "nuint"));
7190unifiedBinaryOps(symbol, "nuint", "nuint?", $"nuint nuint.{name}(nuint left, nuint right)");
7191unifiedBinaryOps(symbol, "nuint", "long?", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nuint", "long?"), getAmbiguousBinaryOpsDiagnostics(symbol, "long?", "nuint"));
7192unifiedBinaryOps(symbol, "nuint", "ulong?", $"ulong ulong.{name}(ulong left, ulong right)");
7193unifiedBinaryOps(symbol, "nuint", "float?", $"float float.{name}(float left, float right)");
7194unifiedBinaryOps(symbol, "nuint", "double?", $"double double.{name}(double left, double right)");
7195unifiedBinaryOps(symbol, "nuint", "decimal?", $"decimal decimal.{name}(decimal left, decimal right)");
7196unifiedBinaryOps(symbol, "nuint", "System.IntPtr?", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nuint", "nint?"), getAmbiguousBinaryOpsDiagnostics(symbol, "nint?", "nuint"));
7197unifiedBinaryOps(symbol, "nuint", "System.UIntPtr?", $"nuint nuint.{name}(nuint left, nuint right)");
7200unifiedBinaryOps(symbol, "nuint?", "object");
7201unifiedBinaryOps(symbol, "nuint?", "string");
7202unifiedBinaryOps(symbol, "nuint?", "void*", null, null, getBadBinaryOpsDiagnostics(symbol, "nuint?", "void*", includeVoidError: true), getBadBinaryOpsDiagnostics(symbol, "void*", "nuint?", includeVoidError: true));
7203unifiedBinaryOps(symbol, "nuint?", "bool");
7204unifiedBinaryOps(symbol, "nuint?", "char", $"nuint nuint.{name}(nuint left, nuint right)");
7205unifiedBinaryOps(symbol, "nuint?", "sbyte", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nuint?", "sbyte"), getAmbiguousBinaryOpsDiagnostics(symbol, "sbyte", "nuint?"));
7206unifiedBinaryOps(symbol, "nuint?", "byte", $"nuint nuint.{name}(nuint left, nuint right)");
7207unifiedBinaryOps(symbol, "nuint?", "short", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nuint?", "short"), getAmbiguousBinaryOpsDiagnostics(symbol, "short", "nuint?"));
7208unifiedBinaryOps(symbol, "nuint?", "ushort", $"nuint nuint.{name}(nuint left, nuint right)");
7209unifiedBinaryOps(symbol, "nuint?", "int", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nuint?", "int"), getAmbiguousBinaryOpsDiagnostics(symbol, "int", "nuint?"));
7210unifiedBinaryOps(symbol, "nuint?", "uint", $"nuint nuint.{name}(nuint left, nuint right)");
7211unifiedBinaryOps(symbol, "nuint?", "nint", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nuint?", "nint"), getAmbiguousBinaryOpsDiagnostics(symbol, "nint", "nuint?"));
7212unifiedBinaryOps(symbol, "nuint?", "nuint", $"nuint nuint.{name}(nuint left, nuint right)");
7213unifiedBinaryOps(symbol, "nuint?", "long", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nuint?", "long"), getAmbiguousBinaryOpsDiagnostics(symbol, "long", "nuint?"));
7214unifiedBinaryOps(symbol, "nuint?", "ulong", $"ulong ulong.{name}(ulong left, ulong right)");
7215unifiedBinaryOps(symbol, "nuint?", "float", $"float float.{name}(float left, float right)");
7216unifiedBinaryOps(symbol, "nuint?", "double", $"double double.{name}(double left, double right)");
7217unifiedBinaryOps(symbol, "nuint?", "decimal", $"decimal decimal.{name}(decimal left, decimal right)");
7218unifiedBinaryOps(symbol, "nuint?", "System.IntPtr", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nuint?", "nint"), getAmbiguousBinaryOpsDiagnostics(symbol, "nint", "nuint?"));
7219unifiedBinaryOps(symbol, "nuint?", "System.UIntPtr", $"nuint nuint.{name}(nuint left, nuint right)");
7222unifiedBinaryOps(symbol, "nuint?", "bool?");
7223unifiedBinaryOps(symbol, "nuint?", "char?", $"nuint nuint.{name}(nuint left, nuint right)");
7224unifiedBinaryOps(symbol, "nuint?", "sbyte?", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nuint?", "sbyte?"), getAmbiguousBinaryOpsDiagnostics(symbol, "sbyte?", "nuint?"));
7225unifiedBinaryOps(symbol, "nuint?", "byte?", $"nuint nuint.{name}(nuint left, nuint right)");
7226unifiedBinaryOps(symbol, "nuint?", "short?", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nuint?", "short?"), getAmbiguousBinaryOpsDiagnostics(symbol, "short?", "nuint?"));
7227unifiedBinaryOps(symbol, "nuint?", "ushort?", $"nuint nuint.{name}(nuint left, nuint right)");
7228unifiedBinaryOps(symbol, "nuint?", "int?", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nuint?", "int?"), getAmbiguousBinaryOpsDiagnostics(symbol, "int?", "nuint?"));
7229unifiedBinaryOps(symbol, "nuint?", "uint?", $"nuint nuint.{name}(nuint left, nuint right)");
7230unifiedBinaryOps(symbol, "nuint?", "nint?", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nuint?", "nint?"), getAmbiguousBinaryOpsDiagnostics(symbol, "nint?", "nuint?"));
7231unifiedBinaryOps(symbol, "nuint?", "nuint?", $"nuint nuint.{name}(nuint left, nuint right)");
7232unifiedBinaryOps(symbol, "nuint?", "long?", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nuint?", "long?"), getAmbiguousBinaryOpsDiagnostics(symbol, "long?", "nuint?"));
7233unifiedBinaryOps(symbol, "nuint?", "ulong?", $"ulong ulong.{name}(ulong left, ulong right)");
7234unifiedBinaryOps(symbol, "nuint?", "float?", $"float float.{name}(float left, float right)");
7235unifiedBinaryOps(symbol, "nuint?", "double?", $"double double.{name}(double left, double right)");
7236unifiedBinaryOps(symbol, "nuint?", "decimal?", $"decimal decimal.{name}(decimal left, decimal right)");
7237unifiedBinaryOps(symbol, "nuint?", "System.IntPtr?", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nuint?", "nint?"), getAmbiguousBinaryOpsDiagnostics(symbol, "nint?", "nuint?"));
7238unifiedBinaryOps(symbol, "nuint?", "System.UIntPtr?", $"nuint nuint.{name}(nuint left, nuint right)");
7244unifiedBinaryOps(symbol, "nint", "object");
7245unifiedBinaryOps(symbol, "nint", "string");
7246unifiedBinaryOps(symbol, "nint", "void*", null, null, getBadBinaryOpsDiagnostics(symbol, "nint", "void*"), getBadBinaryOpsDiagnostics(symbol, "void*", "nint"));
7247unifiedBinaryOps(symbol, "nint", "bool");
7248unifiedBinaryOps(symbol, "nint", "char", $"bool nint.{name}(nint left, nint right)");
7249unifiedBinaryOps(symbol, "nint", "sbyte", $"bool nint.{name}(nint left, nint right)");
7250unifiedBinaryOps(symbol, "nint", "byte", $"bool nint.{name}(nint left, nint right)");
7251unifiedBinaryOps(symbol, "nint", "short", $"bool nint.{name}(nint left, nint right)");
7252unifiedBinaryOps(symbol, "nint", "ushort", $"bool nint.{name}(nint left, nint right)");
7253unifiedBinaryOps(symbol, "nint", "int", $"bool nint.{name}(nint left, nint right)");
7254unifiedBinaryOps(symbol, "nint", "uint", $"bool long.{name}(long left, long right)");
7255unifiedBinaryOps(symbol, "nint", "nint", $"bool nint.{name}(nint left, nint right)");
7256unifiedBinaryOps(symbol, "nint", "nuint", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nint", "nuint"), getAmbiguousBinaryOpsDiagnostics(symbol, "nuint", "nint"));
7257unifiedBinaryOps(symbol, "nint", "long", $"bool long.{name}(long left, long right)");
7258unifiedBinaryOps(symbol, "nint", "ulong", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nint", "ulong"), getAmbiguousBinaryOpsDiagnostics(symbol, "ulong", "nint"));
7259unifiedBinaryOps(symbol, "nint", "float", $"bool float.{name}(float left, float right)");
7260unifiedBinaryOps(symbol, "nint", "double", $"bool double.{name}(double left, double right)");
7261unifiedBinaryOps(symbol, "nint", "decimal", $"bool decimal.{name}(decimal left, decimal right)");
7262unifiedBinaryOps(symbol, "nint", "System.IntPtr", $"bool nint.{name}(nint left, nint right)");
7263unifiedBinaryOps(symbol, "nint", "System.UIntPtr", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nint", "nuint"), getAmbiguousBinaryOpsDiagnostics(symbol, "nuint", "nint"));
7266unifiedBinaryOps(symbol, "nint", "bool?");
7267unifiedBinaryOps(symbol, "nint", "char?", $"bool nint.{name}(nint left, nint right)");
7268unifiedBinaryOps(symbol, "nint", "sbyte?", $"bool nint.{name}(nint left, nint right)");
7269unifiedBinaryOps(symbol, "nint", "byte?", $"bool nint.{name}(nint left, nint right)");
7270unifiedBinaryOps(symbol, "nint", "short?", $"bool nint.{name}(nint left, nint right)");
7271unifiedBinaryOps(symbol, "nint", "ushort?", $"bool nint.{name}(nint left, nint right)");
7272unifiedBinaryOps(symbol, "nint", "int?", $"bool nint.{name}(nint left, nint right)");
7273unifiedBinaryOps(symbol, "nint", "uint?", $"bool long.{name}(long left, long right)");
7274unifiedBinaryOps(symbol, "nint", "nint?", $"bool nint.{name}(nint left, nint right)");
7275unifiedBinaryOps(symbol, "nint", "nuint?", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nint", "nuint?"), getAmbiguousBinaryOpsDiagnostics(symbol, "nuint?", "nint"));
7276unifiedBinaryOps(symbol, "nint", "long?", $"bool long.{name}(long left, long right)");
7277unifiedBinaryOps(symbol, "nint", "ulong?", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nint", "ulong?"), getAmbiguousBinaryOpsDiagnostics(symbol, "ulong?", "nint"));
7278unifiedBinaryOps(symbol, "nint", "float?", $"bool float.{name}(float left, float right)");
7279unifiedBinaryOps(symbol, "nint", "double?", $"bool double.{name}(double left, double right)");
7280unifiedBinaryOps(symbol, "nint", "decimal?", $"bool decimal.{name}(decimal left, decimal right)");
7281unifiedBinaryOps(symbol, "nint", "System.IntPtr?", $"bool nint.{name}(nint left, nint right)");
7282unifiedBinaryOps(symbol, "nint", "System.UIntPtr?", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nint", "nuint?"), getAmbiguousBinaryOpsDiagnostics(symbol, "nuint?", "nint"));
7283unifiedBinaryOps(symbol, "nint", "object");
7286unifiedBinaryOps(symbol, "nint?", "string");
7287unifiedBinaryOps(symbol, "nint?", "void*", null, null, getBadBinaryOpsDiagnostics(symbol, "nint?", "void*"), getBadBinaryOpsDiagnostics(symbol, "void*", "nint?"));
7288unifiedBinaryOps(symbol, "nint?", "bool");
7289unifiedBinaryOps(symbol, "nint?", "char", $"bool nint.{name}(nint left, nint right)");
7290unifiedBinaryOps(symbol, "nint?", "sbyte", $"bool nint.{name}(nint left, nint right)");
7291unifiedBinaryOps(symbol, "nint?", "byte", $"bool nint.{name}(nint left, nint right)");
7292unifiedBinaryOps(symbol, "nint?", "short", $"bool nint.{name}(nint left, nint right)");
7293unifiedBinaryOps(symbol, "nint?", "ushort", $"bool nint.{name}(nint left, nint right)");
7294unifiedBinaryOps(symbol, "nint?", "int", $"bool nint.{name}(nint left, nint right)");
7295unifiedBinaryOps(symbol, "nint?", "uint", $"bool long.{name}(long left, long right)");
7296unifiedBinaryOps(symbol, "nint?", "nint", $"bool nint.{name}(nint left, nint right)");
7297unifiedBinaryOps(symbol, "nint?", "nuint", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nint?", "nuint"), getAmbiguousBinaryOpsDiagnostics(symbol, "nuint", "nint?"));
7298unifiedBinaryOps(symbol, "nint?", "long", $"bool long.{name}(long left, long right)");
7299unifiedBinaryOps(symbol, "nint?", "ulong", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nint?", "ulong"), getAmbiguousBinaryOpsDiagnostics(symbol, "ulong", "nint?"));
7300unifiedBinaryOps(symbol, "nint?", "float", $"bool float.{name}(float left, float right)");
7301unifiedBinaryOps(symbol, "nint?", "double", $"bool double.{name}(double left, double right)");
7302unifiedBinaryOps(symbol, "nint?", "decimal", $"bool decimal.{name}(decimal left, decimal right)");
7303unifiedBinaryOps(symbol, "nint?", "System.IntPtr", $"bool nint.{name}(nint left, nint right)");
7304unifiedBinaryOps(symbol, "nint?", "System.UIntPtr", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nint?", "nuint"), getAmbiguousBinaryOpsDiagnostics(symbol, "nuint", "nint?"));
7307unifiedBinaryOps(symbol, "nint?", "bool?");
7308unifiedBinaryOps(symbol, "nint?", "char?", $"bool nint.{name}(nint left, nint right)");
7309unifiedBinaryOps(symbol, "nint?", "sbyte?", $"bool nint.{name}(nint left, nint right)");
7310unifiedBinaryOps(symbol, "nint?", "byte?", $"bool nint.{name}(nint left, nint right)");
7311unifiedBinaryOps(symbol, "nint?", "short?", $"bool nint.{name}(nint left, nint right)");
7312unifiedBinaryOps(symbol, "nint?", "ushort?", $"bool nint.{name}(nint left, nint right)");
7313unifiedBinaryOps(symbol, "nint?", "int?", $"bool nint.{name}(nint left, nint right)");
7314unifiedBinaryOps(symbol, "nint?", "uint?", $"bool long.{name}(long left, long right)");
7315unifiedBinaryOps(symbol, "nint?", "nint?", $"bool nint.{name}(nint left, nint right)");
7316unifiedBinaryOps(symbol, "nint?", "nuint?", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nint?", "nuint?"), getAmbiguousBinaryOpsDiagnostics(symbol, "nuint?", "nint?"));
7317unifiedBinaryOps(symbol, "nint?", "long?", $"bool long.{name}(long left, long right)");
7318unifiedBinaryOps(symbol, "nint?", "ulong?", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nint?", "ulong?"), getAmbiguousBinaryOpsDiagnostics(symbol, "ulong?", "nint?"));
7319unifiedBinaryOps(symbol, "nint?", "float?", $"bool float.{name}(float left, float right)");
7320unifiedBinaryOps(symbol, "nint?", "double?", $"bool double.{name}(double left, double right)");
7321unifiedBinaryOps(symbol, "nint?", "decimal?", $"bool decimal.{name}(decimal left, decimal right)");
7322unifiedBinaryOps(symbol, "nint?", "System.IntPtr?", $"bool nint.{name}(nint left, nint right)");
7323unifiedBinaryOps(symbol, "nint?", "System.UIntPtr?", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nint?", "nuint?"), getAmbiguousBinaryOpsDiagnostics(symbol, "nuint?", "nint?"));
7326unifiedBinaryOps(symbol, "nuint", "object");
7327unifiedBinaryOps(symbol, "nuint", "string");
7328unifiedBinaryOps(symbol, "nuint", "void*", null, null, getBadBinaryOpsDiagnostics(symbol, "nuint", "void*"), getBadBinaryOpsDiagnostics(symbol, "void*", "nuint"));
7329unifiedBinaryOps(symbol, "nuint", "bool");
7330unifiedBinaryOps(symbol, "nuint", "char", $"bool nuint.{name}(nuint left, nuint right)");
7331unifiedBinaryOps(symbol, "nuint", "sbyte", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nuint", "sbyte"), getAmbiguousBinaryOpsDiagnostics(symbol, "sbyte", "nuint"));
7332unifiedBinaryOps(symbol, "nuint", "byte", $"bool nuint.{name}(nuint left, nuint right)");
7333unifiedBinaryOps(symbol, "nuint", "short", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nuint", "short"), getAmbiguousBinaryOpsDiagnostics(symbol, "short", "nuint"));
7334unifiedBinaryOps(symbol, "nuint", "ushort", $"bool nuint.{name}(nuint left, nuint right)");
7335unifiedBinaryOps(symbol, "nuint", "int", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nuint", "int"), getAmbiguousBinaryOpsDiagnostics(symbol, "int", "nuint"));
7336unifiedBinaryOps(symbol, "nuint", "uint", $"bool nuint.{name}(nuint left, nuint right)");
7337unifiedBinaryOps(symbol, "nuint", "nint", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nuint", "nint"), getAmbiguousBinaryOpsDiagnostics(symbol, "nint", "nuint"));
7338unifiedBinaryOps(symbol, "nuint", "nuint", $"bool nuint.{name}(nuint left, nuint right)");
7339unifiedBinaryOps(symbol, "nuint", "long", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nuint", "long"), getAmbiguousBinaryOpsDiagnostics(symbol, "long", "nuint"));
7340unifiedBinaryOps(symbol, "nuint", "ulong", $"bool ulong.{name}(ulong left, ulong right)");
7341unifiedBinaryOps(symbol, "nuint", "float", $"bool float.{name}(float left, float right)");
7342unifiedBinaryOps(symbol, "nuint", "double", $"bool double.{name}(double left, double right)");
7343unifiedBinaryOps(symbol, "nuint", "decimal", $"bool decimal.{name}(decimal left, decimal right)");
7344unifiedBinaryOps(symbol, "nuint", "System.IntPtr", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nuint", "nint"), getAmbiguousBinaryOpsDiagnostics(symbol, "nint", "nuint"));
7345unifiedBinaryOps(symbol, "nuint", "System.UIntPtr", $"bool nuint.{name}(nuint left, nuint right)");
7348unifiedBinaryOps(symbol, "nuint", "bool?");
7349unifiedBinaryOps(symbol, "nuint", "char?", $"bool nuint.{name}(nuint left, nuint right)");
7350unifiedBinaryOps(symbol, "nuint", "sbyte?", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nuint", "sbyte?"), getAmbiguousBinaryOpsDiagnostics(symbol, "sbyte?", "nuint"));
7351unifiedBinaryOps(symbol, "nuint", "byte?", $"bool nuint.{name}(nuint left, nuint right)");
7352unifiedBinaryOps(symbol, "nuint", "short?", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nuint", "short?"), getAmbiguousBinaryOpsDiagnostics(symbol, "short?", "nuint"));
7353unifiedBinaryOps(symbol, "nuint", "ushort?", $"bool nuint.{name}(nuint left, nuint right)");
7354unifiedBinaryOps(symbol, "nuint", "int?", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nuint", "int?"), getAmbiguousBinaryOpsDiagnostics(symbol, "int?", "nuint"));
7355unifiedBinaryOps(symbol, "nuint", "uint?", $"bool nuint.{name}(nuint left, nuint right)");
7356unifiedBinaryOps(symbol, "nuint", "nint?", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nuint", "nint?"), getAmbiguousBinaryOpsDiagnostics(symbol, "nint?", "nuint"));
7357unifiedBinaryOps(symbol, "nuint", "nuint?", $"bool nuint.{name}(nuint left, nuint right)");
7358unifiedBinaryOps(symbol, "nuint", "long?", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nuint", "long?"), getAmbiguousBinaryOpsDiagnostics(symbol, "long?", "nuint"));
7359unifiedBinaryOps(symbol, "nuint", "ulong?", $"bool ulong.{name}(ulong left, ulong right)");
7360unifiedBinaryOps(symbol, "nuint", "float?", $"bool float.{name}(float left, float right)");
7361unifiedBinaryOps(symbol, "nuint", "double?", $"bool double.{name}(double left, double right)");
7362unifiedBinaryOps(symbol, "nuint", "decimal?", $"bool decimal.{name}(decimal left, decimal right)");
7363unifiedBinaryOps(symbol, "nuint", "System.IntPtr?", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nuint", "nint?"), getAmbiguousBinaryOpsDiagnostics(symbol, "nint?", "nuint"));
7364unifiedBinaryOps(symbol, "nuint", "System.UIntPtr?", $"bool nuint.{name}(nuint left, nuint right)");
7367unifiedBinaryOps(symbol, "nuint?", "object");
7368unifiedBinaryOps(symbol, "nuint?", "string");
7369unifiedBinaryOps(symbol, "nuint?", "void*", null, null, getBadBinaryOpsDiagnostics(symbol, "nuint?", "void*"), getBadBinaryOpsDiagnostics(symbol, "void*", "nuint?"));
7370unifiedBinaryOps(symbol, "nuint?", "bool");
7371unifiedBinaryOps(symbol, "nuint?", "char", $"bool nuint.{name}(nuint left, nuint right)");
7372unifiedBinaryOps(symbol, "nuint?", "sbyte", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nuint?", "sbyte"), getAmbiguousBinaryOpsDiagnostics(symbol, "sbyte", "nuint?"));
7373unifiedBinaryOps(symbol, "nuint?", "byte", $"bool nuint.{name}(nuint left, nuint right)");
7374unifiedBinaryOps(symbol, "nuint?", "short", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nuint?", "short"), getAmbiguousBinaryOpsDiagnostics(symbol, "short", "nuint?"));
7375unifiedBinaryOps(symbol, "nuint?", "ushort", $"bool nuint.{name}(nuint left, nuint right)");
7376unifiedBinaryOps(symbol, "nuint?", "int", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nuint?", "int"), getAmbiguousBinaryOpsDiagnostics(symbol, "int", "nuint?"));
7377unifiedBinaryOps(symbol, "nuint?", "uint", $"bool nuint.{name}(nuint left, nuint right)");
7378unifiedBinaryOps(symbol, "nuint?", "nint", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nuint?", "nint"), getAmbiguousBinaryOpsDiagnostics(symbol, "nint", "nuint?"));
7379unifiedBinaryOps(symbol, "nuint?", "nuint", $"bool nuint.{name}(nuint left, nuint right)");
7380unifiedBinaryOps(symbol, "nuint?", "long", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nuint?", "long"), getAmbiguousBinaryOpsDiagnostics(symbol, "long", "nuint?"));
7381unifiedBinaryOps(symbol, "nuint?", "ulong", $"bool ulong.{name}(ulong left, ulong right)");
7382unifiedBinaryOps(symbol, "nuint?", "float", $"bool float.{name}(float left, float right)");
7383unifiedBinaryOps(symbol, "nuint?", "double", $"bool double.{name}(double left, double right)");
7384unifiedBinaryOps(symbol, "nuint?", "decimal", $"bool decimal.{name}(decimal left, decimal right)");
7385unifiedBinaryOps(symbol, "nuint?", "System.IntPtr", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nuint?", "nint"), getAmbiguousBinaryOpsDiagnostics(symbol, "nint", "nuint?"));
7386unifiedBinaryOps(symbol, "nuint?", "System.UIntPtr", $"bool nuint.{name}(nuint left, nuint right)");
7389unifiedBinaryOps(symbol, "nuint?", "bool?");
7390unifiedBinaryOps(symbol, "nuint?", "char?", $"bool nuint.{name}(nuint left, nuint right)");
7391unifiedBinaryOps(symbol, "nuint?", "sbyte?", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nuint?", "sbyte?"), getAmbiguousBinaryOpsDiagnostics(symbol, "sbyte?", "nuint?"));
7392unifiedBinaryOps(symbol, "nuint?", "byte?", $"bool nuint.{name}(nuint left, nuint right)");
7393unifiedBinaryOps(symbol, "nuint?", "short?", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nuint?", "short?"), getAmbiguousBinaryOpsDiagnostics(symbol, "short?", "nuint?"));
7394unifiedBinaryOps(symbol, "nuint?", "ushort?", $"bool nuint.{name}(nuint left, nuint right)");
7395unifiedBinaryOps(symbol, "nuint?", "int?", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nuint?", "int?"), getAmbiguousBinaryOpsDiagnostics(symbol, "int?", "nuint?"));
7396unifiedBinaryOps(symbol, "nuint?", "uint?", $"bool nuint.{name}(nuint left, nuint right)");
7397unifiedBinaryOps(symbol, "nuint?", "nint?", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nuint?", "nint?"), getAmbiguousBinaryOpsDiagnostics(symbol, "nint?", "nuint?"));
7398unifiedBinaryOps(symbol, "nuint?", "nuint?", $"bool nuint.{name}(nuint left, nuint right)");
7399unifiedBinaryOps(symbol, "nuint?", "long?", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nuint?", "long?"), getAmbiguousBinaryOpsDiagnostics(symbol, "long?", "nuint?"));
7400unifiedBinaryOps(symbol, "nuint?", "ulong?", $"bool ulong.{name}(ulong left, ulong right)");
7401unifiedBinaryOps(symbol, "nuint?", "float?", $"bool float.{name}(float left, float right)");
7402unifiedBinaryOps(symbol, "nuint?", "double?", $"bool double.{name}(double left, double right)");
7403unifiedBinaryOps(symbol, "nuint?", "decimal?", $"bool decimal.{name}(decimal left, decimal right)");
7404unifiedBinaryOps(symbol, "nuint?", "System.IntPtr?", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nuint?", "nint?"), getAmbiguousBinaryOpsDiagnostics(symbol, "nint?", "nuint?"));
7405unifiedBinaryOps(symbol, "nuint?", "System.UIntPtr?", $"bool nuint.{name}(nuint left, nuint right)");
7411unifiedBinaryOps(symbol, "nint", "object");
7412unifiedBinaryOps(symbol, "nint", "string", $"string string.{name}(object left, string right)", $"string string.{name}(string left, object right)");
7413unifiedBinaryOps(symbol, "nint", "void*", $"void* void*.{name}(long left, void* right)", $"void* void*.{name}(void* left, long right)", new[] { Diagnostic(ErrorCode.ERR_VoidError, "x + y") });
7414unifiedBinaryOps(symbol, "nint", "bool");
7415unifiedBinaryOps(symbol, "nint", "char", $"nint nint.{name}(nint left, nint right)");
7416unifiedBinaryOps(symbol, "nint", "sbyte", $"nint nint.{name}(nint left, nint right)");
7417unifiedBinaryOps(symbol, "nint", "byte", $"nint nint.{name}(nint left, nint right)");
7418unifiedBinaryOps(symbol, "nint", "short", $"nint nint.{name}(nint left, nint right)");
7419unifiedBinaryOps(symbol, "nint", "ushort", $"nint nint.{name}(nint left, nint right)");
7420unifiedBinaryOps(symbol, "nint", "int", $"nint nint.{name}(nint left, nint right)");
7421unifiedBinaryOps(symbol, "nint", "uint", $"long long.{name}(long left, long right)");
7422unifiedBinaryOps(symbol, "nint", "nint", $"nint nint.{name}(nint left, nint right)");
7423unifiedBinaryOps(symbol, "nint", "nuint", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nint", "nuint"), getAmbiguousBinaryOpsDiagnostics(symbol, "nuint", "nint"));
7424unifiedBinaryOps(symbol, "nint", "long", $"long long.{name}(long left, long right)");
7425unifiedBinaryOps(symbol, "nint", "ulong", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nint", "ulong"), getAmbiguousBinaryOpsDiagnostics(symbol, "ulong", "nint"));
7426unifiedBinaryOps(symbol, "nint", "float", $"float float.{name}(float left, float right)");
7427unifiedBinaryOps(symbol, "nint", "double", $"double double.{name}(double left, double right)");
7428unifiedBinaryOps(symbol, "nint", "decimal", $"decimal decimal.{name}(decimal left, decimal right)");
7429unifiedBinaryOps(symbol, "nint", "System.IntPtr", $"nint nint.{name}(nint left, nint right)");
7430unifiedBinaryOps(symbol, "nint", "System.UIntPtr", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nint", "nuint"), getAmbiguousBinaryOpsDiagnostics(symbol, "nuint", "nint"));
7433unifiedBinaryOps(symbol, "nint", "bool?");
7434unifiedBinaryOps(symbol, "nint", "char?", $"nint nint.{name}(nint left, nint right)");
7435unifiedBinaryOps(symbol, "nint", "sbyte?", $"nint nint.{name}(nint left, nint right)");
7436unifiedBinaryOps(symbol, "nint", "byte?", $"nint nint.{name}(nint left, nint right)");
7437unifiedBinaryOps(symbol, "nint", "short?", $"nint nint.{name}(nint left, nint right)");
7438unifiedBinaryOps(symbol, "nint", "ushort?", $"nint nint.{name}(nint left, nint right)");
7439unifiedBinaryOps(symbol, "nint", "int?", $"nint nint.{name}(nint left, nint right)");
7440unifiedBinaryOps(symbol, "nint", "uint?", $"long long.{name}(long left, long right)");
7441unifiedBinaryOps(symbol, "nint", "nint?", $"nint nint.{name}(nint left, nint right)");
7442unifiedBinaryOps(symbol, "nint", "nuint?", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nint", "nuint?"), getAmbiguousBinaryOpsDiagnostics(symbol, "nuint?", "nint"));
7443unifiedBinaryOps(symbol, "nint", "long?", $"long long.{name}(long left, long right)");
7444unifiedBinaryOps(symbol, "nint", "ulong?", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nint", "ulong?"), getAmbiguousBinaryOpsDiagnostics(symbol, "ulong?", "nint"));
7445unifiedBinaryOps(symbol, "nint", "float?", $"float float.{name}(float left, float right)");
7446unifiedBinaryOps(symbol, "nint", "double?", $"double double.{name}(double left, double right)");
7447unifiedBinaryOps(symbol, "nint", "decimal?", $"decimal decimal.{name}(decimal left, decimal right)");
7448unifiedBinaryOps(symbol, "nint", "System.IntPtr?", $"nint nint.{name}(nint left, nint right)");
7449unifiedBinaryOps(symbol, "nint", "System.UIntPtr?", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nint", "nuint?"), getAmbiguousBinaryOpsDiagnostics(symbol, "nuint?", "nint"));
7450unifiedBinaryOps(symbol, "nint", "object");
7453unifiedBinaryOps(symbol, "nint?", "string", $"string string.{name}(object left, string right)", $"string string.{name}(string left, object right)");
7454unifiedBinaryOps(symbol, "nint?", "void*", null, null, getBadBinaryOpsDiagnostics(symbol, "nint?", "void*", includeVoidError: true), getBadBinaryOpsDiagnostics(symbol, "void*", "nint?", includeVoidError: true));
7455unifiedBinaryOps(symbol, "nint?", "bool");
7456unifiedBinaryOps(symbol, "nint?", "char", $"nint nint.{name}(nint left, nint right)");
7457unifiedBinaryOps(symbol, "nint?", "sbyte", $"nint nint.{name}(nint left, nint right)");
7458unifiedBinaryOps(symbol, "nint?", "byte", $"nint nint.{name}(nint left, nint right)");
7459unifiedBinaryOps(symbol, "nint?", "short", $"nint nint.{name}(nint left, nint right)");
7460unifiedBinaryOps(symbol, "nint?", "ushort", $"nint nint.{name}(nint left, nint right)");
7461unifiedBinaryOps(symbol, "nint?", "int", $"nint nint.{name}(nint left, nint right)");
7462unifiedBinaryOps(symbol, "nint?", "uint", $"long long.{name}(long left, long right)");
7463unifiedBinaryOps(symbol, "nint?", "nint", $"nint nint.{name}(nint left, nint right)");
7464unifiedBinaryOps(symbol, "nint?", "nuint", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nint?", "nuint"), getAmbiguousBinaryOpsDiagnostics(symbol, "nuint", "nint?"));
7465unifiedBinaryOps(symbol, "nint?", "long", $"long long.{name}(long left, long right)");
7466unifiedBinaryOps(symbol, "nint?", "ulong", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nint?", "ulong"), getAmbiguousBinaryOpsDiagnostics(symbol, "ulong", "nint?"));
7467unifiedBinaryOps(symbol, "nint?", "float", $"float float.{name}(float left, float right)");
7468unifiedBinaryOps(symbol, "nint?", "double", $"double double.{name}(double left, double right)");
7469unifiedBinaryOps(symbol, "nint?", "decimal", $"decimal decimal.{name}(decimal left, decimal right)");
7470unifiedBinaryOps(symbol, "nint?", "System.IntPtr", $"nint nint.{name}(nint left, nint right)");
7471unifiedBinaryOps(symbol, "nint?", "System.UIntPtr", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nint?", "nuint"), getAmbiguousBinaryOpsDiagnostics(symbol, "nuint", "nint?"));
7474unifiedBinaryOps(symbol, "nint?", "bool?");
7475unifiedBinaryOps(symbol, "nint?", "char?", $"nint nint.{name}(nint left, nint right)");
7476unifiedBinaryOps(symbol, "nint?", "sbyte?", $"nint nint.{name}(nint left, nint right)");
7477unifiedBinaryOps(symbol, "nint?", "byte?", $"nint nint.{name}(nint left, nint right)");
7478unifiedBinaryOps(symbol, "nint?", "short?", $"nint nint.{name}(nint left, nint right)");
7479unifiedBinaryOps(symbol, "nint?", "ushort?", $"nint nint.{name}(nint left, nint right)");
7480unifiedBinaryOps(symbol, "nint?", "int?", $"nint nint.{name}(nint left, nint right)");
7481unifiedBinaryOps(symbol, "nint?", "uint?", $"long long.{name}(long left, long right)");
7482unifiedBinaryOps(symbol, "nint?", "nint?", $"nint nint.{name}(nint left, nint right)");
7483unifiedBinaryOps(symbol, "nint?", "nuint?", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nint?", "nuint?"), getAmbiguousBinaryOpsDiagnostics(symbol, "nuint?", "nint?"));
7484unifiedBinaryOps(symbol, "nint?", "long?", $"long long.{name}(long left, long right)");
7485unifiedBinaryOps(symbol, "nint?", "ulong?", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nint?", "ulong?"), getAmbiguousBinaryOpsDiagnostics(symbol, "ulong?", "nint?"));
7486unifiedBinaryOps(symbol, "nint?", "float?", $"float float.{name}(float left, float right)");
7487unifiedBinaryOps(symbol, "nint?", "double?", $"double double.{name}(double left, double right)");
7488unifiedBinaryOps(symbol, "nint?", "decimal?", $"decimal decimal.{name}(decimal left, decimal right)");
7489unifiedBinaryOps(symbol, "nint?", "System.IntPtr?", $"nint nint.{name}(nint left, nint right)");
7490unifiedBinaryOps(symbol, "nint?", "System.UIntPtr?", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nint?", "nuint?"), getAmbiguousBinaryOpsDiagnostics(symbol, "nuint?", "nint?"));
7493unifiedBinaryOps(symbol, "nuint", "object");
7494unifiedBinaryOps(symbol, "nuint", "string", $"string string.{name}(object left, string right)", $"string string.{name}(string left, object right)");
7495unifiedBinaryOps(symbol, "nuint", "void*", $"void* void*.{name}(ulong left, void* right)", $"void* void*.{name}(void* left, ulong right)", new[] { Diagnostic(ErrorCode.ERR_VoidError, "x + y") });
7496unifiedBinaryOps(symbol, "nuint", "bool");
7497unifiedBinaryOps(symbol, "nuint", "char", $"nuint nuint.{name}(nuint left, nuint right)");
7498unifiedBinaryOps(symbol, "nuint", "sbyte", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nuint", "sbyte"), getAmbiguousBinaryOpsDiagnostics(symbol, "sbyte", "nuint"));
7499unifiedBinaryOps(symbol, "nuint", "byte", $"nuint nuint.{name}(nuint left, nuint right)");
7500unifiedBinaryOps(symbol, "nuint", "short", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nuint", "short"), getAmbiguousBinaryOpsDiagnostics(symbol, "short", "nuint"));
7501unifiedBinaryOps(symbol, "nuint", "ushort", $"nuint nuint.{name}(nuint left, nuint right)");
7502unifiedBinaryOps(symbol, "nuint", "int", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nuint", "int"), getAmbiguousBinaryOpsDiagnostics(symbol, "int", "nuint"));
7503unifiedBinaryOps(symbol, "nuint", "uint", $"nuint nuint.{name}(nuint left, nuint right)");
7504unifiedBinaryOps(symbol, "nuint", "nint", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nuint", "nint"), getAmbiguousBinaryOpsDiagnostics(symbol, "nint", "nuint"));
7505unifiedBinaryOps(symbol, "nuint", "nuint", $"nuint nuint.{name}(nuint left, nuint right)");
7506unifiedBinaryOps(symbol, "nuint", "long", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nuint", "long"), getAmbiguousBinaryOpsDiagnostics(symbol, "long", "nuint"));
7507unifiedBinaryOps(symbol, "nuint", "ulong", $"ulong ulong.{name}(ulong left, ulong right)");
7508unifiedBinaryOps(symbol, "nuint", "float", $"float float.{name}(float left, float right)");
7509unifiedBinaryOps(symbol, "nuint", "double", $"double double.{name}(double left, double right)");
7510unifiedBinaryOps(symbol, "nuint", "decimal", $"decimal decimal.{name}(decimal left, decimal right)");
7511unifiedBinaryOps(symbol, "nuint", "System.IntPtr", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nuint", "nint"), getAmbiguousBinaryOpsDiagnostics(symbol, "nint", "nuint"));
7512unifiedBinaryOps(symbol, "nuint", "System.UIntPtr", $"nuint nuint.{name}(nuint left, nuint right)");
7515unifiedBinaryOps(symbol, "nuint", "bool?");
7516unifiedBinaryOps(symbol, "nuint", "char?", $"nuint nuint.{name}(nuint left, nuint right)");
7517unifiedBinaryOps(symbol, "nuint", "sbyte?", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nuint", "sbyte?"), getAmbiguousBinaryOpsDiagnostics(symbol, "sbyte?", "nuint"));
7518unifiedBinaryOps(symbol, "nuint", "byte?", $"nuint nuint.{name}(nuint left, nuint right)");
7519unifiedBinaryOps(symbol, "nuint", "short?", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nuint", "short?"), getAmbiguousBinaryOpsDiagnostics(symbol, "short?", "nuint"));
7520unifiedBinaryOps(symbol, "nuint", "ushort?", $"nuint nuint.{name}(nuint left, nuint right)");
7521unifiedBinaryOps(symbol, "nuint", "int?", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nuint", "int?"), getAmbiguousBinaryOpsDiagnostics(symbol, "int?", "nuint"));
7522unifiedBinaryOps(symbol, "nuint", "uint?", $"nuint nuint.{name}(nuint left, nuint right)");
7523unifiedBinaryOps(symbol, "nuint", "nint?", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nuint", "nint?"), getAmbiguousBinaryOpsDiagnostics(symbol, "nint?", "nuint"));
7524unifiedBinaryOps(symbol, "nuint", "nuint?", $"nuint nuint.{name}(nuint left, nuint right)");
7525unifiedBinaryOps(symbol, "nuint", "long?", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nuint", "long?"), getAmbiguousBinaryOpsDiagnostics(symbol, "long?", "nuint"));
7526unifiedBinaryOps(symbol, "nuint", "ulong?", $"ulong ulong.{name}(ulong left, ulong right)");
7527unifiedBinaryOps(symbol, "nuint", "float?", $"float float.{name}(float left, float right)");
7528unifiedBinaryOps(symbol, "nuint", "double?", $"double double.{name}(double left, double right)");
7529unifiedBinaryOps(symbol, "nuint", "decimal?", $"decimal decimal.{name}(decimal left, decimal right)");
7530unifiedBinaryOps(symbol, "nuint", "System.IntPtr?", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nuint", "nint?"), getAmbiguousBinaryOpsDiagnostics(symbol, "nint?", "nuint"));
7531unifiedBinaryOps(symbol, "nuint", "System.UIntPtr?", $"nuint nuint.{name}(nuint left, nuint right)");
7534unifiedBinaryOps(symbol, "nuint?", "object");
7535unifiedBinaryOps(symbol, "nuint?", "string", $"string string.{name}(object left, string right)", $"string string.{name}(string left, object right)");
7536unifiedBinaryOps(symbol, "nuint?", "void*", null, null, getBadBinaryOpsDiagnostics(symbol, "nuint?", "void*", includeVoidError: true), getBadBinaryOpsDiagnostics(symbol, "void*", "nuint?", includeVoidError: true));
7537unifiedBinaryOps(symbol, "nuint?", "bool");
7538unifiedBinaryOps(symbol, "nuint?", "char", $"nuint nuint.{name}(nuint left, nuint right)");
7539unifiedBinaryOps(symbol, "nuint?", "sbyte", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nuint?", "sbyte"), getAmbiguousBinaryOpsDiagnostics(symbol, "sbyte", "nuint?"));
7540unifiedBinaryOps(symbol, "nuint?", "byte", $"nuint nuint.{name}(nuint left, nuint right)");
7541unifiedBinaryOps(symbol, "nuint?", "short", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nuint?", "short"), getAmbiguousBinaryOpsDiagnostics(symbol, "short", "nuint?"));
7542unifiedBinaryOps(symbol, "nuint?", "ushort", $"nuint nuint.{name}(nuint left, nuint right)");
7543unifiedBinaryOps(symbol, "nuint?", "int", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nuint?", "int"), getAmbiguousBinaryOpsDiagnostics(symbol, "int", "nuint?"));
7544unifiedBinaryOps(symbol, "nuint?", "uint", $"nuint nuint.{name}(nuint left, nuint right)");
7545unifiedBinaryOps(symbol, "nuint?", "nint", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nuint?", "nint"), getAmbiguousBinaryOpsDiagnostics(symbol, "nint", "nuint?"));
7546unifiedBinaryOps(symbol, "nuint?", "nuint", $"nuint nuint.{name}(nuint left, nuint right)");
7547unifiedBinaryOps(symbol, "nuint?", "long", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nuint?", "long"), getAmbiguousBinaryOpsDiagnostics(symbol, "long", "nuint?"));
7548unifiedBinaryOps(symbol, "nuint?", "ulong", $"ulong ulong.{name}(ulong left, ulong right)");
7549unifiedBinaryOps(symbol, "nuint?", "float", $"float float.{name}(float left, float right)");
7550unifiedBinaryOps(symbol, "nuint?", "double", $"double double.{name}(double left, double right)");
7551unifiedBinaryOps(symbol, "nuint?", "decimal", $"decimal decimal.{name}(decimal left, decimal right)");
7552unifiedBinaryOps(symbol, "nuint?", "System.IntPtr", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nuint?", "nint"), getAmbiguousBinaryOpsDiagnostics(symbol, "nint", "nuint?"));
7553unifiedBinaryOps(symbol, "nuint?", "System.UIntPtr", $"nuint nuint.{name}(nuint left, nuint right)");
7556unifiedBinaryOps(symbol, "nuint?", "bool?");
7557unifiedBinaryOps(symbol, "nuint?", "char?", $"nuint nuint.{name}(nuint left, nuint right)");
7558unifiedBinaryOps(symbol, "nuint?", "sbyte?", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nuint?", "sbyte?"), getAmbiguousBinaryOpsDiagnostics(symbol, "sbyte?", "nuint?"));
7559unifiedBinaryOps(symbol, "nuint?", "byte?", $"nuint nuint.{name}(nuint left, nuint right)");
7560unifiedBinaryOps(symbol, "nuint?", "short?", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nuint?", "short?"), getAmbiguousBinaryOpsDiagnostics(symbol, "short?", "nuint?"));
7561unifiedBinaryOps(symbol, "nuint?", "ushort?", $"nuint nuint.{name}(nuint left, nuint right)");
7562unifiedBinaryOps(symbol, "nuint?", "int?", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nuint?", "int?"), getAmbiguousBinaryOpsDiagnostics(symbol, "int?", "nuint?"));
7563unifiedBinaryOps(symbol, "nuint?", "uint?", $"nuint nuint.{name}(nuint left, nuint right)");
7564unifiedBinaryOps(symbol, "nuint?", "nint?", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nuint?", "nint?"), getAmbiguousBinaryOpsDiagnostics(symbol, "nint?", "nuint?"));
7565unifiedBinaryOps(symbol, "nuint?", "nuint?", $"nuint nuint.{name}(nuint left, nuint right)");
7566unifiedBinaryOps(symbol, "nuint?", "long?", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nuint?", "long?"), getAmbiguousBinaryOpsDiagnostics(symbol, "long?", "nuint?"));
7567unifiedBinaryOps(symbol, "nuint?", "ulong?", $"ulong ulong.{name}(ulong left, ulong right)");
7568unifiedBinaryOps(symbol, "nuint?", "float?", $"float float.{name}(float left, float right)");
7569unifiedBinaryOps(symbol, "nuint?", "double?", $"double double.{name}(double left, double right)");
7570unifiedBinaryOps(symbol, "nuint?", "decimal?", $"decimal decimal.{name}(decimal left, decimal right)");
7571unifiedBinaryOps(symbol, "nuint?", "System.IntPtr?", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nuint?", "nint?"), getAmbiguousBinaryOpsDiagnostics(symbol, "nint?", "nuint?"));
7572unifiedBinaryOps(symbol, "nuint?", "System.UIntPtr?", $"nuint nuint.{name}(nuint left, nuint right)");
7578unifiedBinaryOps(symbol, "nint", "object");
7579unifiedBinaryOps(symbol, "nint", "string");
7580unifiedBinaryOps(symbol, "nint", "void*", null, null, getBadBinaryOpsDiagnostics(symbol, "nint", "void*", includeVoidError: true), getBadBinaryOpsDiagnostics(symbol, "void*", "nint", includeVoidError: true));
7581unifiedBinaryOps(symbol, "nint", "bool");
7582unifiedBinaryOps(symbol, "nint", "char", $"nint nint.{name}(nint left, int right)", null);
7583unifiedBinaryOps(symbol, "nint", "sbyte", $"nint nint.{name}(nint left, int right)", null);
7584unifiedBinaryOps(symbol, "nint", "byte", $"nint nint.{name}(nint left, int right)", null);
7585unifiedBinaryOps(symbol, "nint", "short", $"nint nint.{name}(nint left, int right)", null);
7586unifiedBinaryOps(symbol, "nint", "ushort", $"nint nint.{name}(nint left, int right)", null);
7587unifiedBinaryOps(symbol, "nint", "int", $"nint nint.{name}(nint left, int right)", null);
7588unifiedBinaryOps(symbol, "nint", "uint");
7589unifiedBinaryOps(symbol, "nint", "nint");
7590unifiedBinaryOps(symbol, "nint", "nuint");
7591unifiedBinaryOps(symbol, "nint", "long");
7592unifiedBinaryOps(symbol, "nint", "ulong");
7593unifiedBinaryOps(symbol, "nint", "float");
7594unifiedBinaryOps(symbol, "nint", "double");
7595unifiedBinaryOps(symbol, "nint", "decimal");
7596unifiedBinaryOps(symbol, "nint", "System.IntPtr");
7597unifiedBinaryOps(symbol, "nint", "System.UIntPtr");
7600unifiedBinaryOps(symbol, "nint", "bool?");
7601unifiedBinaryOps(symbol, "nint", "char?", $"nint nint.{name}(nint left, int right)", null);
7602unifiedBinaryOps(symbol, "nint", "sbyte?", $"nint nint.{name}(nint left, int right)", null);
7603unifiedBinaryOps(symbol, "nint", "byte?", $"nint nint.{name}(nint left, int right)", null);
7604unifiedBinaryOps(symbol, "nint", "short?", $"nint nint.{name}(nint left, int right)", null);
7605unifiedBinaryOps(symbol, "nint", "ushort?", $"nint nint.{name}(nint left, int right)", null);
7606unifiedBinaryOps(symbol, "nint", "int?", $"nint nint.{name}(nint left, int right)", null);
7607unifiedBinaryOps(symbol, "nint", "uint?");
7608unifiedBinaryOps(symbol, "nint", "nint?");
7609unifiedBinaryOps(symbol, "nint", "nuint?");
7610unifiedBinaryOps(symbol, "nint", "long?");
7611unifiedBinaryOps(symbol, "nint", "ulong?");
7612unifiedBinaryOps(symbol, "nint", "float?");
7613unifiedBinaryOps(symbol, "nint", "double?");
7614unifiedBinaryOps(symbol, "nint", "decimal?");
7615unifiedBinaryOps(symbol, "nint", "System.IntPtr?");
7616unifiedBinaryOps(symbol, "nint", "System.UIntPtr?");
7617unifiedBinaryOps(symbol, "nint", "object");
7620unifiedBinaryOps(symbol, "nint?", "string");
7621unifiedBinaryOps(symbol, "nint?", "void*", null, null, getBadBinaryOpsDiagnostics(symbol, "nint?", "void*", includeVoidError: true), getBadBinaryOpsDiagnostics(symbol, "void*", "nint?", includeVoidError: true));
7622unifiedBinaryOps(symbol, "nint?", "bool");
7623unifiedBinaryOps(symbol, "nint?", "char", $"nint nint.{name}(nint left, int right)", null);
7624unifiedBinaryOps(symbol, "nint?", "sbyte", $"nint nint.{name}(nint left, int right)", null);
7625unifiedBinaryOps(symbol, "nint?", "byte", $"nint nint.{name}(nint left, int right)", null);
7626unifiedBinaryOps(symbol, "nint?", "short", $"nint nint.{name}(nint left, int right)", null);
7627unifiedBinaryOps(symbol, "nint?", "ushort", $"nint nint.{name}(nint left, int right)", null);
7628unifiedBinaryOps(symbol, "nint?", "int", $"nint nint.{name}(nint left, int right)", null);
7629unifiedBinaryOps(symbol, "nint?", "uint");
7630unifiedBinaryOps(symbol, "nint?", "nint");
7631unifiedBinaryOps(symbol, "nint?", "nuint");
7632unifiedBinaryOps(symbol, "nint?", "long");
7633unifiedBinaryOps(symbol, "nint?", "ulong");
7634unifiedBinaryOps(symbol, "nint?", "float");
7635unifiedBinaryOps(symbol, "nint?", "double");
7636unifiedBinaryOps(symbol, "nint?", "decimal");
7637unifiedBinaryOps(symbol, "nint?", "System.IntPtr");
7638unifiedBinaryOps(symbol, "nint?", "System.UIntPtr");
7641unifiedBinaryOps(symbol, "nint?", "bool?");
7642unifiedBinaryOps(symbol, "nint?", "char?", $"nint nint.{name}(nint left, int right)", null);
7643unifiedBinaryOps(symbol, "nint?", "sbyte?", $"nint nint.{name}(nint left, int right)", null);
7644unifiedBinaryOps(symbol, "nint?", "byte?", $"nint nint.{name}(nint left, int right)", null);
7645unifiedBinaryOps(symbol, "nint?", "short?", $"nint nint.{name}(nint left, int right)", null);
7646unifiedBinaryOps(symbol, "nint?", "ushort?", $"nint nint.{name}(nint left, int right)", null);
7647unifiedBinaryOps(symbol, "nint?", "int?", $"nint nint.{name}(nint left, int right)", null);
7648unifiedBinaryOps(symbol, "nint?", "uint?");
7649unifiedBinaryOps(symbol, "nint?", "nint?");
7650unifiedBinaryOps(symbol, "nint?", "nuint?");
7651unifiedBinaryOps(symbol, "nint?", "long?");
7652unifiedBinaryOps(symbol, "nint?", "ulong?");
7653unifiedBinaryOps(symbol, "nint?", "float?");
7654unifiedBinaryOps(symbol, "nint?", "double?");
7655unifiedBinaryOps(symbol, "nint?", "decimal?");
7656unifiedBinaryOps(symbol, "nint?", "System.IntPtr?");
7657unifiedBinaryOps(symbol, "nint?", "System.UIntPtr?");
7660unifiedBinaryOps(symbol, "nuint", "object");
7661unifiedBinaryOps(symbol, "nuint", "string");
7662unifiedBinaryOps(symbol, "nuint", "void*", null, null, getBadBinaryOpsDiagnostics(symbol, "nuint", "void*", includeVoidError: true), getBadBinaryOpsDiagnostics(symbol, "void*", "nuint", includeVoidError: true));
7663unifiedBinaryOps(symbol, "nuint", "bool");
7664unifiedBinaryOps(symbol, "nuint", "char", $"nuint nuint.{name}(nuint left, int right)", null);
7665unifiedBinaryOps(symbol, "nuint", "sbyte", $"nuint nuint.{name}(nuint left, int right)", null);
7666unifiedBinaryOps(symbol, "nuint", "byte", $"nuint nuint.{name}(nuint left, int right)", null);
7667unifiedBinaryOps(symbol, "nuint", "short", $"nuint nuint.{name}(nuint left, int right)", null);
7668unifiedBinaryOps(symbol, "nuint", "ushort", $"nuint nuint.{name}(nuint left, int right)", null);
7669unifiedBinaryOps(symbol, "nuint", "int", $"nuint nuint.{name}(nuint left, int right)", null);
7670unifiedBinaryOps(symbol, "nuint", "uint");
7671unifiedBinaryOps(symbol, "nuint", "nint");
7672unifiedBinaryOps(symbol, "nuint", "nuint");
7673unifiedBinaryOps(symbol, "nuint", "long");
7674unifiedBinaryOps(symbol, "nuint", "ulong");
7675unifiedBinaryOps(symbol, "nuint", "float");
7676unifiedBinaryOps(symbol, "nuint", "double");
7677unifiedBinaryOps(symbol, "nuint", "decimal");
7678unifiedBinaryOps(symbol, "nuint", "System.IntPtr");
7679unifiedBinaryOps(symbol, "nuint", "System.UIntPtr");
7682unifiedBinaryOps(symbol, "nuint", "bool?");
7683unifiedBinaryOps(symbol, "nuint", "char?", $"nuint nuint.{name}(nuint left, int right)", null);
7684unifiedBinaryOps(symbol, "nuint", "sbyte?", $"nuint nuint.{name}(nuint left, int right)", null);
7685unifiedBinaryOps(symbol, "nuint", "byte?", $"nuint nuint.{name}(nuint left, int right)", null);
7686unifiedBinaryOps(symbol, "nuint", "short?", $"nuint nuint.{name}(nuint left, int right)", null);
7687unifiedBinaryOps(symbol, "nuint", "ushort?", $"nuint nuint.{name}(nuint left, int right)", null);
7688unifiedBinaryOps(symbol, "nuint", "int?", $"nuint nuint.{name}(nuint left, int right)", null);
7689unifiedBinaryOps(symbol, "nuint", "uint?");
7690unifiedBinaryOps(symbol, "nuint", "nint?");
7691unifiedBinaryOps(symbol, "nuint", "nuint?");
7692unifiedBinaryOps(symbol, "nuint", "long?");
7693unifiedBinaryOps(symbol, "nuint", "ulong?");
7694unifiedBinaryOps(symbol, "nuint", "float?");
7695unifiedBinaryOps(symbol, "nuint", "double?");
7696unifiedBinaryOps(symbol, "nuint", "decimal?");
7697unifiedBinaryOps(symbol, "nuint", "System.IntPtr?");
7698unifiedBinaryOps(symbol, "nuint", "System.UIntPtr?");
7701unifiedBinaryOps(symbol, "nuint?", "object");
7702unifiedBinaryOps(symbol, "nuint?", "string");
7703unifiedBinaryOps(symbol, "nuint?", "void*", null, null, getBadBinaryOpsDiagnostics(symbol, "nuint?", "void*", includeVoidError: true), getBadBinaryOpsDiagnostics(symbol, "void*", "nuint?", includeVoidError: true));
7704unifiedBinaryOps(symbol, "nuint?", "bool");
7705unifiedBinaryOps(symbol, "nuint?", "char", $"nuint nuint.{name}(nuint left, int right)", null);
7706unifiedBinaryOps(symbol, "nuint?", "sbyte", $"nuint nuint.{name}(nuint left, int right)", null);
7707unifiedBinaryOps(symbol, "nuint?", "byte", $"nuint nuint.{name}(nuint left, int right)", null);
7708unifiedBinaryOps(symbol, "nuint?", "short", $"nuint nuint.{name}(nuint left, int right)", null);
7709unifiedBinaryOps(symbol, "nuint?", "ushort", $"nuint nuint.{name}(nuint left, int right)", null);
7710unifiedBinaryOps(symbol, "nuint?", "int", $"nuint nuint.{name}(nuint left, int right)", null);
7711unifiedBinaryOps(symbol, "nuint?", "uint");
7712unifiedBinaryOps(symbol, "nuint?", "nint");
7713unifiedBinaryOps(symbol, "nuint?", "nuint");
7714unifiedBinaryOps(symbol, "nuint?", "long");
7715unifiedBinaryOps(symbol, "nuint?", "ulong");
7716unifiedBinaryOps(symbol, "nuint?", "float");
7717unifiedBinaryOps(symbol, "nuint?", "double");
7718unifiedBinaryOps(symbol, "nuint?", "decimal");
7719unifiedBinaryOps(symbol, "nuint?", "System.IntPtr");
7720unifiedBinaryOps(symbol, "nuint?", "System.UIntPtr");
7723unifiedBinaryOps(symbol, "nuint?", "bool?");
7724unifiedBinaryOps(symbol, "nuint?", "char?", $"nuint nuint.{name}(nuint left, int right)", null);
7725unifiedBinaryOps(symbol, "nuint?", "sbyte?", $"nuint nuint.{name}(nuint left, int right)", null);
7726unifiedBinaryOps(symbol, "nuint?", "byte?", $"nuint nuint.{name}(nuint left, int right)", null);
7727unifiedBinaryOps(symbol, "nuint?", "short?", $"nuint nuint.{name}(nuint left, int right)", null);
7728unifiedBinaryOps(symbol, "nuint?", "ushort?", $"nuint nuint.{name}(nuint left, int right)", null);
7729unifiedBinaryOps(symbol, "nuint?", "int?", $"nuint nuint.{name}(nuint left, int right)", null);
7730unifiedBinaryOps(symbol, "nuint?", "uint?");
7731unifiedBinaryOps(symbol, "nuint?", "nint?");
7732unifiedBinaryOps(symbol, "nuint?", "nuint?");
7733unifiedBinaryOps(symbol, "nuint?", "long?");
7734unifiedBinaryOps(symbol, "nuint?", "ulong?");
7735unifiedBinaryOps(symbol, "nuint?", "float?");
7736unifiedBinaryOps(symbol, "nuint?", "double?");
7737unifiedBinaryOps(symbol, "nuint?", "decimal?");
7738unifiedBinaryOps(symbol, "nuint?", "System.IntPtr?");
7739unifiedBinaryOps(symbol, "nuint?", "System.UIntPtr?");
7745unifiedBinaryOps(symbol, "nint", "object");
7746unifiedBinaryOps(symbol, "nint", "string");
7747unifiedBinaryOps(symbol, "nint", "void*", null, null, getBadBinaryOpsDiagnostics(symbol, "nint", "void*"), getBadBinaryOpsDiagnostics(symbol, "void*", "nint"));
7748unifiedBinaryOps(symbol, "nint", "bool");
7749unifiedBinaryOps(symbol, "nint", "char", $"bool nint.{name}(nint left, nint right)");
7750unifiedBinaryOps(symbol, "nint", "sbyte", $"bool nint.{name}(nint left, nint right)");
7751unifiedBinaryOps(symbol, "nint", "byte", $"bool nint.{name}(nint left, nint right)");
7752unifiedBinaryOps(symbol, "nint", "short", $"bool nint.{name}(nint left, nint right)");
7753unifiedBinaryOps(symbol, "nint", "ushort", $"bool nint.{name}(nint left, nint right)");
7754unifiedBinaryOps(symbol, "nint", "int", $"bool nint.{name}(nint left, nint right)");
7755unifiedBinaryOps(symbol, "nint", "uint", $"bool long.{name}(long left, long right)");
7756unifiedBinaryOps(symbol, "nint", "nint", $"bool nint.{name}(nint left, nint right)");
7757unifiedBinaryOps(symbol, "nint", "nuint", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nint", "nuint"), getAmbiguousBinaryOpsDiagnostics(symbol, "nuint", "nint"));
7758unifiedBinaryOps(symbol, "nint", "long", $"bool long.{name}(long left, long right)");
7759unifiedBinaryOps(symbol, "nint", "ulong", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nint", "ulong"), getAmbiguousBinaryOpsDiagnostics(symbol, "ulong", "nint"));
7760unifiedBinaryOps(symbol, "nint", "float", $"bool float.{name}(float left, float right)");
7761unifiedBinaryOps(symbol, "nint", "double", $"bool double.{name}(double left, double right)");
7762unifiedBinaryOps(symbol, "nint", "decimal", $"bool decimal.{name}(decimal left, decimal right)");
7763unifiedBinaryOps(symbol, "nint", "System.IntPtr", $"bool nint.{name}(nint left, nint right)");
7764unifiedBinaryOps(symbol, "nint", "System.UIntPtr", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nint", "nuint"), getAmbiguousBinaryOpsDiagnostics(symbol, "nuint", "nint"));
7767unifiedBinaryOps(symbol, "nint", "bool?");
7768unifiedBinaryOps(symbol, "nint", "char?", $"bool nint.{name}(nint left, nint right)");
7769unifiedBinaryOps(symbol, "nint", "sbyte?", $"bool nint.{name}(nint left, nint right)");
7770unifiedBinaryOps(symbol, "nint", "byte?", $"bool nint.{name}(nint left, nint right)");
7771unifiedBinaryOps(symbol, "nint", "short?", $"bool nint.{name}(nint left, nint right)");
7772unifiedBinaryOps(symbol, "nint", "ushort?", $"bool nint.{name}(nint left, nint right)");
7773unifiedBinaryOps(symbol, "nint", "int?", $"bool nint.{name}(nint left, nint right)");
7774unifiedBinaryOps(symbol, "nint", "uint?", $"bool long.{name}(long left, long right)");
7775unifiedBinaryOps(symbol, "nint", "nint?", $"bool nint.{name}(nint left, nint right)");
7776unifiedBinaryOps(symbol, "nint", "nuint?", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nint", "nuint?"), getAmbiguousBinaryOpsDiagnostics(symbol, "nuint?", "nint"));
7777unifiedBinaryOps(symbol, "nint", "long?", $"bool long.{name}(long left, long right)");
7778unifiedBinaryOps(symbol, "nint", "ulong?", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nint", "ulong?"), getAmbiguousBinaryOpsDiagnostics(symbol, "ulong?", "nint"));
7779unifiedBinaryOps(symbol, "nint", "float?", $"bool float.{name}(float left, float right)");
7780unifiedBinaryOps(symbol, "nint", "double?", $"bool double.{name}(double left, double right)");
7781unifiedBinaryOps(symbol, "nint", "decimal?", $"bool decimal.{name}(decimal left, decimal right)");
7782unifiedBinaryOps(symbol, "nint", "System.IntPtr?", $"bool nint.{name}(nint left, nint right)");
7783unifiedBinaryOps(symbol, "nint", "System.UIntPtr?", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nint", "nuint?"), getAmbiguousBinaryOpsDiagnostics(symbol, "nuint?", "nint"));
7784unifiedBinaryOps(symbol, "nint", "object");
7787unifiedBinaryOps(symbol, "nint?", "string");
7788unifiedBinaryOps(symbol, "nint?", "void*", null, null, getBadBinaryOpsDiagnostics(symbol, "nint?", "void*"), getBadBinaryOpsDiagnostics(symbol, "void*", "nint?"));
7789unifiedBinaryOps(symbol, "nint?", "bool");
7790unifiedBinaryOps(symbol, "nint?", "char", $"bool nint.{name}(nint left, nint right)");
7791unifiedBinaryOps(symbol, "nint?", "sbyte", $"bool nint.{name}(nint left, nint right)");
7792unifiedBinaryOps(symbol, "nint?", "byte", $"bool nint.{name}(nint left, nint right)");
7793unifiedBinaryOps(symbol, "nint?", "short", $"bool nint.{name}(nint left, nint right)");
7794unifiedBinaryOps(symbol, "nint?", "ushort", $"bool nint.{name}(nint left, nint right)");
7795unifiedBinaryOps(symbol, "nint?", "int", $"bool nint.{name}(nint left, nint right)");
7796unifiedBinaryOps(symbol, "nint?", "uint", $"bool long.{name}(long left, long right)");
7797unifiedBinaryOps(symbol, "nint?", "nint", $"bool nint.{name}(nint left, nint right)");
7798unifiedBinaryOps(symbol, "nint?", "nuint", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nint?", "nuint"), getAmbiguousBinaryOpsDiagnostics(symbol, "nuint", "nint?"));
7799unifiedBinaryOps(symbol, "nint?", "long", $"bool long.{name}(long left, long right)");
7800unifiedBinaryOps(symbol, "nint?", "ulong", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nint?", "ulong"), getAmbiguousBinaryOpsDiagnostics(symbol, "ulong", "nint?"));
7801unifiedBinaryOps(symbol, "nint?", "float", $"bool float.{name}(float left, float right)");
7802unifiedBinaryOps(symbol, "nint?", "double", $"bool double.{name}(double left, double right)");
7803unifiedBinaryOps(symbol, "nint?", "decimal", $"bool decimal.{name}(decimal left, decimal right)");
7804unifiedBinaryOps(symbol, "nint?", "System.IntPtr", $"bool nint.{name}(nint left, nint right)");
7805unifiedBinaryOps(symbol, "nint?", "System.UIntPtr", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nint?", "nuint"), getAmbiguousBinaryOpsDiagnostics(symbol, "nuint", "nint?"));
7808unifiedBinaryOps(symbol, "nint?", "bool?");
7809unifiedBinaryOps(symbol, "nint?", "char?", $"bool nint.{name}(nint left, nint right)");
7810unifiedBinaryOps(symbol, "nint?", "sbyte?", $"bool nint.{name}(nint left, nint right)");
7811unifiedBinaryOps(symbol, "nint?", "byte?", $"bool nint.{name}(nint left, nint right)");
7812unifiedBinaryOps(symbol, "nint?", "short?", $"bool nint.{name}(nint left, nint right)");
7813unifiedBinaryOps(symbol, "nint?", "ushort?", $"bool nint.{name}(nint left, nint right)");
7814unifiedBinaryOps(symbol, "nint?", "int?", $"bool nint.{name}(nint left, nint right)");
7815unifiedBinaryOps(symbol, "nint?", "uint?", $"bool long.{name}(long left, long right)");
7816unifiedBinaryOps(symbol, "nint?", "nint?", $"bool nint.{name}(nint left, nint right)");
7817unifiedBinaryOps(symbol, "nint?", "nuint?", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nint?", "nuint?"), getAmbiguousBinaryOpsDiagnostics(symbol, "nuint?", "nint?"));
7818unifiedBinaryOps(symbol, "nint?", "long?", $"bool long.{name}(long left, long right)");
7819unifiedBinaryOps(symbol, "nint?", "ulong?", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nint?", "ulong?"), getAmbiguousBinaryOpsDiagnostics(symbol, "ulong?", "nint?"));
7820unifiedBinaryOps(symbol, "nint?", "float?", $"bool float.{name}(float left, float right)");
7821unifiedBinaryOps(symbol, "nint?", "double?", $"bool double.{name}(double left, double right)");
7822unifiedBinaryOps(symbol, "nint?", "decimal?", $"bool decimal.{name}(decimal left, decimal right)");
7823unifiedBinaryOps(symbol, "nint?", "System.IntPtr?", $"bool nint.{name}(nint left, nint right)");
7824unifiedBinaryOps(symbol, "nint?", "System.UIntPtr?", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nint?", "nuint?"), getAmbiguousBinaryOpsDiagnostics(symbol, "nuint?", "nint?"));
7827unifiedBinaryOps(symbol, "nuint", "object");
7828unifiedBinaryOps(symbol, "nuint", "string");
7829unifiedBinaryOps(symbol, "nuint", "void*", null, null, getBadBinaryOpsDiagnostics(symbol, "nuint", "void*"), getBadBinaryOpsDiagnostics(symbol, "void*", "nuint"));
7830unifiedBinaryOps(symbol, "nuint", "bool");
7831unifiedBinaryOps(symbol, "nuint", "char", $"bool nuint.{name}(nuint left, nuint right)");
7832unifiedBinaryOps(symbol, "nuint", "sbyte", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nuint", "sbyte"), getAmbiguousBinaryOpsDiagnostics(symbol, "sbyte", "nuint"));
7833unifiedBinaryOps(symbol, "nuint", "byte", $"bool nuint.{name}(nuint left, nuint right)");
7834unifiedBinaryOps(symbol, "nuint", "short", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nuint", "short"), getAmbiguousBinaryOpsDiagnostics(symbol, "short", "nuint"));
7835unifiedBinaryOps(symbol, "nuint", "ushort", $"bool nuint.{name}(nuint left, nuint right)");
7836unifiedBinaryOps(symbol, "nuint", "int", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nuint", "int"), getAmbiguousBinaryOpsDiagnostics(symbol, "int", "nuint"));
7837unifiedBinaryOps(symbol, "nuint", "uint", $"bool nuint.{name}(nuint left, nuint right)");
7838unifiedBinaryOps(symbol, "nuint", "nint", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nuint", "nint"), getAmbiguousBinaryOpsDiagnostics(symbol, "nint", "nuint"));
7839unifiedBinaryOps(symbol, "nuint", "nuint", $"bool nuint.{name}(nuint left, nuint right)");
7840unifiedBinaryOps(symbol, "nuint", "long", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nuint", "long"), getAmbiguousBinaryOpsDiagnostics(symbol, "long", "nuint"));
7841unifiedBinaryOps(symbol, "nuint", "ulong", $"bool ulong.{name}(ulong left, ulong right)");
7842unifiedBinaryOps(symbol, "nuint", "float", $"bool float.{name}(float left, float right)");
7843unifiedBinaryOps(symbol, "nuint", "double", $"bool double.{name}(double left, double right)");
7844unifiedBinaryOps(symbol, "nuint", "decimal", $"bool decimal.{name}(decimal left, decimal right)");
7845unifiedBinaryOps(symbol, "nuint", "System.IntPtr", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nuint", "nint"), getAmbiguousBinaryOpsDiagnostics(symbol, "nint", "nuint"));
7846unifiedBinaryOps(symbol, "nuint", "System.UIntPtr", $"bool nuint.{name}(nuint left, nuint right)");
7849unifiedBinaryOps(symbol, "nuint", "bool?");
7850unifiedBinaryOps(symbol, "nuint", "char?", $"bool nuint.{name}(nuint left, nuint right)");
7851unifiedBinaryOps(symbol, "nuint", "sbyte?", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nuint", "sbyte?"), getAmbiguousBinaryOpsDiagnostics(symbol, "sbyte?", "nuint"));
7852unifiedBinaryOps(symbol, "nuint", "byte?", $"bool nuint.{name}(nuint left, nuint right)");
7853unifiedBinaryOps(symbol, "nuint", "short?", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nuint", "short?"), getAmbiguousBinaryOpsDiagnostics(symbol, "short?", "nuint"));
7854unifiedBinaryOps(symbol, "nuint", "ushort?", $"bool nuint.{name}(nuint left, nuint right)");
7855unifiedBinaryOps(symbol, "nuint", "int?", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nuint", "int?"), getAmbiguousBinaryOpsDiagnostics(symbol, "int?", "nuint"));
7856unifiedBinaryOps(symbol, "nuint", "uint?", $"bool nuint.{name}(nuint left, nuint right)");
7857unifiedBinaryOps(symbol, "nuint", "nint?", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nuint", "nint?"), getAmbiguousBinaryOpsDiagnostics(symbol, "nint?", "nuint"));
7858unifiedBinaryOps(symbol, "nuint", "nuint?", $"bool nuint.{name}(nuint left, nuint right)");
7859unifiedBinaryOps(symbol, "nuint", "long?", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nuint", "long?"), getAmbiguousBinaryOpsDiagnostics(symbol, "long?", "nuint"));
7860unifiedBinaryOps(symbol, "nuint", "ulong?", $"bool ulong.{name}(ulong left, ulong right)");
7861unifiedBinaryOps(symbol, "nuint", "float?", $"bool float.{name}(float left, float right)");
7862unifiedBinaryOps(symbol, "nuint", "double?", $"bool double.{name}(double left, double right)");
7863unifiedBinaryOps(symbol, "nuint", "decimal?", $"bool decimal.{name}(decimal left, decimal right)");
7864unifiedBinaryOps(symbol, "nuint", "System.IntPtr?", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nuint", "nint?"), getAmbiguousBinaryOpsDiagnostics(symbol, "nint?", "nuint"));
7865unifiedBinaryOps(symbol, "nuint", "System.UIntPtr?", $"bool nuint.{name}(nuint left, nuint right)");
7868unifiedBinaryOps(symbol, "nuint?", "object");
7869unifiedBinaryOps(symbol, "nuint?", "string");
7870unifiedBinaryOps(symbol, "nuint?", "void*", null, null, getBadBinaryOpsDiagnostics(symbol, "nuint?", "void*"), getBadBinaryOpsDiagnostics(symbol, "void*", "nuint?"));
7871unifiedBinaryOps(symbol, "nuint?", "bool");
7872unifiedBinaryOps(symbol, "nuint?", "char", $"bool nuint.{name}(nuint left, nuint right)");
7873unifiedBinaryOps(symbol, "nuint?", "sbyte", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nuint?", "sbyte"), getAmbiguousBinaryOpsDiagnostics(symbol, "sbyte", "nuint?"));
7874unifiedBinaryOps(symbol, "nuint?", "byte", $"bool nuint.{name}(nuint left, nuint right)");
7875unifiedBinaryOps(symbol, "nuint?", "short", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nuint?", "short"), getAmbiguousBinaryOpsDiagnostics(symbol, "short", "nuint?"));
7876unifiedBinaryOps(symbol, "nuint?", "ushort", $"bool nuint.{name}(nuint left, nuint right)");
7877unifiedBinaryOps(symbol, "nuint?", "int", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nuint?", "int"), getAmbiguousBinaryOpsDiagnostics(symbol, "int", "nuint?"));
7878unifiedBinaryOps(symbol, "nuint?", "uint", $"bool nuint.{name}(nuint left, nuint right)");
7879unifiedBinaryOps(symbol, "nuint?", "nint", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nuint?", "nint"), getAmbiguousBinaryOpsDiagnostics(symbol, "nint", "nuint?"));
7880unifiedBinaryOps(symbol, "nuint?", "nuint", $"bool nuint.{name}(nuint left, nuint right)");
7881unifiedBinaryOps(symbol, "nuint?", "long", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nuint?", "long"), getAmbiguousBinaryOpsDiagnostics(symbol, "long", "nuint?"));
7882unifiedBinaryOps(symbol, "nuint?", "ulong", $"bool ulong.{name}(ulong left, ulong right)");
7883unifiedBinaryOps(symbol, "nuint?", "float", $"bool float.{name}(float left, float right)");
7884unifiedBinaryOps(symbol, "nuint?", "double", $"bool double.{name}(double left, double right)");
7885unifiedBinaryOps(symbol, "nuint?", "decimal", $"bool decimal.{name}(decimal left, decimal right)");
7886unifiedBinaryOps(symbol, "nuint?", "System.IntPtr", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nuint?", "nint"), getAmbiguousBinaryOpsDiagnostics(symbol, "nint", "nuint?"));
7887unifiedBinaryOps(symbol, "nuint?", "System.UIntPtr", $"bool nuint.{name}(nuint left, nuint right)");
7890unifiedBinaryOps(symbol, "nuint?", "bool?");
7891unifiedBinaryOps(symbol, "nuint?", "char?", $"bool nuint.{name}(nuint left, nuint right)");
7892unifiedBinaryOps(symbol, "nuint?", "sbyte?", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nuint?", "sbyte?"), getAmbiguousBinaryOpsDiagnostics(symbol, "sbyte?", "nuint?"));
7893unifiedBinaryOps(symbol, "nuint?", "byte?", $"bool nuint.{name}(nuint left, nuint right)");
7894unifiedBinaryOps(symbol, "nuint?", "short?", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nuint?", "short?"), getAmbiguousBinaryOpsDiagnostics(symbol, "short?", "nuint?"));
7895unifiedBinaryOps(symbol, "nuint?", "ushort?", $"bool nuint.{name}(nuint left, nuint right)");
7896unifiedBinaryOps(symbol, "nuint?", "int?", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nuint?", "int?"), getAmbiguousBinaryOpsDiagnostics(symbol, "int?", "nuint?"));
7897unifiedBinaryOps(symbol, "nuint?", "uint?", $"bool nuint.{name}(nuint left, nuint right)");
7898unifiedBinaryOps(symbol, "nuint?", "nint?", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nuint?", "nint?"), getAmbiguousBinaryOpsDiagnostics(symbol, "nint?", "nuint?"));
7899unifiedBinaryOps(symbol, "nuint?", "nuint?", $"bool nuint.{name}(nuint left, nuint right)");
7900unifiedBinaryOps(symbol, "nuint?", "long?", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nuint?", "long?"), getAmbiguousBinaryOpsDiagnostics(symbol, "long?", "nuint?"));
7901unifiedBinaryOps(symbol, "nuint?", "ulong?", $"bool ulong.{name}(ulong left, ulong right)");
7902unifiedBinaryOps(symbol, "nuint?", "float?", $"bool float.{name}(float left, float right)");
7903unifiedBinaryOps(symbol, "nuint?", "double?", $"bool double.{name}(double left, double right)");
7904unifiedBinaryOps(symbol, "nuint?", "decimal?", $"bool decimal.{name}(decimal left, decimal right)");
7905unifiedBinaryOps(symbol, "nuint?", "System.IntPtr?", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nuint?", "nint?"), getAmbiguousBinaryOpsDiagnostics(symbol, "nint?", "nuint?"));
7906unifiedBinaryOps(symbol, "nuint?", "System.UIntPtr?", $"bool nuint.{name}(nuint left, nuint right)");
7912unifiedBinaryOps(symbol, "nint", "object");
7913unifiedBinaryOps(symbol, "nint", "string");
7914unifiedBinaryOps(symbol, "nint", "void*", null, null, getBadBinaryOpsDiagnostics(symbol, "nint", "void*", includeVoidError: true), getBadBinaryOpsDiagnostics(symbol, "void*", "nint", includeVoidError: true));
7915unifiedBinaryOps(symbol, "nint", "bool");
7916unifiedBinaryOps(symbol, "nint", "char", $"nint nint.{name}(nint left, nint right)");
7917unifiedBinaryOps(symbol, "nint", "sbyte", $"nint nint.{name}(nint left, nint right)");
7918unifiedBinaryOps(symbol, "nint", "byte", $"nint nint.{name}(nint left, nint right)");
7919unifiedBinaryOps(symbol, "nint", "short", $"nint nint.{name}(nint left, nint right)");
7920unifiedBinaryOps(symbol, "nint", "ushort", $"nint nint.{name}(nint left, nint right)");
7921unifiedBinaryOps(symbol, "nint", "int", $"nint nint.{name}(nint left, nint right)");
7922unifiedBinaryOps(symbol, "nint", "uint", $"long long.{name}(long left, long right)");
7923unifiedBinaryOps(symbol, "nint", "nint", $"nint nint.{name}(nint left, nint right)");
7924unifiedBinaryOps(symbol, "nint", "nuint");
7925unifiedBinaryOps(symbol, "nint", "long", $"long long.{name}(long left, long right)");
7926unifiedBinaryOps(symbol, "nint", "ulong");
7927unifiedBinaryOps(symbol, "nint", "float");
7928unifiedBinaryOps(symbol, "nint", "double");
7929unifiedBinaryOps(symbol, "nint", "decimal");
7930unifiedBinaryOps(symbol, "nint", "System.IntPtr", $"nint nint.{name}(nint left, nint right)");
7931unifiedBinaryOps(symbol, "nint", "System.UIntPtr");
7934unifiedBinaryOps(symbol, "nint", "bool?");
7935unifiedBinaryOps(symbol, "nint", "char?", $"nint nint.{name}(nint left, nint right)");
7936unifiedBinaryOps(symbol, "nint", "sbyte?", $"nint nint.{name}(nint left, nint right)");
7937unifiedBinaryOps(symbol, "nint", "byte?", $"nint nint.{name}(nint left, nint right)");
7938unifiedBinaryOps(symbol, "nint", "short?", $"nint nint.{name}(nint left, nint right)");
7939unifiedBinaryOps(symbol, "nint", "ushort?", $"nint nint.{name}(nint left, nint right)");
7940unifiedBinaryOps(symbol, "nint", "int?", $"nint nint.{name}(nint left, nint right)");
7941unifiedBinaryOps(symbol, "nint", "uint?", $"long long.{name}(long left, long right)");
7942unifiedBinaryOps(symbol, "nint", "nint?", $"nint nint.{name}(nint left, nint right)");
7943unifiedBinaryOps(symbol, "nint", "nuint?");
7944unifiedBinaryOps(symbol, "nint", "long?", $"long long.{name}(long left, long right)");
7945unifiedBinaryOps(symbol, "nint", "ulong?");
7946unifiedBinaryOps(symbol, "nint", "float?");
7947unifiedBinaryOps(symbol, "nint", "double?");
7948unifiedBinaryOps(symbol, "nint", "decimal?");
7949unifiedBinaryOps(symbol, "nint", "System.IntPtr?", $"nint nint.{name}(nint left, nint right)");
7950unifiedBinaryOps(symbol, "nint", "System.UIntPtr?");
7951unifiedBinaryOps(symbol, "nint", "object");
7954unifiedBinaryOps(symbol, "nint?", "string");
7955unifiedBinaryOps(symbol, "nint?", "void*", null, null, getBadBinaryOpsDiagnostics(symbol, "nint?", "void*", includeVoidError: true), getBadBinaryOpsDiagnostics(symbol, "void*", "nint?", includeVoidError: true));
7956unifiedBinaryOps(symbol, "nint?", "bool");
7957unifiedBinaryOps(symbol, "nint?", "char", $"nint nint.{name}(nint left, nint right)");
7958unifiedBinaryOps(symbol, "nint?", "sbyte", $"nint nint.{name}(nint left, nint right)");
7959unifiedBinaryOps(symbol, "nint?", "byte", $"nint nint.{name}(nint left, nint right)");
7960unifiedBinaryOps(symbol, "nint?", "short", $"nint nint.{name}(nint left, nint right)");
7961unifiedBinaryOps(symbol, "nint?", "ushort", $"nint nint.{name}(nint left, nint right)");
7962unifiedBinaryOps(symbol, "nint?", "int", $"nint nint.{name}(nint left, nint right)");
7963unifiedBinaryOps(symbol, "nint?", "uint", $"long long.{name}(long left, long right)");
7964unifiedBinaryOps(symbol, "nint?", "nint", $"nint nint.{name}(nint left, nint right)");
7965unifiedBinaryOps(symbol, "nint?", "nuint");
7966unifiedBinaryOps(symbol, "nint?", "long", $"long long.{name}(long left, long right)");
7967unifiedBinaryOps(symbol, "nint?", "ulong");
7968unifiedBinaryOps(symbol, "nint?", "float");
7969unifiedBinaryOps(symbol, "nint?", "double");
7970unifiedBinaryOps(symbol, "nint?", "decimal");
7971unifiedBinaryOps(symbol, "nint?", "System.IntPtr", $"nint nint.{name}(nint left, nint right)");
7972unifiedBinaryOps(symbol, "nint?", "System.UIntPtr");
7975unifiedBinaryOps(symbol, "nint?", "bool?");
7976unifiedBinaryOps(symbol, "nint?", "char?", $"nint nint.{name}(nint left, nint right)");
7977unifiedBinaryOps(symbol, "nint?", "sbyte?", $"nint nint.{name}(nint left, nint right)");
7978unifiedBinaryOps(symbol, "nint?", "byte?", $"nint nint.{name}(nint left, nint right)");
7979unifiedBinaryOps(symbol, "nint?", "short?", $"nint nint.{name}(nint left, nint right)");
7980unifiedBinaryOps(symbol, "nint?", "ushort?", $"nint nint.{name}(nint left, nint right)");
7981unifiedBinaryOps(symbol, "nint?", "int?", $"nint nint.{name}(nint left, nint right)");
7982unifiedBinaryOps(symbol, "nint?", "uint?", $"long long.{name}(long left, long right)");
7983unifiedBinaryOps(symbol, "nint?", "nint?", $"nint nint.{name}(nint left, nint right)");
7984unifiedBinaryOps(symbol, "nint?", "nuint?");
7985unifiedBinaryOps(symbol, "nint?", "long?", $"long long.{name}(long left, long right)");
7986unifiedBinaryOps(symbol, "nint?", "ulong?");
7987unifiedBinaryOps(symbol, "nint?", "float?");
7988unifiedBinaryOps(symbol, "nint?", "double?");
7989unifiedBinaryOps(symbol, "nint?", "decimal?");
7990unifiedBinaryOps(symbol, "nint?", "System.IntPtr?", $"nint nint.{name}(nint left, nint right)");
7991unifiedBinaryOps(symbol, "nint?", "System.UIntPtr?");
7994unifiedBinaryOps(symbol, "nuint", "object");
7995unifiedBinaryOps(symbol, "nuint", "string");
7996unifiedBinaryOps(symbol, "nuint", "void*", null, null, getBadBinaryOpsDiagnostics(symbol, "nuint", "void*", includeVoidError: true), getBadBinaryOpsDiagnostics(symbol, "void*", "nuint", includeVoidError: true));
7997unifiedBinaryOps(symbol, "nuint", "bool");
7998unifiedBinaryOps(symbol, "nuint", "char", $"nuint nuint.{name}(nuint left, nuint right)");
7999unifiedBinaryOps(symbol, "nuint", "sbyte");
8000unifiedBinaryOps(symbol, "nuint", "byte", $"nuint nuint.{name}(nuint left, nuint right)");
8001unifiedBinaryOps(symbol, "nuint", "short");
8002unifiedBinaryOps(symbol, "nuint", "ushort", $"nuint nuint.{name}(nuint left, nuint right)");
8003unifiedBinaryOps(symbol, "nuint", "int");
8004unifiedBinaryOps(symbol, "nuint", "uint", $"nuint nuint.{name}(nuint left, nuint right)");
8005unifiedBinaryOps(symbol, "nuint", "nint");
8006unifiedBinaryOps(symbol, "nuint", "nuint", $"nuint nuint.{name}(nuint left, nuint right)");
8007unifiedBinaryOps(symbol, "nuint", "long");
8008unifiedBinaryOps(symbol, "nuint", "ulong", $"ulong ulong.{name}(ulong left, ulong right)");
8009unifiedBinaryOps(symbol, "nuint", "float");
8010unifiedBinaryOps(symbol, "nuint", "double");
8011unifiedBinaryOps(symbol, "nuint", "decimal");
8012unifiedBinaryOps(symbol, "nuint", "System.IntPtr");
8013unifiedBinaryOps(symbol, "nuint", "System.UIntPtr", $"nuint nuint.{name}(nuint left, nuint right)");
8016unifiedBinaryOps(symbol, "nuint", "bool?");
8017unifiedBinaryOps(symbol, "nuint", "char?", $"nuint nuint.{name}(nuint left, nuint right)");
8018unifiedBinaryOps(symbol, "nuint", "sbyte?");
8019unifiedBinaryOps(symbol, "nuint", "byte?", $"nuint nuint.{name}(nuint left, nuint right)");
8020unifiedBinaryOps(symbol, "nuint", "short?");
8021unifiedBinaryOps(symbol, "nuint", "ushort?", $"nuint nuint.{name}(nuint left, nuint right)");
8022unifiedBinaryOps(symbol, "nuint", "int?");
8023unifiedBinaryOps(symbol, "nuint", "uint?", $"nuint nuint.{name}(nuint left, nuint right)");
8024unifiedBinaryOps(symbol, "nuint", "nint?");
8025unifiedBinaryOps(symbol, "nuint", "nuint?", $"nuint nuint.{name}(nuint left, nuint right)");
8026unifiedBinaryOps(symbol, "nuint", "long?");
8027unifiedBinaryOps(symbol, "nuint", "ulong?", $"ulong ulong.{name}(ulong left, ulong right)");
8028unifiedBinaryOps(symbol, "nuint", "float?");
8029unifiedBinaryOps(symbol, "nuint", "double?");
8030unifiedBinaryOps(symbol, "nuint", "decimal?");
8031unifiedBinaryOps(symbol, "nuint", "System.IntPtr?");
8032unifiedBinaryOps(symbol, "nuint", "System.UIntPtr?", $"nuint nuint.{name}(nuint left, nuint right)");
8035unifiedBinaryOps(symbol, "nuint?", "object");
8036unifiedBinaryOps(symbol, "nuint?", "string");
8037unifiedBinaryOps(symbol, "nuint?", "void*", null, null, getBadBinaryOpsDiagnostics(symbol, "nuint?", "void*", includeVoidError: true), getBadBinaryOpsDiagnostics(symbol, "void*", "nuint?", includeVoidError: true));
8038unifiedBinaryOps(symbol, "nuint?", "bool");
8039unifiedBinaryOps(symbol, "nuint?", "char", $"nuint nuint.{name}(nuint left, nuint right)");
8040unifiedBinaryOps(symbol, "nuint?", "sbyte");
8041unifiedBinaryOps(symbol, "nuint?", "byte", $"nuint nuint.{name}(nuint left, nuint right)");
8042unifiedBinaryOps(symbol, "nuint?", "short");
8043unifiedBinaryOps(symbol, "nuint?", "ushort", $"nuint nuint.{name}(nuint left, nuint right)");
8044unifiedBinaryOps(symbol, "nuint?", "int");
8045unifiedBinaryOps(symbol, "nuint?", "uint", $"nuint nuint.{name}(nuint left, nuint right)");
8046unifiedBinaryOps(symbol, "nuint?", "nint");
8047unifiedBinaryOps(symbol, "nuint?", "nuint", $"nuint nuint.{name}(nuint left, nuint right)");
8048unifiedBinaryOps(symbol, "nuint?", "long");
8049unifiedBinaryOps(symbol, "nuint?", "ulong", $"ulong ulong.{name}(ulong left, ulong right)");
8050unifiedBinaryOps(symbol, "nuint?", "float");
8051unifiedBinaryOps(symbol, "nuint?", "double");
8052unifiedBinaryOps(symbol, "nuint?", "decimal");
8053unifiedBinaryOps(symbol, "nuint?", "System.IntPtr");
8054unifiedBinaryOps(symbol, "nuint?", "System.UIntPtr", $"nuint nuint.{name}(nuint left, nuint right)");
8057unifiedBinaryOps(symbol, "nuint?", "bool?");
8058unifiedBinaryOps(symbol, "nuint?", "char?", $"nuint nuint.{name}(nuint left, nuint right)");
8059unifiedBinaryOps(symbol, "nuint?", "sbyte?");
8060unifiedBinaryOps(symbol, "nuint?", "byte?", $"nuint nuint.{name}(nuint left, nuint right)");
8061unifiedBinaryOps(symbol, "nuint?", "short?");
8062unifiedBinaryOps(symbol, "nuint?", "ushort?", $"nuint nuint.{name}(nuint left, nuint right)");
8063unifiedBinaryOps(symbol, "nuint?", "int?");
8064unifiedBinaryOps(symbol, "nuint?", "uint?", $"nuint nuint.{name}(nuint left, nuint right)");
8065unifiedBinaryOps(symbol, "nuint?", "nint?");
8066unifiedBinaryOps(symbol, "nuint?", "nuint?", $"nuint nuint.{name}(nuint left, nuint right)");
8067unifiedBinaryOps(symbol, "nuint?", "long?");
8068unifiedBinaryOps(symbol, "nuint?", "ulong?", $"ulong ulong.{name}(ulong left, ulong right)");
8069unifiedBinaryOps(symbol, "nuint?", "float?");
8070unifiedBinaryOps(symbol, "nuint?", "double?");
8071unifiedBinaryOps(symbol, "nuint?", "decimal?");
8072unifiedBinaryOps(symbol, "nuint?", "System.IntPtr?");
8073unifiedBinaryOps(symbol, "nuint?", "System.UIntPtr?", $"nuint nuint.{name}(nuint left, nuint right)");