bevy/crates
rmsthebest 278380394f
Avoid bevy_reflect::List::iter wrapping in release mode (#13271)
# Objective
Fixes  #13230

## Solution
Uses solution described in  #13230
They mention a worry about adding a branch, but I'm not sure there is
one.

This code
```Rust
#[no_mangle]
pub fn next_if_some(num: i32, b: Option<bool>) -> i32 {
    num + b.is_some() as i32
}
```
produces this assembly with opt-level 3
```asm
next_if_some:
        xor     eax, eax
        cmp     sil, 2
        setne   al
        add     eax, edi
        ret
```

## Testing
Added test from #13230, tagged it as ignore as it is only useful in
release mode and very slow if you accidentally invoke it in debug mode.

---

## Changelog
Iterationg of ListIter will no longer overflow and wrap around

## Migration Guide
2024-05-12 15:01:05 +00:00
..
bevy_a11y Add README.md to all crates (#13184) 2024-05-02 18:56:00 +00:00
bevy_animation Remove ClampColor (#13307) 2024-05-10 13:15:56 +00:00
bevy_app Separate state crate (#13216) 2024-05-09 18:06:05 +00:00
bevy_asset Make AssetMetaCheck a field on the asset plugin (#13177) 2024-05-07 23:52:30 +00:00
bevy_audio Add README.md to all crates (#13184) 2024-05-02 18:56:00 +00:00
bevy_color Remove ClampColor (#13307) 2024-05-10 13:15:56 +00:00
bevy_core bevy_core: Derive useful traits on FrameCount (#13291) 2024-05-10 10:00:08 +00:00
bevy_core_pipeline Clean up 2d render phases (#12982) 2024-05-08 08:13:39 +00:00
bevy_derive Update compile test to use ui_test 0.23 (#13245) 2024-05-05 22:17:56 +00:00
bevy_dev_tools new format for ci config file (#13154) 2024-05-02 22:51:47 +00:00
bevy_diagnostic Add README.md to all crates (#13184) 2024-05-02 18:56:00 +00:00
bevy_dylib Add README.md to all crates (#13184) 2024-05-02 18:56:00 +00:00
bevy_dynamic_plugin Add README.md to all crates (#13184) 2024-05-02 18:56:00 +00:00
bevy_ecs Separate state crate (#13216) 2024-05-09 18:06:05 +00:00
bevy_encase_derive Add README.md to all crates (#13184) 2024-05-02 18:56:00 +00:00
bevy_gilrs Add README.md to all crates (#13184) 2024-05-02 18:56:00 +00:00
bevy_gizmos gizmos: take normal of normal on plane 3d before rotation (#13326) 2024-05-11 19:32:31 +00:00
bevy_gltf Implement clearcoat per the Filament and the KHR_materials_clearcoat specifications. (#13031) 2024-05-05 22:57:05 +00:00
bevy_hierarchy Add README.md to all crates (#13184) 2024-05-02 18:56:00 +00:00
bevy_input Separate state crate (#13216) 2024-05-09 18:06:05 +00:00
bevy_internal Separate state crate (#13216) 2024-05-09 18:06:05 +00:00
bevy_log Remove bevy log's usage of non send resource (#13252) 2024-05-06 21:15:10 +00:00
bevy_macro_utils Add README.md to all crates (#13184) 2024-05-02 18:56:00 +00:00
bevy_math Add AXES iterators for Dir types (#13305) 2024-05-09 23:30:44 +00:00
bevy_mikktspace Update glam version requirement from 0.25 to 0.27 (#12757) 2024-05-02 18:42:34 +00:00
bevy_pbr Add color conversions #13224 (#13276) 2024-05-09 18:01:52 +00:00
bevy_ptr Add README.md to all crates (#13184) 2024-05-02 18:56:00 +00:00
bevy_reflect Avoid bevy_reflect::List::iter wrapping in release mode (#13271) 2024-05-12 15:01:05 +00:00
bevy_render Fix the WebGL 2 backend by giving the visibility_ranges array a fixed length. (#13210) 2024-05-08 07:34:59 +00:00
bevy_scene Add README.md to all crates (#13184) 2024-05-02 18:56:00 +00:00
bevy_sprite Clean up 2d render phases (#12982) 2024-05-08 08:13:39 +00:00
bevy_state Separate state crate (#13216) 2024-05-09 18:06:05 +00:00
bevy_tasks multi_threaded feature rename (#12997) 2024-05-06 20:49:32 +00:00
bevy_text Add README.md to all crates (#13184) 2024-05-02 18:56:00 +00:00
bevy_time Add README.md to all crates (#13184) 2024-05-02 18:56:00 +00:00
bevy_transform Use Dir3 for local axis methods in GlobalTransform (#13264) 2024-05-06 20:52:05 +00:00
bevy_ui Clean up 2d render phases (#12982) 2024-05-08 08:13:39 +00:00
bevy_utils Add README.md to all crates (#13184) 2024-05-02 18:56:00 +00:00
bevy_window Add README.md to all crates (#13184) 2024-05-02 18:56:00 +00:00
bevy_winit Simplify winit runner exit code reporting (#13151) 2024-05-03 00:17:39 +00:00