Skip to content

Conversation

@jebrosen
Copy link
Collaborator

Includes a modified version of #1349.
Fixes #1341.
CC #1189.

This PR upgrades all direct dependencies except toml and pear (see #1353). It reduces the overall number of packages in Cargo.lock from 466 to 390 by my count.

  • Removes rusted_cypher. It has a few old dependencies including hyper 0.10 and appears to be unmaintained for a few years now.
  • Removes mongodb. The latest version of mongodb has async/await support and its own connection pooling, making it doubly unsuitable for the current implementation of #[database].

@jebrosen jebrosen requested a review from SergioBenitez July 18, 2020 14:43
};
}

table_and_asciiset! {
Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm not super happy with this macro invocation (and table_to_ascii_set above). Most of the awkwardness is that AsciiSet's public API only has .add(u8), .remove(u8) and there is no public constructor for an "empty" AsciiSet. The other awkwardness is that you can't call add or remove with any u8 value above 127 apparently due to AsciiSet's bitpacking optimizations.

Some alternatives I thought of:

  • The const_if_match feature as originally proposed in Upgrade percent-encoding to 2.x and base64 to 0.12. #1349, which is stabilized but in one stable release later than we want for 0.5.
  • Have introspection APIs added to AsciiSet, which could make PATH_CHARS unnecessary since AsciiSet could be queried equivalently. AsciiSet's packed representation might lose some performance difference compared to the PATH_CHARS array, however, and we would need to keep a macro like this one anyway.

@SergioBenitez
Copy link
Member

This is absolutely fantastic! Very clever, if unfortunately necessary, macro!

@SergioBenitez SergioBenitez merged commit 9d4fea2 into rwf2:master Jul 21, 2020
@jebrosen jebrosen deleted the dep-upgrades branch July 21, 2020 18:01
@SergioBenitez SergioBenitez added the pr: merged This pull request was merged manually. label Jul 22, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

pr: merged This pull request was merged manually.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Update rusqlite

3 participants