/// <reference path='fourslash.ts'/>

////class A<T> {
////    static B<S>(v: A<S>): A<S>;
////    static B<S>(v: S): A<S>;
////    static B<S>(v: any): A<S> {
////        return null;
////    }
////}

////var a = new A<number>();
////A.B(a/**/

goTo.marker();
verify.currentSignatureHelpIs('B<S>(v: A<number>): A<number>')
edit.insert('); A.B(');
verify.currentSignatureHelpIs('B<S>(v: A<S>): A<S>');
edit.insert('a');
verify.currentSignatureHelpIs('B<S>(v: A<number>): A<number>')

/// <reference path='fourslash.ts'/>

////class A<T> {
////    static B<S>(v: A<S>): A<S>;
////    static B<S>(v: S): A<S>;
////    static B<S>(v: any): A<S> {
////        return null;
////    }
////}

////var a = new A<number>();
////A.B(/**/

goTo.marker();
verify.currentSignatureHelpIs('B<S>(v: A<S>): A<S>')
// BUG 701161
//edit.insert('a');
//verify.currentSignatureHelpIs('B<S>(v: A<S>): A<S>');

--- 
+++ 
@@ -9,10 +9,11 @@
 ////}
 
 ////var a = new A<number>();
-////A.B(/**/
+////A.B(a/**/
 
 goTo.marker();
-verify.currentSignatureHelpIs('B<S>(v: A<S>): A<S>')
-// BUG 701161
-//edit.insert('a');
-//verify.currentSignatureHelpIs('B<S>(v: A<S>): A<S>');
+verify.currentSignatureHelpIs('B<S>(v: A<number>): A<number>')
+edit.insert('); A.B(');
+verify.currentSignatureHelpIs('B<S>(v: A<S>): A<S>');
+edit.insert('a');
+verify.currentSignatureHelpIs('B<S>(v: A<number>): A<number>')
Update the test for the static generic overload
