parenchyma icon indicating copy to clipboard operation
parenchyma copied to clipboard

RFCs to consider

Open jonysy opened this issue 8 years ago • 0 comments

Extending coherence with workspaces proposal

If merged, the "extending coherence with workspaces" proposal would allow authors to implement traits for types defined within the workspace it's associated with.

Under the proposal, a separate impl for Backend in each framework-specific crate would be possible, allowing for a different synchronize method per framework.

Vague proposal: Extending coherence with workspaces:

Moreover, cargo features don't necessarily compose all that well: if I have for example one crate that needs Ethanol+Serde and one that wants Ethanol by itself, cargo won't necessarily figure out that it should take the union of the feature flags (it's also not obvious that this is the correct thing to do in the first place). All in all, doesn't feel (to me) like the right solution.

Proposals:

Example

// workspace-root/backends/cuda/src/framework.rs

use parenchyma::Backend;

impl Default for Backend<Cuda> {

    fn default() -> Self { .. }
}

Trait alias

Once [RFC#1733] is approved, use it in place of the current work around.

jonysy avatar Feb 05 '17 07:02 jonysy