@@ -1069,47 +1069,3 @@ pub trait FnPtr: Copy + Clone { |
|
|
1069 |
1069 |
pub macro SmartPointer($item:item) { |
1070 |
1070 |
/* compiler built-in */ |
1071 |
1071 |
} |
1072 |
|
- |
1073 |
|
-// Support traits and types for the desugaring of const traits and |
1074 |
|
-// `~const` bounds. Not supposed to be used by anything other than |
1075 |
|
-// the compiler. |
1076 |
|
-#[doc(hidden)] |
1077 |
|
-#[unstable( |
1078 |
|
- feature = "effect_types", |
1079 |
|
- issue = "none", |
1080 |
|
- reason = "internal module for implementing effects" |
1081 |
|
-)] |
1082 |
|
-#[allow(missing_debug_implementations)] // these unit structs don't need `Debug` impls. |
1083 |
|
-pub mod effects { |
1084 |
|
-#[lang = "EffectsNoRuntime"] |
1085 |
|
-pub struct NoRuntime; |
1086 |
|
-#[lang = "EffectsMaybe"] |
1087 |
|
-pub struct Maybe; |
1088 |
|
-#[lang = "EffectsRuntime"] |
1089 |
|
-pub struct Runtime; |
1090 |
|
- |
1091 |
|
-#[lang = "EffectsCompat"] |
1092 |
|
-pub trait Compat<#[rustc_runtime] const RUNTIME: bool> {} |
1093 |
|
- |
1094 |
|
-impl Compat<false> for NoRuntime {} |
1095 |
|
-impl Compat<true> for Runtime {} |
1096 |
|
-impl<#[rustc_runtime] const RUNTIME: bool> Compat<RUNTIME> for Maybe {} |
1097 |
|
- |
1098 |
|
-#[lang = "EffectsTyCompat"] |
1099 |
|
-#[marker] |
1100 |
|
-pub trait TyCompat<T: ?Sized> {} |
1101 |
|
- |
1102 |
|
-impl<T: ?Sized> TyCompat<T> for T {} |
1103 |
|
-impl<T: ?Sized> TyCompat<Maybe> for T {} |
1104 |
|
- |
1105 |
|
-#[lang = "EffectsIntersection"] |
1106 |
|
-pub trait Intersection { |
1107 |
|
-#[lang = "EffectsIntersectionOutput"] |
1108 |
|
-type Output: ?Sized; |
1109 |
|
-} |
1110 |
|
- |
1111 |
|
-// FIXME(effects): remove this after next trait solver lands |
1112 |
|
-impl Intersection for () { |
1113 |
|
-type Output = Maybe; |
1114 |
|
-} |
1115 |
|
-} |