File tree Expand file tree Collapse file tree 7 files changed +70
-28
lines changed Expand file tree Collapse file tree 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"
2222tracing = " 0.1.35"
2323rustc-hash = " 1.1.0"
2424scoped-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"
2929la-arena = { version = " 0.3.0" , path = " ../../lib/la-arena" }
3030once_cell = " 1.17.0"
3131triomphe.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> {
592592 LangItem :: Unpin => WellKnownTrait :: Unpin ,
593593 LangItem :: Unsize => WellKnownTrait :: Unsize ,
594594 LangItem :: Tuple => WellKnownTrait :: Tuple ,
595+ LangItem :: PointeeTrait => WellKnownTrait :: Pointee ,
595596 _ => return None ,
596597 } )
597598}
@@ -612,6 +613,7 @@ fn lang_item_from_well_known_trait(trait_: WellKnownTrait) -> LangItem {
612613 WellKnownTrait :: Tuple => LangItem :: Tuple ,
613614 WellKnownTrait :: Unpin => LangItem :: Unpin ,
614615 WellKnownTrait :: Unsize => LangItem :: Unsize ,
616+ WellKnownTrait :: Pointee => LangItem :: PointeeTrait ,
615617 }
616618}
617619
Original file line number Diff line number Diff line change @@ -3497,6 +3497,22 @@ fn func() {
34973497 ) ;
34983498}
34993499
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+
35003516// FIXME
35013517#[ test]
35023518fn castable_to ( ) {
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: 9286..9294 ,
477+ range: 9287..9295 ,
478478 },
479479 ),
480480 tooltip: "",
@@ -487,7 +487,7 @@ fn main() {
487487 file_id: FileId(
488488 1,
489489 ),
490- range: 9318..9322 ,
490+ range: 9319..9323 ,
491491 },
492492 ),
493493 tooltip: "",
@@ -511,7 +511,7 @@ fn main() {
511511 file_id: FileId(
512512 1,
513513 ),
514- range: 9286..9294 ,
514+ range: 9287..9295 ,
515515 },
516516 ),
517517 tooltip: "",
@@ -524,7 +524,7 @@ fn main() {
524524 file_id: FileId(
525525 1,
526526 ),
527- range: 9318..9322 ,
527+ range: 9319..9323 ,
528528 },
529529 ),
530530 tooltip: "",
@@ -548,7 +548,7 @@ fn main() {
548548 file_id: FileId(
549549 1,
550550 ),
551- range: 9286..9294 ,
551+ range: 9287..9295 ,
552552 },
553553 ),
554554 tooltip: "",
@@ -561,7 +561,7 @@ fn main() {
561561 file_id: FileId(
562562 1,
563563 ),
564- range: 9318..9322 ,
564+ range: 9319..9323 ,
565565 },
566566 ),
567567 tooltip: "",
Original file line number Diff line number Diff line change @@ -387,6 +387,10 @@ impl MiniCore {
387387 }
388388 }
389389
390+ if !active_regions. is_empty ( ) {
391+ panic ! ( "unclosed regions: {:?} Add an `endregion` comment" , active_regions) ;
392+ }
393+
390394 for flag in & self . valid_flags {
391395 if !seen_regions. iter ( ) . any ( |it| it == flag) {
392396 panic ! ( "unused minicore flag: {flag:?}" ) ;
Original file line number Diff line number Diff line change 4242//! panic: fmt
4343//! phantom_data:
4444//! pin:
45+ //! pointee:
4546//! range:
4647//! result:
4748//! send: sized
@@ -368,6 +369,14 @@ pub mod ptr {
368369 * dst = src;
369370 }
370371 // 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
371380}
372381
373382pub mod ops {
You can’t perform that action at this time.
0 commit comments