Bladeren bron

fix local function display

Simon Krajewski 9 jaren geleden
bovenliggende
commit
9293fe792d
2 gewijzigde bestanden met toevoegingen van 9 en 1 verwijderingen
  1. 1 1
      src/typing/typer.ml
  2. 8 0
      tests/display/src/cases/Basic.hx

+ 1 - 1
src/typing/typer.ml

@@ -3356,7 +3356,7 @@ and type_local_function ctx name f with_type p =
 		| FunMemberAbstract -> FunMemberAbstractLocal
 		| _ -> FunMemberClassLocal
 	in
-	let e , fargs = Typeload.type_function ctx args rt curfun f false p in
+	let e , fargs = Typeload.type_function ctx args rt curfun f ctx.in_display p in
 	ctx.type_params <- old_tp;
 	ctx.in_loop <- old_in_loop;
 	let f = {

+ 8 - 0
tests/display/src/cases/Basic.hx

@@ -49,4 +49,12 @@ class Basic extends DisplayTestCase {
 	function testUsage2() {
 		arrayEq([range(2, 3), range(4, 5)], usage(pos(1)));
 	}
+
+	/**
+	function test(na{-1-}me:St{-2-}ring) { }
+	**/
+	@:funcCode function testLocalFunction() {
+		eq("String", type(pos(1)));
+		eq("String", type(pos(2)));
+	}
 }