Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
I'm not super enthused about the impl duplicating much of disjointed_slice, and certainly wants some more test coverage, but it works sufficiently enough for initial review of the approach.
The initial vision for #81 allowed using unsized types for the static (e.g.
dyn Trait
), but to avoid silently introducing extra indirection, this restricts disjointed statics to sized types. Fordyn Trait
injection, you can use&dyn Trait
as the static type. However, no shorthand is provided for linkingstatic IMPL: Concrete
to such a declaration, and downstream must create the correctly typed static themselves. This is at least in part due to the moderate difficulty of hygienically naming the correct item type from downstream.This feels a little bad for linking
fn()
, since ending up with&fn()
is kind of silly. We might want for a separate "disjointed fn" which links the function item instead of astatic
item.closes #81