bevy/examples/3d
Alice Cecile 557ab9897a Make get_resource (and friends) infallible (#4047)
# Objective

- In the large majority of cases, users were calling `.unwrap()` immediately after `.get_resource`.
- Attempting to add more helpful error messages here resulted in endless manual boilerplate (see #3899 and the linked PRs).

## Solution

- Add an infallible variant named `.resource` and so on.
- Use these infallible variants over `.get_resource().unwrap()` across the code base.

## Notes

I did not provide equivalent methods on `WorldCell`, in favor of removing it entirely in #3939.

## Migration Guide

Infallible variants of `.get_resource` have been added that implicitly panic, rather than needing to be unwrapped.

Replace `world.get_resource::<Foo>().unwrap()` with `world.resource::<Foo>()`.

## Impact

- `.unwrap` search results before: 1084
- `.unwrap` search results after: 942
- internal `unwrap_or_else` calls added: 4
- trivial unwrap calls removed from tests and code: 146
- uses of the new `try_get_resource` API: 11
- percentage of the time the unwrapping API was used internally: 93%
2022-02-27 22:37:18 +00:00
..
3d_scene.rs Replace old renderer with new renderer (#3312) 2021-12-14 03:58:23 +00:00
lighting.rs Replace old renderer with new renderer (#3312) 2021-12-14 03:58:23 +00:00
load_gltf.rs Replace old renderer with new renderer (#3312) 2021-12-14 03:58:23 +00:00
many_cubes.rs Replace old renderer with new renderer (#3312) 2021-12-14 03:58:23 +00:00
msaa.rs Fix doc_markdown lints in examples (#3486) 2021-12-29 17:25:34 +00:00
orthographic.rs Add upstream bevy_ecs and prepare for custom-shaders merge (#2815) 2021-09-14 06:14:19 +00:00
parenting.rs Implement and require #[derive(Component)] on all component structs (#2254) 2021-10-03 19:23:44 +00:00
pbr.rs Add TransformBundle (#3054) 2022-02-06 01:07:55 +00:00
render_to_texture.rs Make get_resource (and friends) infallible (#4047) 2022-02-27 22:37:18 +00:00
shadow_biases.rs Replace old renderer with new renderer (#3312) 2021-12-14 03:58:23 +00:00
shadow_caster_receiver.rs Replace old renderer with new renderer (#3312) 2021-12-14 03:58:23 +00:00
spherical_area_lights.rs Spherical area lights example (#3498) 2021-12-30 21:07:26 +00:00
texture.rs Replace old renderer with new renderer (#3312) 2021-12-14 03:58:23 +00:00
update_gltf_scene.rs Add TransformBundle (#3054) 2022-02-06 01:07:55 +00:00
wireframe.rs bevy_render: Use RenderDevice to get limits/features and expose AdapterInfo (#3931) 2022-02-16 21:17:37 +00:00