tfpt review "/shelveset:TypeInferenceBugs;REDMOND\tomat"
  Comment  : 
  Fixes bugs in type inference:
  
  1) By-ref generic parameter
  public void Foo<T>(ref T x);
  
  Foo(1)
  Foo(StrongBox())
  
  2) Multiple generic parameters
  public IEnumerable<TResult> Select<TSource, TResult>(IEnumerable<TSource> 
source, Func<TSource, TResult> selector);
  
  3) Generic arrays 
  public int Foo<T>(T[] x);
  
  4) Type shape difference
  public static int f5<T>(Dictionary<Dictionary<string, T>, Dictionary<int, T>> 
arg);
  C.f5( Dictionary[List[str], Dictionary[int, str]]() )
  
  In general type inference seems to need more test coverage - various type 
shapes, arrays, ref/out with and w/o strong boxes, params array, params dict, 
optional, named combinations.
  I've added a few tests for the cases above to Ruby unit tests.

Tomas

Attachment: TypeInferenceBugs.diff
Description: TypeInferenceBugs.diff

_______________________________________________
Ironruby-core mailing list
Ironruby-core@rubyforge.org
http://rubyforge.org/mailman/listinfo/ironruby-core

Reply via email to