dgkf / dgkf/R

Converting `unreachable!()` and `unimplemented!()` to R errors

Open
#11 1 comment 0 reactions 0 assignees View on GitHub
meta-good first issue theme-internals type-bug
Dominant language
Rust
Stars
145
Forks
5
PR merge metrics
No merged PRs in 30d

Description

In its early form, this project targeted iterating quickly on the general design of the internals, even if it meant cutting a few corners to iterate quickly. This meant foregoing best practices for catching and escalating language errors. If you've tried out the code, you've probably realized that it's not hard to crash a session.

Generally this is because I've taken shortcuts to get code working fast and left many code paths as `unimplemented!()` - but these will panic and crash a session instead of raising an R error and letting users continue testing the implementation.

Instead, they should raise an R error signal.

### Example

For example, you might see an unimplemented code path like this one:

https://github.com/dgkf/R/blob/f4bfaa721d7b70a77e064736d5c780ff43409c1c/src/lang.rs#L84

Instead, it would be preferred if these raised R errors like this:

https://github.com/dgkf/R/blob/f4bfaa721d7b70a77e064736d5c780ff43409c1c/src/lang.rs#L93-L96

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.