@@ -84,6 +84,9 @@ static KNOWN_FEATURES: &'static [(&'static str, Status)] = &[
84
84
// A way to temporarily opt out of the new orphan rules. This will *never* be accepted.
85
85
( "old_orphan_check" , Deprecated ) ,
86
86
87
+ // OIBIT specific features
88
+ ( "optin_builtin_traits" , Active ) ,
89
+
87
90
// These are used to test this portion of the compiler, they don't actually
88
91
// mean anything
89
92
( "test_accepted_feature" , Accepted ) ,
@@ -291,7 +294,17 @@ impl<'a, 'v> Visitor<'v> for PostExpansionVisitor<'a> {
291
294
}
292
295
}
293
296
294
- ast:: ItemImpl ( _, _, _, _, _, ref items) => {
297
+ ast:: ItemImpl ( _, polarity, _, _, _, ref items) => {
298
+ match polarity {
299
+ ast:: ImplPolarity :: Negative => {
300
+ self . gate_feature ( "optin_builtin_traits" ,
301
+ i. span ,
302
+ "negative trait bounds are not yet fully implemented; \
303
+ use marker types for now") ;
304
+ } ,
305
+ _ => { }
306
+ }
307
+
295
308
if attr:: contains_name ( i. attrs [ ] ,
296
309
"unsafe_destructor" ) {
297
310
self . gate_feature ( "unsafe_destructor" ,
0 commit comments