rusqlite_migration icon indicating copy to clipboard operation
rusqlite_migration copied to clipboard

Breaking changes for v2.0

Open cljoly opened this issue 2 years ago • 4 comments

A wishlist of breaking changes for the next major version:

  • [ ] Change return types so that we can fix the cargo clippy pedantic warnings, like casting `i64` to `usize` may lose the sign of the value or casting `usize` to `u32` may truncate the value on targets with 64-bit wide pointers
  • [ ] Introduce intermediary types so that we could write M::up(…).hook(…).down(…).hook(…)
  • [ ] Remove deprecated items

Other things to decide on:

  • [ ] Remove Eq implementation on M #45
  • [ ] Remove PartialEq from our Error type?

I don’t know if a breaking version will ever be released though, there are costs to forcing users to migrate.

cljoly avatar Feb 27 '23 00:02 cljoly

We can probably also remove PartialEq from our Error implementation.

Maybe also migrate to thiserror?

czocher avatar Jun 17 '23 21:06 czocher

We can probably also remove PartialEq from our Error implementation.

That’s a good point, I’ve added it to the checklist at the top.

Maybe also migrate to thiserror?

What prevents us from doing it? We could do it in a way that doesn’t break the API compatibility, couldn’t we?

cljoly avatar Jun 18 '23 15:06 cljoly

What prevents us from doing it? We could do it in a way that doesn’t break the API compatibility, couldn’t we?

I believe so, we can create a task for that if we deem it worthwhile.

czocher avatar Jun 18 '23 17:06 czocher

I’ve created #95 for this.

cljoly avatar Jun 18 '23 19:06 cljoly