The `sqlite` feature changes behavior of many tests but tests should be additive
Nobody has claimed this yet.
- Dominant language
- Rust
- Stars
- 817
- Forks
- 247
- Avg merge
- 4d 14h
- Merged PRs (30d)
- 30
Description
The Cargo book states about features
A consequence of this is that features should be additive. That is, enabling a feature should not disable functionality, and it should usually be safe to enable any combination of features. A feature should not introduce a SemVer-incompatible change.
A lot of code branches on whether the "sqlite" or "sqlite-dynlib" features are enabled. This is not necessarily semver breaking, but most of that code that doesn't have a hard dependency the SqliteBackedHistory. Examples and even more importantly tests shouldn't alter behaviour like this (e.g. in history/cursor.rs).
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by inspecting the feature-dependent behavior mentioned in history/cursor.rs and the repository's tests and examples, comparing runs with sqlite and sqlite-dynlib enabled or disabled. Done means enabling these features no longer changes unrelated behavior and the affected tests remain additive.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- testing
- Issue type
- Refactor
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 35/100