This repository was archived by the owner on May 28, 2025. It is now read-only.
File tree Expand file tree Collapse file tree 4 files changed +8
-45
lines changed Expand file tree Collapse file tree 4 files changed +8
-45
lines changed Original file line number Diff line number Diff line change @@ -550,18 +550,14 @@ pub(crate) fn trait_datum_query(
550550 debug ! ( "trait_datum {:?}" , trait_id) ;
551551 let trait_ = from_chalk_trait_id ( trait_id) ;
552552 let trait_data = db. trait_data ( trait_) ;
553-
554- let coinductive =
555- trait_data. is_auto || db. attrs ( trait_. into ( ) ) . by_key ( "rustc_coinductive" ) . exists ( ) ;
556-
557553 debug ! ( "trait {:?} = {:?}" , trait_id, trait_data. name) ;
558554 let generic_params = generics ( db. upcast ( ) , trait_. into ( ) ) ;
559555 let bound_vars = generic_params. bound_vars_subst ( db, DebruijnIndex :: INNERMOST ) ;
560556 let flags = rust_ir:: TraitFlags {
561557 auto : trait_data. is_auto ,
562558 upstream : trait_. lookup ( db. upcast ( ) ) . container . krate ( ) != krate,
563559 non_enumerable : true ,
564- coinductive,
560+ coinductive : false , // only relevant for Chalk testing
565561 // FIXME: set these flags correctly
566562 marker : false ,
567563 fundamental : false ,
@@ -643,7 +639,7 @@ pub(crate) fn struct_datum_query(
643639 fundamental : false ,
644640 phantom_data : false ,
645641 } ;
646- // FIXME provide enum variants properly (for auto traits and `Sized` )
642+ // FIXME provide enum variants properly (for auto traits)
647643 let variant = rust_ir:: AdtVariantDatum {
648644 fields : Vec :: new ( ) , // FIXME add fields (only relevant for auto traits),
649645 } ;
Original file line number Diff line number Diff line change @@ -4410,35 +4410,3 @@ fn test(v: S<i32>) {
44104410"# ,
44114411 ) ;
44124412}
4413-
4414- #[ test]
4415- fn rustc_coinductive ( ) {
4416- // Taken from rust-lang/rust#108033 with modification.
4417- check_types (
4418- r#"
4419- #[rustc_coinductive]
4420- trait Trait { type Assoc; }
4421-
4422- impl<T, U> Trait for (T, U)
4423- where
4424- (U, T): Trait,
4425- (): ConstrainToU32<T>,
4426- {
4427- type Assoc = i32;
4428- }
4429-
4430- trait ConstrainToU32<T> {}
4431- impl ConstrainToU32<u32> for () {}
4432-
4433- fn impls_trait<T, U, R>() -> R
4434- where
4435- (T, U): Trait<Assoc = R>,
4436- { loop {} }
4437-
4438- fn main() {
4439- let _ = impls_trait::<_, _, _>();
4440- //^ i32
4441- }
4442- "# ,
4443- ) ;
4444- }
Original file line number Diff line number Diff line change @@ -474,7 +474,7 @@ fn main() {
474474 file_id: FileId(
475475 1,
476476 ),
477- range: 9313..9321 ,
477+ range: 9288..9296 ,
478478 },
479479 ),
480480 tooltip: "",
@@ -487,7 +487,7 @@ fn main() {
487487 file_id: FileId(
488488 1,
489489 ),
490- range: 9345..9349 ,
490+ range: 9320..9324 ,
491491 },
492492 ),
493493 tooltip: "",
@@ -511,7 +511,7 @@ fn main() {
511511 file_id: FileId(
512512 1,
513513 ),
514- range: 9313..9321 ,
514+ range: 9288..9296 ,
515515 },
516516 ),
517517 tooltip: "",
@@ -524,7 +524,7 @@ fn main() {
524524 file_id: FileId(
525525 1,
526526 ),
527- range: 9345..9349 ,
527+ range: 9320..9324 ,
528528 },
529529 ),
530530 tooltip: "",
@@ -548,7 +548,7 @@ fn main() {
548548 file_id: FileId(
549549 1,
550550 ),
551- range: 9313..9321 ,
551+ range: 9288..9296 ,
552552 },
553553 ),
554554 tooltip: "",
@@ -561,7 +561,7 @@ fn main() {
561561 file_id: FileId(
562562 1,
563563 ),
564- range: 9345..9349 ,
564+ range: 9320..9324 ,
565565 },
566566 ),
567567 tooltip: "",
Original file line number Diff line number Diff line change @@ -63,7 +63,6 @@ pub mod marker {
6363 #[ lang = "sized" ]
6464 #[ fundamental]
6565 #[ rustc_specialization_trait]
66- #[ rustc_coinductive]
6766 pub trait Sized { }
6867 // endregion:sized
6968
You can’t perform that action at this time.
0 commit comments