[Nice-commit] Nice/testsuite/compiler/typing inference.testsuite,NONE,1.1
Brought to you by:
bonniot
|
From: Daniel B. <bo...@us...> - 2004-03-17 17:16:37
|
Update of /cvsroot/nice/Nice/testsuite/compiler/typing In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv22525/testsuite/compiler/typing Added Files: inference.testsuite Log Message: Do type inference on local bindings with polymorphic values. --- NEW FILE: inference.testsuite --- /// Global class A<FOO> { void poly(FOO) {} } class B<BAR> extends A<FOO> {} /// PASS let x = new A(); x.poly(""); /// FAIL let x = new B(); x.poly(""); x. /*/// FAIL HERE*/ poly(0); /// PASS /// Toplevel <T> void foo() { let x = new A(); x.poly(""); } /// FAIL /// Toplevel <T> void foo() { let x = new A(); x.poly(""); x. /*/// FAIL HERE*/ poly(0); } /// PASS /// Toplevel void foo(); foo() { let x = new A(); x.poly(""); } /// FAIL /// Toplevel void foo(); foo() { let x = new A(); x.poly(""); x. /*/// FAIL HERE*/ poly(0); } /// PASS let l = new ArrayList(); l.add("..."); /// FAIL let l = new ArrayList(); l.add("..."); l. /*/// FAIL HERE*/ add(0); /// PASS let l1 = new ArrayList(); let l2 = new ArrayList(); l1.add("..."); l2.add(l1.get(0)); l2.add("."); /// FAIL let l1 = new ArrayList(); let l2 = new ArrayList(); l1.add("..."); l2.add(l1.get(0)); l2. /*/// FAIL HERE*/ add(0); /// PASS let l1 = new ArrayList(); let l2 = new ArrayList(); ()->void action = () => l2.add(l1.get(0)); l1.add("..."); action(); l2.add("."); /// FAIL let l1 = new ArrayList(); let l2 = new ArrayList(); ()->void action = () => l2.add(l1.get(0)); l1.add("..."); action(); l2. /*/// FAIL HERE*/ add(0); /// FAIL var l = new LinkedList(); l.add(""); if (l.size == 1) { l = new LinkedList(); l./*/// FAIL HERE*/ add(0); } String s = l.get(0); |