@@ -33,7 +33,7 @@ const _: () = {
3333 {
3434 #[ repr( u8 ) ]
3535 #[ allow( dead_code) ]
36- enum ___ZerocopyTag {
36+ pub enum ___ZerocopyTag {
3737 UnitLike ,
3838 StructLike ,
3939 TupleLike ,
@@ -283,6 +283,8 @@ const _: () = {
283283 type Type = :: zerocopy:: util:: macro_util:: core_reexport:: mem:: MaybeUninit <
284284 ___ZerocopyInnerTag ,
285285 > ;
286+ type Tag = ( ) ;
287+ type ProjectToTag = :: zerocopy:: pointer:: cast:: CastToUnit ;
286288 #[ inline( always) ]
287289 fn project (
288290 slf : :: zerocopy:: pointer:: PtrInner < ' _ , Self > ,
@@ -366,6 +368,8 @@ const _: () = {
366368 {
367369 fn only_derive_is_allowed_to_implement_this_trait ( ) { }
368370 type Type = u8 ;
371+ type Tag = ( ) ;
372+ type ProjectToTag = :: zerocopy:: pointer:: cast:: CastToUnit ;
369373 #[ inline( always) ]
370374 fn project (
371375 slf : :: zerocopy:: pointer:: PtrInner < ' _ , Self > ,
@@ -449,6 +453,8 @@ const _: () = {
449453 {
450454 fn only_derive_is_allowed_to_implement_this_trait ( ) { }
451455 type Type = X ;
456+ type Tag = ( ) ;
457+ type ProjectToTag = :: zerocopy:: pointer:: cast:: CastToUnit ;
452458 #[ inline( always) ]
453459 fn project (
454460 slf : :: zerocopy:: pointer:: PtrInner < ' _ , Self > ,
@@ -532,6 +538,8 @@ const _: () = {
532538 {
533539 fn only_derive_is_allowed_to_implement_this_trait ( ) { }
534540 type Type = X :: Target ;
541+ type Tag = ( ) ;
542+ type ProjectToTag = :: zerocopy:: pointer:: cast:: CastToUnit ;
535543 #[ inline( always) ]
536544 fn project (
537545 slf : :: zerocopy:: pointer:: PtrInner < ' _ , Self > ,
@@ -615,6 +623,8 @@ const _: () = {
615623 {
616624 fn only_derive_is_allowed_to_implement_this_trait ( ) { }
617625 type Type = Y :: Target ;
626+ type Tag = ( ) ;
627+ type ProjectToTag = :: zerocopy:: pointer:: cast:: CastToUnit ;
618628 #[ inline( always) ]
619629 fn project (
620630 slf : :: zerocopy:: pointer:: PtrInner < ' _ , Self > ,
@@ -698,6 +708,8 @@ const _: () = {
698708 {
699709 fn only_derive_is_allowed_to_implement_this_trait ( ) { }
700710 type Type = [ ( X , Y ) ; N ] ;
711+ type Tag = ( ) ;
712+ type ProjectToTag = :: zerocopy:: pointer:: cast:: CastToUnit ;
701713 #[ inline( always) ]
702714 fn project (
703715 slf : :: zerocopy:: pointer:: PtrInner < ' _ , Self > ,
@@ -783,6 +795,8 @@ const _: () = {
783795 type Type = :: zerocopy:: util:: macro_util:: core_reexport:: marker:: PhantomData <
784796 ComplexWithGenerics < ' a , N , X , Y > ,
785797 > ;
798+ type Tag = ( ) ;
799+ type ProjectToTag = :: zerocopy:: pointer:: cast:: CastToUnit ;
786800 #[ inline( always) ]
787801 fn project (
788802 slf : :: zerocopy:: pointer:: PtrInner < ' _ , Self > ,
@@ -1030,6 +1044,8 @@ const _: () = {
10301044 type Type = :: zerocopy:: util:: macro_util:: core_reexport:: mem:: MaybeUninit <
10311045 ___ZerocopyInnerTag ,
10321046 > ;
1047+ type Tag = ( ) ;
1048+ type ProjectToTag = :: zerocopy:: pointer:: cast:: CastToUnit ;
10331049 #[ inline( always) ]
10341050 fn project (
10351051 slf : :: zerocopy:: pointer:: PtrInner < ' _ , Self > ,
@@ -1113,6 +1129,8 @@ const _: () = {
11131129 {
11141130 fn only_derive_is_allowed_to_implement_this_trait ( ) { }
11151131 type Type = bool ;
1132+ type Tag = ( ) ;
1133+ type ProjectToTag = :: zerocopy:: pointer:: cast:: CastToUnit ;
11161134 #[ inline( always) ]
11171135 fn project (
11181136 slf : :: zerocopy:: pointer:: PtrInner < ' _ , Self > ,
@@ -1196,6 +1214,8 @@ const _: () = {
11961214 {
11971215 fn only_derive_is_allowed_to_implement_this_trait ( ) { }
11981216 type Type = Y ;
1217+ type Tag = ( ) ;
1218+ type ProjectToTag = :: zerocopy:: pointer:: cast:: CastToUnit ;
11991219 #[ inline( always) ]
12001220 fn project (
12011221 slf : :: zerocopy:: pointer:: PtrInner < ' _ , Self > ,
@@ -1279,6 +1299,8 @@ const _: () = {
12791299 {
12801300 fn only_derive_is_allowed_to_implement_this_trait ( ) { }
12811301 type Type = PhantomData < & ' a [ ( X , Y ) ; N ] > ;
1302+ type Tag = ( ) ;
1303+ type ProjectToTag = :: zerocopy:: pointer:: cast:: CastToUnit ;
12821304 #[ inline( always) ]
12831305 fn project (
12841306 slf : :: zerocopy:: pointer:: PtrInner < ' _ , Self > ,
@@ -1364,6 +1386,8 @@ const _: () = {
13641386 type Type = :: zerocopy:: util:: macro_util:: core_reexport:: marker:: PhantomData <
13651387 ComplexWithGenerics < ' a , N , X , Y > ,
13661388 > ;
1389+ type Tag = ( ) ;
1390+ type ProjectToTag = :: zerocopy:: pointer:: cast:: CastToUnit ;
13671391 #[ inline( always) ]
13681392 fn project (
13691393 slf : :: zerocopy:: pointer:: PtrInner < ' _ , Self > ,
@@ -1474,6 +1498,8 @@ const _: () = {
14741498 type Type = :: zerocopy:: util:: macro_util:: core_reexport:: mem:: ManuallyDrop <
14751499 ___ZerocopyVariantStruct_StructLike < ' a , N , X , Y > ,
14761500 > ;
1501+ type Tag = ( ) ;
1502+ type ProjectToTag = :: zerocopy:: pointer:: cast:: CastToUnit ;
14771503 #[ inline( always) ]
14781504 fn project (
14791505 slf : :: zerocopy:: pointer:: PtrInner < ' _ , Self > ,
@@ -1534,6 +1560,8 @@ const _: () = {
15341560 type Type = :: zerocopy:: util:: macro_util:: core_reexport:: mem:: ManuallyDrop <
15351561 ___ZerocopyVariantStruct_TupleLike < ' a , N , X , Y > ,
15361562 > ;
1563+ type Tag = ( ) ;
1564+ type ProjectToTag = :: zerocopy:: pointer:: cast:: CastToUnit ;
15371565 #[ inline( always) ]
15381566 fn project (
15391567 slf : :: zerocopy:: pointer:: PtrInner < ' _ , Self > ,
@@ -1592,6 +1620,8 @@ const _: () = {
15921620 > for ___ZerocopyVariants < ' a , { N } , X , Y > {
15931621 fn only_derive_is_allowed_to_implement_this_trait ( ) { }
15941622 type Type = ( ) ;
1623+ type Tag = ( ) ;
1624+ type ProjectToTag = :: zerocopy:: pointer:: cast:: CastToUnit ;
15951625 #[ inline( always) ]
15961626 fn project (
15971627 slf : :: zerocopy:: pointer:: PtrInner < ' _ , Self > ,
@@ -1679,6 +1709,8 @@ const _: () = {
16791709 > for ___ZerocopyRawEnum < ' a , { N } , X , Y > {
16801710 fn only_derive_is_allowed_to_implement_this_trait ( ) { }
16811711 type Type = ___ZerocopyOuterTag ;
1712+ type Tag = ( ) ;
1713+ type ProjectToTag = :: zerocopy:: pointer:: cast:: CastToUnit ;
16821714 #[ inline( always) ]
16831715 fn project (
16841716 slf : :: zerocopy:: pointer:: PtrInner < ' _ , Self > ,
@@ -1756,6 +1788,8 @@ const _: () = {
17561788 > for ___ZerocopyRawEnum < ' a , { N } , X , Y > {
17571789 fn only_derive_is_allowed_to_implement_this_trait ( ) { }
17581790 type Type = ___ZerocopyVariants < ' a , N , X , Y > ;
1791+ type Tag = ( ) ;
1792+ type ProjectToTag = :: zerocopy:: pointer:: cast:: CastToUnit ;
17591793 #[ inline( always) ]
17601794 fn project (
17611795 slf : :: zerocopy:: pointer:: PtrInner < ' _ , Self > ,
@@ -1837,6 +1871,8 @@ const _: () = {
18371871 {
18381872 fn only_derive_is_allowed_to_implement_this_trait ( ) { }
18391873 type Type = u8 ;
1874+ type Tag = ___ZerocopyTag ;
1875+ type ProjectToTag = :: zerocopy:: pointer:: cast:: CastSized ;
18401876 #[ inline( always) ]
18411877 fn project (
18421878 slf : :: zerocopy:: pointer:: PtrInner < ' _ , Self > ,
@@ -1949,6 +1985,8 @@ const _: () = {
19491985 {
19501986 fn only_derive_is_allowed_to_implement_this_trait ( ) { }
19511987 type Type = X ;
1988+ type Tag = ___ZerocopyTag ;
1989+ type ProjectToTag = :: zerocopy:: pointer:: cast:: CastSized ;
19521990 #[ inline( always) ]
19531991 fn project (
19541992 slf : :: zerocopy:: pointer:: PtrInner < ' _ , Self > ,
@@ -2061,6 +2099,8 @@ const _: () = {
20612099 {
20622100 fn only_derive_is_allowed_to_implement_this_trait ( ) { }
20632101 type Type = X :: Target ;
2102+ type Tag = ___ZerocopyTag ;
2103+ type ProjectToTag = :: zerocopy:: pointer:: cast:: CastSized ;
20642104 #[ inline( always) ]
20652105 fn project (
20662106 slf : :: zerocopy:: pointer:: PtrInner < ' _ , Self > ,
@@ -2173,6 +2213,8 @@ const _: () = {
21732213 {
21742214 fn only_derive_is_allowed_to_implement_this_trait ( ) { }
21752215 type Type = Y :: Target ;
2216+ type Tag = ___ZerocopyTag ;
2217+ type ProjectToTag = :: zerocopy:: pointer:: cast:: CastSized ;
21762218 #[ inline( always) ]
21772219 fn project (
21782220 slf : :: zerocopy:: pointer:: PtrInner < ' _ , Self > ,
@@ -2285,6 +2327,8 @@ const _: () = {
22852327 {
22862328 fn only_derive_is_allowed_to_implement_this_trait ( ) { }
22872329 type Type = [ ( X , Y ) ; N ] ;
2330+ type Tag = ___ZerocopyTag ;
2331+ type ProjectToTag = :: zerocopy:: pointer:: cast:: CastSized ;
22882332 #[ inline( always) ]
22892333 fn project (
22902334 slf : :: zerocopy:: pointer:: PtrInner < ' _ , Self > ,
@@ -2397,6 +2441,8 @@ const _: () = {
23972441 {
23982442 fn only_derive_is_allowed_to_implement_this_trait ( ) { }
23992443 type Type = bool ;
2444+ type Tag = ___ZerocopyTag ;
2445+ type ProjectToTag = :: zerocopy:: pointer:: cast:: CastSized ;
24002446 #[ inline( always) ]
24012447 fn project (
24022448 slf : :: zerocopy:: pointer:: PtrInner < ' _ , Self > ,
@@ -2509,6 +2555,8 @@ const _: () = {
25092555 {
25102556 fn only_derive_is_allowed_to_implement_this_trait ( ) { }
25112557 type Type = Y ;
2558+ type Tag = ___ZerocopyTag ;
2559+ type ProjectToTag = :: zerocopy:: pointer:: cast:: CastSized ;
25122560 #[ inline( always) ]
25132561 fn project (
25142562 slf : :: zerocopy:: pointer:: PtrInner < ' _ , Self > ,
@@ -2621,6 +2669,8 @@ const _: () = {
26212669 {
26222670 fn only_derive_is_allowed_to_implement_this_trait ( ) { }
26232671 type Type = PhantomData < & ' a [ ( X , Y ) ; N ] > ;
2672+ type Tag = ___ZerocopyTag ;
2673+ type ProjectToTag = :: zerocopy:: pointer:: cast:: CastSized ;
26242674 #[ inline( always) ]
26252675 fn project (
26262676 slf : :: zerocopy:: pointer:: PtrInner < ' _ , Self > ,
0 commit comments