class tree walk can be idiomized with find_map and transpose

This commit is contained in:
Quaternions 2024-10-06 10:49:41 -07:00
parent 726ffeca21
commit 09dd442948

View File

@ -256,15 +256,9 @@ impl mlua::UserData for Instance{
database:db,
descriptor:Some(class),
};
Ok(loop{
match iter.next(){
Some(class)=>match cf.get_or_create_class_function(lua,&class.name,index_str)?{
Some(function)=>break Some(function),
None=>(),
},
None=>break None,
}
})
iter.find_map(|class|
cf.get_or_create_class_function(lua,&class.name,index_str).transpose()
).transpose()
})?{
return function.into_lua(lua);
}