File tree 7 files changed +70
-28
lines changed
7 files changed +70
-28
lines changed Original file line number Diff line number Diff line change @@ -22,10 +22,10 @@ either = "1.7.0"
22
22
tracing = " 0.1.35"
23
23
rustc-hash = " 1.1.0"
24
24
scoped-tls = " 1.0.0"
25
- chalk-solve = { version = " 0.89 .0" , default-features = false }
26
- chalk-ir = " 0.89 .0"
27
- chalk-recursive = { version = " 0.89 .0" , default-features = false }
28
- chalk-derive = " 0.89 .0"
25
+ chalk-solve = { version = " 0.91 .0" , default-features = false }
26
+ chalk-ir = " 0.91 .0"
27
+ chalk-recursive = { version = " 0.91 .0" , default-features = false }
28
+ chalk-derive = " 0.91 .0"
29
29
la-arena = { version = " 0.3.0" , path = " ../../lib/la-arena" }
30
30
once_cell = " 1.17.0"
31
31
triomphe.workspace = true
Original file line number Diff line number Diff line change @@ -592,6 +592,7 @@ fn well_known_trait_from_lang_item(item: LangItem) -> Option<WellKnownTrait> {
592
592
LangItem :: Unpin => WellKnownTrait :: Unpin ,
593
593
LangItem :: Unsize => WellKnownTrait :: Unsize ,
594
594
LangItem :: Tuple => WellKnownTrait :: Tuple ,
595
+ LangItem :: PointeeTrait => WellKnownTrait :: Pointee ,
595
596
_ => return None ,
596
597
} )
597
598
}
@@ -612,6 +613,7 @@ fn lang_item_from_well_known_trait(trait_: WellKnownTrait) -> LangItem {
612
613
WellKnownTrait :: Tuple => LangItem :: Tuple ,
613
614
WellKnownTrait :: Unpin => LangItem :: Unpin ,
614
615
WellKnownTrait :: Unsize => LangItem :: Unsize ,
616
+ WellKnownTrait :: Pointee => LangItem :: PointeeTrait ,
615
617
}
616
618
}
617
619
Original file line number Diff line number Diff line change @@ -3497,6 +3497,22 @@ fn func() {
3497
3497
) ;
3498
3498
}
3499
3499
3500
+ #[ test]
3501
+ fn pointee_trait ( ) {
3502
+ check_types (
3503
+ r#"
3504
+ //- minicore: pointee
3505
+ use core::ptr::Pointee;
3506
+ fn func() {
3507
+ let x: <u8 as Pointee>::Metadata;
3508
+ //^ ()
3509
+ let x: <[u8] as Pointee>::Metadata;
3510
+ //^ usize
3511
+ }
3512
+ "# ,
3513
+ ) ;
3514
+ }
3515
+
3500
3516
// FIXME
3501
3517
#[ test]
3502
3518
fn castable_to ( ) {
Original file line number Diff line number Diff line change @@ -474,7 +474,7 @@ fn main() {
474
474
file_id: FileId(
475
475
1,
476
476
),
477
- range: 9286..9294 ,
477
+ range: 9287..9295 ,
478
478
},
479
479
),
480
480
tooltip: "",
@@ -487,7 +487,7 @@ fn main() {
487
487
file_id: FileId(
488
488
1,
489
489
),
490
- range: 9318..9322 ,
490
+ range: 9319..9323 ,
491
491
},
492
492
),
493
493
tooltip: "",
@@ -511,7 +511,7 @@ fn main() {
511
511
file_id: FileId(
512
512
1,
513
513
),
514
- range: 9286..9294 ,
514
+ range: 9287..9295 ,
515
515
},
516
516
),
517
517
tooltip: "",
@@ -524,7 +524,7 @@ fn main() {
524
524
file_id: FileId(
525
525
1,
526
526
),
527
- range: 9318..9322 ,
527
+ range: 9319..9323 ,
528
528
},
529
529
),
530
530
tooltip: "",
@@ -548,7 +548,7 @@ fn main() {
548
548
file_id: FileId(
549
549
1,
550
550
),
551
- range: 9286..9294 ,
551
+ range: 9287..9295 ,
552
552
},
553
553
),
554
554
tooltip: "",
@@ -561,7 +561,7 @@ fn main() {
561
561
file_id: FileId(
562
562
1,
563
563
),
564
- range: 9318..9322 ,
564
+ range: 9319..9323 ,
565
565
},
566
566
),
567
567
tooltip: "",
Original file line number Diff line number Diff line change @@ -387,6 +387,10 @@ impl MiniCore {
387
387
}
388
388
}
389
389
390
+ if !active_regions. is_empty ( ) {
391
+ panic ! ( "unclosed regions: {:?} Add an `endregion` comment" , active_regions) ;
392
+ }
393
+
390
394
for flag in & self . valid_flags {
391
395
if !seen_regions. iter ( ) . any ( |it| it == flag) {
392
396
panic ! ( "unused minicore flag: {flag:?}" ) ;
Original file line number Diff line number Diff line change 42
42
//! panic: fmt
43
43
//! phantom_data:
44
44
//! pin:
45
+ //! pointee:
45
46
//! range:
46
47
//! result:
47
48
//! send: sized
@@ -368,6 +369,14 @@ pub mod ptr {
368
369
* dst = src;
369
370
}
370
371
// endregion:drop
372
+
373
+ // region:pointee
374
+ #[ lang = "pointee_trait" ]
375
+ pub trait Pointee {
376
+ #[ lang = "metadata_type" ]
377
+ type Metadata ;
378
+ }
379
+ // endregion:pointee
371
380
}
372
381
373
382
pub mod ops {
You can’t perform that action at this time.
0 commit comments