-
Notifications
You must be signed in to change notification settings - Fork 125
Open
Labels
compatibility-nonbreakingChanges that are (likely to be) non-breakingChanges that are (likely to be) non-breakingexperience-easyThis issue is easy, and shouldn't require much experienceThis issue is easy, and shouldn't require much experienceexperience-mediumThis issue is of medium difficulty, and requires some experienceThis issue is of medium difficulty, and requires some experiencehelp wantedExtra attention is neededExtra attention is needed
Description
Issues like #200 demonstrate that the compiler is sometimes not smart enough to optimize out panics that we can prove statically won't happen. It would be good if we could:
- Refactor to only use operations which don't include panicking in their call graph
- Validate this in CI
Mentoring instructions
- Easy steps
- Create a new step in this CI job that runs Red Pen on zerocopy, only running the step under
if: matrix.crate == 'zerocopy' && matrix.toolchain == 'nightly'
- Annotate as many functions as possible with
#[redpen::dont_panic]
- Create a new step in this CI job that runs Red Pen on zerocopy, only running the step under
- Medium to hard (depending on the code): Refactor as much code as possible to remove all panics
Metadata
Metadata
Assignees
Labels
compatibility-nonbreakingChanges that are (likely to be) non-breakingChanges that are (likely to be) non-breakingexperience-easyThis issue is easy, and shouldn't require much experienceThis issue is easy, and shouldn't require much experienceexperience-mediumThis issue is of medium difficulty, and requires some experienceThis issue is of medium difficulty, and requires some experiencehelp wantedExtra attention is neededExtra attention is needed