bevy/crates/bevy_ecs_compile_fail_tests
Niklas Eicker d0f423d653 Assert compiler errors for compile_fail tests (#3067)
# Objective

bevy_ecs has several compile_fail tests that assert lifetime safety. In the past, these tests have been green for the wrong reasons (see e.g. #2984). This PR makes sure, that they will fail if the compiler error changes.

## Solution

Use [trybuild](https://crates.io/crates/trybuild) to assert the compiler errors.

The UI tests are in a separate crate that is not part of the Bevy workspace. This is to ensure that they do not break Bevy's crater builds. The tests get executed by the CI workflow on the stable toolchain.
2021-11-13 22:43:19 +00:00
..
src Assert compiler errors for compile_fail tests (#3067) 2021-11-13 22:43:19 +00:00
tests Assert compiler errors for compile_fail tests (#3067) 2021-11-13 22:43:19 +00:00
Cargo.toml Assert compiler errors for compile_fail tests (#3067) 2021-11-13 22:43:19 +00:00
README.md Assert compiler errors for compile_fail tests (#3067) 2021-11-13 22:43:19 +00:00

Compile fail tests for bevy_ecs

This crate is separate from bevy_ecs and not part of the Bevy workspace in order to not fail crater tests for Bevy. The tests assert on the exact compiler errors and can easily fail for new Rust versions due to updated compiler errors (e.g. changes in spans).

The CI workflow executes these tests on the stable rust toolchain (see tools/ci).