Skip to content

Conversation

@iantbutler01
Copy link

Adds enc/dec support to tinyvec's ArrayVec for bincode, https://github.com/bincode-org/bincode.

@Lokathor
Copy link
Owner

I'm unclear why CI is failing to select a version to build with.

Also, I'm a little concerned with supporting major version 2 in particular, if say a version 3 comes out in a year. Is it possible to eventually support more than one major version using optional dependencies or things like that?

Even if we do want to just support version 2, we'd have to wait for them to do a stable full release, because (i think?) pre-release versions aren't compatible with each other or with the full version.

@iantbutler01
Copy link
Author

I'm not entirely certain why CI isn't working either. Probably cold comfort when I say tests passed on my machine 😆 I'll look into it when I have some more time here.

In terms of them having major releases every year that induce breaking changes due to their public interface radically changing. First I hope they don't do that, but if they do, I don't see why it couldn't be supported via optional dependencies and a set of flags "bincode2", "bincode3" and so on.

Overall I understand the hesitance. I'm happy to come back to update this PR when the stable 2.0 releases and discuss further. The release sounded fairly imminent when I was deciding on 2.0 v 1.0 in any case.

@Lokathor
Copy link
Owner

Can you optionally depend on a crate more than once? I'm not familiar with the details of what's allowed there.

@iantbutler01
Copy link
Author

I need to dig in further when I'm off the clock from my day job, but it looks like you can specify multiple optional dependencies with the same package, by providing the package key in the cargo toml.

Ex:

bincode2 = { version = "2.0.0-rc.3", optional = true, package="bincode" }
bincode1 = { version = "1.x.x", optional = true, package="bincode" }

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants