2
0
Эх сурвалжийг харах

don't forbid any package within a remoting proxy parameter.

Nicolas Cannasse 19 жил өмнө
parent
commit
c0565db0d2
1 өөрчлөгдсөн 4 нэмэгдсэн , 1 устгасан
  1. 4 1
      typer.ml

+ 4 - 1
typer.ml

@@ -361,8 +361,11 @@ let extend_remoting ctx c t p async =
 	if ctx.isproxy then error "Cascading proxys can result in infinite loops, please use conditional compilation to prevent this proxy access" p;
 	if c.cl_super <> None then error "Cannot extend several classes" p;
 	let ctx2 = context ctx.warn in
+	let fb = !forbidden_packages in
+	forbidden_packages := [];
 	ctx2.isproxy <- true;
-	let ct = load_normal_type ctx2 t p false in
+	let ct = (try load_normal_type ctx2 t p false with e -> forbidden_packages := fb; raise e) in
+	forbidden_packages := fb;
 	let tvoid = TPNormal { tpackage = []; tname = "Void"; tparams = [] } in
 	let make_field name args ret =				
 		try