public static bool CheckOverrideName (TypeSpec type, TypeSpec baseType)
{
var btype_ntuple = baseType as NamedTupleSpec;
- var mtype_ntupe = type as NamedTupleSpec;
- if (btype_ntuple == null && mtype_ntupe == null)
+ var mtype_ntuple = type as NamedTupleSpec;
+ if (btype_ntuple == null && mtype_ntuple == null)
return true;
- if (btype_ntuple != null || mtype_ntupe != null)
+ if (btype_ntuple == null || mtype_ntuple == null)
return false;
var b_elements = btype_ntuple.elements;
- var m_elements = mtype_ntupe.elements;
+ var m_elements = mtype_ntuple.elements;
for (int i = 0; i < b_elements.Count; ++i) {
if (b_elements [i] != m_elements [i])
return false;
--- /dev/null
+class Base
+{
+ public virtual (int, long rest) Foo ()
+ {
+ return (1, 2);
+ }
+}
+
+class Test : Base
+{
+ public override (int, long rest) Foo ()
+ {
+ return (3, 4);
+ }
+
+ public static void Main ()
+ {
+ }
+}
\ No newline at end of file
</method>
</type>
</test>
+ <test name="test-tuple-06.cs">
+ <type name="Base">
+ <method name="System.ValueTuple`2[System.Int32,System.Int64] Foo()" attrs="454">
+ <size>17</size>
+ </method>
+ <method name="Void .ctor()" attrs="6278">
+ <size>7</size>
+ </method>
+ </type>
+ <type name="Test">
+ <method name="System.ValueTuple`2[System.Int32,System.Int64] Foo()" attrs="198">
+ <size>17</size>
+ </method>
+ <method name="Void Main()" attrs="150">
+ <size>2</size>
+ </method>
+ <method name="Void .ctor()" attrs="6278">
+ <size>7</size>
+ </method>
+ </type>
+ </test>
<test name="test-var-01.cs">
<type name="Test">
<method name="Int32 Main()" attrs="150">