diff options
| author | Manish Goregaokar <manishsmail@gmail.com> | 2015-02-27 11:44:12 +0530 |
|---|---|---|
| committer | Manish Goregaokar <manishsmail@gmail.com> | 2015-02-27 22:07:03 +0530 |
| commit | ef80ade4069aede2e7c08b04556177ce7ea9ae3d (patch) | |
| tree | 8506cb13936fa5e60c8eca8cacf807dfe9c0f8a7 /src/libcore | |
| parent | 91569a95f16580f05f9dcb4b6d6eff50203cdde8 (diff) | |
| parent | 7074346e4f092064c5a5fa276be81d08951f56c9 (diff) | |
| download | rust-ef80ade4069aede2e7c08b04556177ce7ea9ae3d.tar.gz rust-ef80ade4069aede2e7c08b04556177ce7ea9ae3d.zip | |
Rollup merge of #22809 - nikomatsakis:issue-22655-infinite-recursion, r=pnkfelix
Change MarkerTrait to be invariant. This is a (small) loss of expressiveness, but is necessary for now to work around #22806. Fixes #22655. r? @pnkfelix
Diffstat (limited to 'src/libcore')
| -rw-r--r-- | src/libcore/marker.rs | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/src/libcore/marker.rs b/src/libcore/marker.rs index 6c934a998de..868a671b956 100644 --- a/src/libcore/marker.rs +++ b/src/libcore/marker.rs @@ -275,7 +275,13 @@ macro_rules! impls{ /// any methods, but instead is used to gate access to data. /// /// FIXME. Better documentation needed here! -pub trait MarkerTrait : PhantomFn<Self> { } +pub trait MarkerTrait : PhantomFn<Self,Self> { } +// ~~~~~ <-- FIXME(#22806)? +// +// Marker trait has been made invariant so as to avoid inf recursion, +// but we should ideally solve the underlying problem. That's a bit +// complicated. + impl<T:?Sized> MarkerTrait for T { } /// `PhantomFn` is a marker trait for use with traits that contain |
