In other repos, it has been discussed to include traits like Connection in the public API so that users can supply their own connection types for various operations. See rust-windowing/raw-window-handle#120 for an example of the rationale for this.
How would we feel about a 1.0.0 release that solidified the API, which would make cases like this possible? Not now, I'd say the API still needs some falling to do; (I've felt the burn of a premature 1.0 version thanks to breadx). But, in the distant future, it would be nice to have a stable API.
First off, would this even be possible? I know that there were some breaking changes in the past due to xcb-proto making Rust-semver-incompatible version bumps. Maybe it would be possible to avoid this somehow?
Second, what kind of changes would we need to ossify the API? The traits, for the most part, are stable, but what else needs to be bolted down?
In other repos, it has been discussed to include traits like
Connectionin the public API so that users can supply their own connection types for various operations. See rust-windowing/raw-window-handle#120 for an example of the rationale for this.How would we feel about a 1.0.0 release that solidified the API, which would make cases like this possible? Not now, I'd say the API still needs some falling to do; (I've felt the burn of a premature 1.0 version thanks to
breadx). But, in the distant future, it would be nice to have a stable API.First off, would this even be possible? I know that there were some breaking changes in the past due to
xcb-protomaking Rust-semver-incompatible version bumps. Maybe it would be possible to avoid this somehow?Second, what kind of changes would we need to ossify the API? The traits, for the most part, are stable, but what else needs to be bolted down?