Skip to content

Commit 258ba8f

Browse files
committed
make iteration work
1 parent 9b269c4 commit 258ba8f

File tree

2 files changed

+11
-17
lines changed
  • crates
    • bevy_mod_scripting_functions/src
    • languages/bevy_mod_scripting_lua/tests/data/iter

2 files changed

+11
-17
lines changed

crates/bevy_mod_scripting_functions/src/core.rs

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -311,12 +311,8 @@ pub fn register_reflect_reference_functions(
311311
}
312312

313313
let (next_ref, idx) = infinite_iter.next_ref();
314-
let reference = {
315-
let allocator = world.allocator();
316-
let mut allocator = allocator.write();
317-
ReflectReference::new_allocated(next_ref, &mut allocator)
318-
};
319-
let converted = ReflectReference::into_script_ref(reference, world.clone());
314+
315+
let converted = ReflectReference::into_script_ref(next_ref, world.clone());
320316
// println!("idx: {idx:?}, converted: {converted:?}");
321317
len -= 1;
322318
// we stop once the reflection path is invalid

crates/languages/bevy_mod_scripting_lua/tests/data/iter/vec.lua

Lines changed: 9 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -2,16 +2,14 @@ local res_type = world.get_type_by_name("TestResourceWithVariousFields")
22
local res = world.get_resource(res_type)
33

44
iterated_vals = {}
5-
for i,v in pairs(res.vec_usize) do
6-
iterated_vals[i] = v
5+
for v in pairs(res.vec_usize) do
6+
iterated_vals[#iterated_vals + 1] = v
77
end
8+
print(iterated_vals[1])
9+
assert(#iterated_vals == 5, "Length is not 5")
810

9-
print("Iterated vals:")
10-
for i,v in pairs(iterated_vals) do
11-
print(i, v)
12-
end
13-
assert(iterated_vals[1] == 1)
14-
assert(iterated_vals[2] == 2)
15-
assert(iterated_vals[3] == 3)
16-
assert(iterated_vals[4] == 4)
17-
assert(iterated_vals[5] == 5)
11+
assert(iterated_vals[1] == 1, "First value is not 1")
12+
assert(iterated_vals[2] == 2, "Second value is not 2")
13+
assert(iterated_vals[3] == 3, "Third value is not 3")
14+
assert(iterated_vals[4] == 4, "Fourth value is not 4")
15+
assert(iterated_vals[5] == 5, "Fifth value is not 5")

0 commit comments

Comments
 (0)