#![feature(overlapping_marker_traits)] breaks the guarantee for Unpin provided by pin-project #105
Labels
A-unpin
Area: Unpin and UnsafeUnpin
C-upstream-bug
Category: This is a bug of compiler or dependencies (the fix may require action in the upstream)
I-unsound
A soundness hole (worst kind of bug), see: https://en.wikipedia.org/wiki/Soundness
requires-nightly
This issue requires a nightly compiler in some way
UPDATE2(2020/01/27):
This will be fixed in rust-lang/rust#68544
UPDATE(2019/09/26):
overlapping_marker_traits
is replaced with marker_trait_attr.marker_trait_attr
doesn't seem to break the guarantee (added test in #110). So, onceoverlapping_marker_traits
is removed, close this issue.pin-project provides an appropriate
Unpin
implementation by default. Since overlapping implementations are prohibited, this ensures that users cannot add inappropriateUnpin
implementations.However, currently, this guarantee can be broken by enabling
#[feature(overlapping_marker_traits)]
: playground@cramertj has already pointed out this in rust-lang/rust#29864 (comment).
And it seems that it is planned to make#[feature(overlapping_marker_traits)]
available only with explicitly allowed traits, but it doesn't seem to be fully implemented yet.Thanks to @RalfJung for pointing out the interaction with this feature.
The text was updated successfully, but these errors were encountered: