[svn] r6130: nemerle/trunk/ncc:
testsuite/positive/enumerable-arrays.n typing/MType.n
malekith
svnadmin at nemerle.org
Sun Feb 19 12:19:07 CET 2006
Log:
Fix a problem with arrays not being subtypes of IEnumerable.
Author: malekith
Date: Sun Feb 19 12:19:06 2006
New Revision: 6130
Added:
nemerle/trunk/ncc/testsuite/positive/enumerable-arrays.n
Modified:
nemerle/trunk/ncc/typing/MType.n
Added: nemerle/trunk/ncc/testsuite/positive/enumerable-arrays.n
==============================================================================
--- (empty file)
+++ nemerle/trunk/ncc/testsuite/positive/enumerable-arrays.n Sun Feb 19 12:19:06 2006
@@ -0,0 +1,28 @@
+using System;
+using System.Collections;
+using System.Collections.Generic;
+
+def dump[T](values : IEnumerable[T])
+{
+ foreach(val in values)
+ Console.WriteLine(val.ToString());
+}
+def dump2(values : IEnumerable)
+{
+ foreach(val in values)
+ Console.WriteLine(val.ToString());
+}
+def values = array[1, 2, 3];
+dump(values);
+dump2(values);
+
+/*
+BEGIN-OUTPUT
+1
+2
+3
+1
+2
+3
+END-OUTPUT
+*/
Modified: nemerle/trunk/ncc/typing/MType.n
==============================================================================
--- nemerle/trunk/ncc/typing/MType.n (original)
+++ nemerle/trunk/ncc/typing/MType.n Sun Feb 19 12:19:06 2006
@@ -300,6 +300,13 @@
| (Array, Class (tc, _))
when tc.Equals (InternalType.Array_tc) => true
+ | (Array (t, _), Class (tc, [t']))
+ when tc.Equals (InternalType.Generic_IEnumerable_tc) =>
+ t.Unify (t')
+
+ | (Array, Class (tc, []))
+ when tc.Equals (InternalType.IEnumerable_tc) => true
+
| (TyVarRef (tv1), TyVarRef (tv2))
when tv1.Equals (tv2) => true
More information about the svn
mailing list