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

[eval] fix drunk Vector.fromArrayCopy

closes 7492
Simon Krajewski 7 жил өмнө
parent
commit
55cb04c81f

+ 2 - 1
src/macro/eval/evalStdLib.ml

@@ -65,7 +65,8 @@ module StdEvalVector = struct
 	)
 
 	let fromArrayCopy = vfun1 (fun arr ->
-		encode_vector_instance (Array.copy (decode_varray arr).avalues)
+		let a = decode_varray arr in
+		encode_vector_instance (Array.sub a.avalues 0 a.alength)
 	)
 
 	let copy = vifun0 (fun vthis ->

+ 10 - 0
tests/unit/src/unit/issues/Issue7492.hx

@@ -0,0 +1,10 @@
+package unit.issues;
+
+class Issue7492 extends unit.Test {
+	function test() {
+		var a = [1];
+		a[1] = 1;
+		var v = haxe.ds.Vector.fromArrayCopy(a);
+		eq(2, v.length);
+	}
+}