this repo has no description

Cache publicity for named types and parameters for type aliases

authored by gearsco.de and committed by

Louis Pilfold b495dcfb 9a457125

+172 -64
+148 -58
compiler-core/generated/schema_capnp.rs
··· 2658 2658 pub fn has_origin(&self) -> bool { 2659 2659 !self.reader.get_pointer_field(5).is_null() 2660 2660 } 2661 + #[inline] 2662 + pub fn get_parameters(self) -> ::capnp::Result<::capnp::struct_list::Reader<'a,crate::schema_capnp::type_::Owned>> { 2663 + ::capnp::traits::FromPointerReader::get_from_pointer(&self.reader.get_pointer_field(6), ::core::option::Option::None) 2664 + } 2665 + #[inline] 2666 + pub fn has_parameters(&self) -> bool { 2667 + !self.reader.get_pointer_field(6).is_null() 2668 + } 2661 2669 } 2662 2670 2663 2671 pub struct Builder<'a> { builder: ::capnp::private::layout::StructBuilder<'a> } 2664 2672 impl <> ::capnp::traits::HasStructSize for Builder<'_,> { 2665 - const STRUCT_SIZE: ::capnp::private::layout::StructSize = ::capnp::private::layout::StructSize { data: 1, pointers: 6 }; 2673 + const STRUCT_SIZE: ::capnp::private::layout::StructSize = ::capnp::private::layout::StructSize { data: 1, pointers: 7 }; 2666 2674 } 2667 2675 impl <> ::capnp::traits::HasTypeId for Builder<'_,> { 2668 2676 const TYPE_ID: u64 = _private::TYPE_ID; ··· 2816 2824 pub fn has_origin(&self) -> bool { 2817 2825 !self.builder.is_pointer_field_null(5) 2818 2826 } 2827 + #[inline] 2828 + pub fn get_parameters(self) -> ::capnp::Result<::capnp::struct_list::Builder<'a,crate::schema_capnp::type_::Owned>> { 2829 + ::capnp::traits::FromPointerBuilder::get_from_pointer(self.builder.get_pointer_field(6), ::core::option::Option::None) 2830 + } 2831 + #[inline] 2832 + pub fn set_parameters(&mut self, value: ::capnp::struct_list::Reader<'_,crate::schema_capnp::type_::Owned>) -> ::capnp::Result<()> { 2833 + ::capnp::traits::SetterInput::set_pointer_builder(self.builder.reborrow().get_pointer_field(6), value, false) 2834 + } 2835 + #[inline] 2836 + pub fn init_parameters(self, size: u32) -> ::capnp::struct_list::Builder<'a,crate::schema_capnp::type_::Owned> { 2837 + ::capnp::traits::FromPointerBuilder::init_pointer(self.builder.get_pointer_field(6), size) 2838 + } 2839 + #[inline] 2840 + pub fn has_parameters(&self) -> bool { 2841 + !self.builder.is_pointer_field_null(6) 2842 + } 2819 2843 } 2820 2844 2821 2845 pub struct Pipeline { _typeless: ::capnp::any_pointer::Pipeline } ··· 2836 2860 } 2837 2861 } 2838 2862 mod _private { 2839 - pub static ENCODED_NODE: [::capnp::Word; 127] = [ 2863 + pub static ENCODED_NODE: [::capnp::Word; 147] = [ 2840 2864 ::capnp::word(0, 0, 0, 0, 5, 0, 6, 0), 2841 2865 ::capnp::word(77, 68, 194, 176, 34, 71, 88, 172), 2842 2866 ::capnp::word(13, 0, 0, 0, 1, 0, 1, 0), 2843 2867 ::capnp::word(190, 237, 188, 253, 156, 169, 51, 181), 2844 - ::capnp::word(6, 0, 7, 0, 0, 0, 0, 0), 2868 + ::capnp::word(7, 0, 7, 0, 0, 0, 0, 0), 2845 2869 ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0), 2846 2870 ::capnp::word(21, 0, 0, 0, 18, 1, 0, 0), 2847 2871 ::capnp::word(37, 0, 0, 0, 7, 0, 0, 0), 2848 2872 ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0), 2849 - ::capnp::word(33, 0, 0, 0, 143, 1, 0, 0), 2873 + ::capnp::word(33, 0, 0, 0, 199, 1, 0, 0), 2850 2874 ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0), 2851 2875 ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0), 2852 2876 ::capnp::word(115, 99, 104, 101, 109, 97, 46, 99), ··· 2855 2879 ::capnp::word(110, 115, 116, 114, 117, 99, 116, 111), 2856 2880 ::capnp::word(114, 0, 0, 0, 0, 0, 0, 0), 2857 2881 ::capnp::word(0, 0, 0, 0, 1, 0, 1, 0), 2858 - ::capnp::word(28, 0, 0, 0, 3, 0, 4, 0), 2882 + ::capnp::word(32, 0, 0, 0, 3, 0, 4, 0), 2859 2883 ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0), 2860 2884 ::capnp::word(0, 0, 1, 0, 0, 0, 0, 0), 2861 2885 ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0), 2862 - ::capnp::word(181, 0, 0, 0, 82, 0, 0, 0), 2886 + ::capnp::word(209, 0, 0, 0, 82, 0, 0, 0), 2863 2887 ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0), 2864 - ::capnp::word(180, 0, 0, 0, 3, 0, 1, 0), 2865 - ::capnp::word(192, 0, 0, 0, 2, 0, 1, 0), 2888 + ::capnp::word(208, 0, 0, 0, 3, 0, 1, 0), 2889 + ::capnp::word(220, 0, 0, 0, 2, 0, 1, 0), 2866 2890 ::capnp::word(1, 0, 0, 0, 1, 0, 0, 0), 2867 2891 ::capnp::word(0, 0, 1, 0, 1, 0, 0, 0), 2868 2892 ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0), 2869 - ::capnp::word(189, 0, 0, 0, 58, 0, 0, 0), 2893 + ::capnp::word(217, 0, 0, 0, 58, 0, 0, 0), 2870 2894 ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0), 2871 - ::capnp::word(184, 0, 0, 0, 3, 0, 1, 0), 2872 - ::capnp::word(196, 0, 0, 0, 2, 0, 1, 0), 2895 + ::capnp::word(212, 0, 0, 0, 3, 0, 1, 0), 2896 + ::capnp::word(224, 0, 0, 0, 2, 0, 1, 0), 2873 2897 ::capnp::word(2, 0, 0, 0, 2, 0, 0, 0), 2874 2898 ::capnp::word(0, 0, 1, 0, 2, 0, 0, 0), 2875 2899 ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0), 2876 - ::capnp::word(193, 0, 0, 0, 42, 0, 0, 0), 2900 + ::capnp::word(221, 0, 0, 0, 42, 0, 0, 0), 2877 2901 ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0), 2878 - ::capnp::word(188, 0, 0, 0, 3, 0, 1, 0), 2879 - ::capnp::word(200, 0, 0, 0, 2, 0, 1, 0), 2902 + ::capnp::word(216, 0, 0, 0, 3, 0, 1, 0), 2903 + ::capnp::word(228, 0, 0, 0, 2, 0, 1, 0), 2880 2904 ::capnp::word(3, 0, 0, 0, 0, 0, 0, 0), 2881 2905 ::capnp::word(0, 0, 1, 0, 3, 0, 0, 0), 2882 2906 ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0), 2883 - ::capnp::word(197, 0, 0, 0, 50, 0, 0, 0), 2907 + ::capnp::word(225, 0, 0, 0, 50, 0, 0, 0), 2884 2908 ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0), 2885 - ::capnp::word(192, 0, 0, 0, 3, 0, 1, 0), 2886 - ::capnp::word(204, 0, 0, 0, 2, 0, 1, 0), 2909 + ::capnp::word(220, 0, 0, 0, 3, 0, 1, 0), 2910 + ::capnp::word(232, 0, 0, 0, 2, 0, 1, 0), 2887 2911 ::capnp::word(4, 0, 0, 0, 3, 0, 0, 0), 2888 2912 ::capnp::word(0, 0, 1, 0, 4, 0, 0, 0), 2889 2913 ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0), 2890 - ::capnp::word(201, 0, 0, 0, 98, 0, 0, 0), 2914 + ::capnp::word(229, 0, 0, 0, 98, 0, 0, 0), 2891 2915 ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0), 2892 - ::capnp::word(200, 0, 0, 0, 3, 0, 1, 0), 2893 - ::capnp::word(212, 0, 0, 0, 2, 0, 1, 0), 2916 + ::capnp::word(228, 0, 0, 0, 3, 0, 1, 0), 2917 + ::capnp::word(240, 0, 0, 0, 2, 0, 1, 0), 2894 2918 ::capnp::word(5, 0, 0, 0, 4, 0, 0, 0), 2895 2919 ::capnp::word(0, 0, 1, 0, 5, 0, 0, 0), 2896 2920 ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0), 2897 - ::capnp::word(209, 0, 0, 0, 114, 0, 0, 0), 2921 + ::capnp::word(237, 0, 0, 0, 114, 0, 0, 0), 2898 2922 ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0), 2899 - ::capnp::word(208, 0, 0, 0, 3, 0, 1, 0), 2900 - ::capnp::word(220, 0, 0, 0, 2, 0, 1, 0), 2923 + ::capnp::word(236, 0, 0, 0, 3, 0, 1, 0), 2924 + ::capnp::word(248, 0, 0, 0, 2, 0, 1, 0), 2901 2925 ::capnp::word(6, 0, 0, 0, 5, 0, 0, 0), 2902 2926 ::capnp::word(0, 0, 1, 0, 6, 0, 0, 0), 2903 2927 ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0), 2904 - ::capnp::word(217, 0, 0, 0, 58, 0, 0, 0), 2928 + ::capnp::word(245, 0, 0, 0, 58, 0, 0, 0), 2905 2929 ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0), 2906 - ::capnp::word(212, 0, 0, 0, 3, 0, 1, 0), 2907 - ::capnp::word(224, 0, 0, 0, 2, 0, 1, 0), 2930 + ::capnp::word(240, 0, 0, 0, 3, 0, 1, 0), 2931 + ::capnp::word(252, 0, 0, 0, 2, 0, 1, 0), 2932 + ::capnp::word(7, 0, 0, 0, 6, 0, 0, 0), 2933 + ::capnp::word(0, 0, 1, 0, 7, 0, 0, 0), 2934 + ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0), 2935 + ::capnp::word(249, 0, 0, 0, 90, 0, 0, 0), 2936 + ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0), 2937 + ::capnp::word(248, 0, 0, 0, 3, 0, 1, 0), 2938 + ::capnp::word(20, 1, 0, 0, 2, 0, 1, 0), 2908 2939 ::capnp::word(112, 117, 98, 108, 105, 99, 105, 116), 2909 2940 ::capnp::word(121, 0, 0, 0, 0, 0, 0, 0), 2910 2941 ::capnp::word(16, 0, 0, 0, 0, 0, 0, 0), ··· 2964 2995 ::capnp::word(16, 0, 0, 0, 0, 0, 0, 0), 2965 2996 ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0), 2966 2997 ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0), 2998 + ::capnp::word(112, 97, 114, 97, 109, 101, 116, 101), 2999 + ::capnp::word(114, 115, 0, 0, 0, 0, 0, 0), 3000 + ::capnp::word(14, 0, 0, 0, 0, 0, 0, 0), 3001 + ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0), 3002 + ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0), 3003 + ::capnp::word(0, 0, 0, 0, 3, 0, 1, 0), 3004 + ::capnp::word(16, 0, 0, 0, 0, 0, 0, 0), 3005 + ::capnp::word(0, 7, 151, 64, 46, 128, 246, 130), 3006 + ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0), 3007 + ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0), 3008 + ::capnp::word(14, 0, 0, 0, 0, 0, 0, 0), 3009 + ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0), 3010 + ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0), 2967 3011 ]; 2968 3012 pub fn get_field_types(index: u16) -> ::capnp::introspect::Type { 2969 3013 match index { ··· 2974 3018 4 => <::capnp::text::Owned as ::capnp::introspect::Introspect>::introspect(), 2975 3019 5 => <::capnp::text::Owned as ::capnp::introspect::Introspect>::introspect(), 2976 3020 6 => <crate::schema_capnp::src_span::Owned as ::capnp::introspect::Introspect>::introspect(), 3021 + 7 => <::capnp::struct_list::Owned<crate::schema_capnp::type_::Owned> as ::capnp::introspect::Introspect>::introspect(), 2977 3022 _ => panic!("invalid field index {}", index), 2978 3023 } 2979 3024 } ··· 2986 3031 members_by_discriminant: MEMBERS_BY_DISCRIMINANT, 2987 3032 members_by_name: MEMBERS_BY_NAME, 2988 3033 }; 2989 - pub static NONUNION_MEMBERS : &[u16] = &[0,1,2,3,4,5,6]; 3034 + pub static NONUNION_MEMBERS : &[u16] = &[0,1,2,3,4,5,6,7]; 2990 3035 pub static MEMBERS_BY_DISCRIMINANT : &[u16] = &[]; 2991 - pub static MEMBERS_BY_NAME : &[u16] = &[3,4,5,1,6,0,2]; 3036 + pub static MEMBERS_BY_NAME : &[u16] = &[3,4,5,1,6,7,0,2]; 2992 3037 pub const TYPE_ID: u64 = 0xac58_4722_b0c2_444d; 2993 3038 } 2994 3039 } ··· 5825 5870 5826 5871 pub struct Builder<'a> { builder: ::capnp::private::layout::StructBuilder<'a> } 5827 5872 impl <> ::capnp::traits::HasStructSize for Builder<'_,> { 5828 - const STRUCT_SIZE: ::capnp::private::layout::StructSize = ::capnp::private::layout::StructSize { data: 2, pointers: 5 }; 5873 + const STRUCT_SIZE: ::capnp::private::layout::StructSize = ::capnp::private::layout::StructSize { data: 2, pointers: 6 }; 5829 5874 } 5830 5875 impl <> ::capnp::traits::HasTypeId for Builder<'_,> { 5831 5876 const TYPE_ID: u64 = _private::TYPE_ID; ··· 5883 5928 self.builder.reborrow().get_pointer_field(2).clear(); 5884 5929 self.builder.reborrow().get_pointer_field(3).clear(); 5885 5930 self.builder.reborrow().get_pointer_field(4).clear(); 5931 + self.builder.reborrow().get_pointer_field(5).clear(); 5886 5932 self.builder.into() 5887 5933 } 5888 5934 #[inline] ··· 5946 5992 ::capnp::word(0, 7, 151, 64, 46, 128, 246, 130), 5947 5993 ::capnp::word(13, 0, 0, 0, 1, 0, 2, 0), 5948 5994 ::capnp::word(190, 237, 188, 253, 156, 169, 51, 181), 5949 - ::capnp::word(5, 0, 7, 0, 0, 0, 4, 0), 5995 + ::capnp::word(6, 0, 7, 0, 0, 0, 4, 0), 5950 5996 ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0), 5951 5997 ::capnp::word(21, 0, 0, 0, 146, 0, 0, 0), 5952 5998 ::capnp::word(29, 0, 0, 0, 7, 0, 0, 0), ··· 6125 6171 pub fn has_inferred_variant(&self) -> bool { 6126 6172 !self.reader.get_pointer_field(4).is_null() 6127 6173 } 6174 + #[inline] 6175 + pub fn get_publicity(self) -> ::capnp::Result<crate::schema_capnp::publicity::Reader<'a>> { 6176 + ::capnp::traits::FromPointerReader::get_from_pointer(&self.reader.get_pointer_field(5), ::core::option::Option::None) 6177 + } 6178 + #[inline] 6179 + pub fn has_publicity(&self) -> bool { 6180 + !self.reader.get_pointer_field(5).is_null() 6181 + } 6128 6182 } 6129 6183 6130 6184 pub struct Builder<'a> { builder: ::capnp::private::layout::StructBuilder<'a> } 6131 6185 impl <> ::capnp::traits::HasStructSize for Builder<'_,> { 6132 - const STRUCT_SIZE: ::capnp::private::layout::StructSize = ::capnp::private::layout::StructSize { data: 2, pointers: 5 }; 6186 + const STRUCT_SIZE: ::capnp::private::layout::StructSize = ::capnp::private::layout::StructSize { data: 2, pointers: 6 }; 6133 6187 } 6134 6188 impl <> ::capnp::traits::HasTypeId for Builder<'_,> { 6135 6189 const TYPE_ID: u64 = _private::TYPE_ID; ··· 6259 6313 pub fn has_inferred_variant(&self) -> bool { 6260 6314 !self.builder.is_pointer_field_null(4) 6261 6315 } 6316 + #[inline] 6317 + pub fn get_publicity(self) -> ::capnp::Result<crate::schema_capnp::publicity::Builder<'a>> { 6318 + ::capnp::traits::FromPointerBuilder::get_from_pointer(self.builder.get_pointer_field(5), ::core::option::Option::None) 6319 + } 6320 + #[inline] 6321 + pub fn set_publicity(&mut self, value: crate::schema_capnp::publicity::Reader<'_>) -> ::capnp::Result<()> { 6322 + ::capnp::traits::SetterInput::set_pointer_builder(self.builder.reborrow().get_pointer_field(5), value, false) 6323 + } 6324 + #[inline] 6325 + pub fn init_publicity(self, ) -> crate::schema_capnp::publicity::Builder<'a> { 6326 + ::capnp::traits::FromPointerBuilder::init_pointer(self.builder.get_pointer_field(5), 0) 6327 + } 6328 + #[inline] 6329 + pub fn has_publicity(&self) -> bool { 6330 + !self.builder.is_pointer_field_null(5) 6331 + } 6262 6332 } 6263 6333 6264 6334 pub struct Pipeline { _typeless: ::capnp::any_pointer::Pipeline } ··· 6270 6340 impl Pipeline { 6271 6341 pub fn get_inferred_variant(&self) -> crate::schema_capnp::inferred_variant::Pipeline { 6272 6342 ::capnp::capability::FromTypelessPipeline::new(self._typeless.get_pointer_field(4)) 6343 + } 6344 + pub fn get_publicity(&self) -> crate::schema_capnp::publicity::Pipeline { 6345 + ::capnp::capability::FromTypelessPipeline::new(self._typeless.get_pointer_field(5)) 6273 6346 } 6274 6347 } 6275 6348 mod _private { 6276 - pub static ENCODED_NODE: [::capnp::Word; 97] = [ 6349 + pub static ENCODED_NODE: [::capnp::Word; 113] = [ 6277 6350 ::capnp::word(0, 0, 0, 0, 5, 0, 6, 0), 6278 6351 ::capnp::word(112, 148, 53, 107, 90, 14, 28, 212), 6279 6352 ::capnp::word(18, 0, 0, 0, 1, 0, 2, 0), 6280 6353 ::capnp::word(0, 7, 151, 64, 46, 128, 246, 130), 6281 - ::capnp::word(5, 0, 7, 0, 1, 0, 0, 0), 6354 + ::capnp::word(6, 0, 7, 0, 1, 0, 0, 0), 6282 6355 ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0), 6283 6356 ::capnp::word(21, 0, 0, 0, 178, 0, 0, 0), 6284 6357 ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0), 6285 6358 ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0), 6286 - ::capnp::word(21, 0, 0, 0, 31, 1, 0, 0), 6359 + ::capnp::word(21, 0, 0, 0, 87, 1, 0, 0), 6287 6360 ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0), 6288 6361 ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0), 6289 6362 ::capnp::word(115, 99, 104, 101, 109, 97, 46, 99), 6290 6363 ::capnp::word(97, 112, 110, 112, 58, 84, 121, 112), 6291 6364 ::capnp::word(101, 46, 97, 112, 112, 0, 0, 0), 6292 - ::capnp::word(20, 0, 0, 0, 3, 0, 4, 0), 6365 + ::capnp::word(24, 0, 0, 0, 3, 0, 4, 0), 6293 6366 ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0), 6294 6367 ::capnp::word(0, 0, 1, 0, 0, 0, 0, 0), 6295 6368 ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0), 6296 - ::capnp::word(125, 0, 0, 0, 42, 0, 0, 0), 6369 + ::capnp::word(153, 0, 0, 0, 42, 0, 0, 0), 6297 6370 ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0), 6298 - ::capnp::word(120, 0, 0, 0, 3, 0, 1, 0), 6299 - ::capnp::word(132, 0, 0, 0, 2, 0, 1, 0), 6371 + ::capnp::word(148, 0, 0, 0, 3, 0, 1, 0), 6372 + ::capnp::word(160, 0, 0, 0, 2, 0, 1, 0), 6300 6373 ::capnp::word(1, 0, 0, 0, 1, 0, 0, 0), 6301 6374 ::capnp::word(0, 0, 1, 0, 1, 0, 0, 0), 6302 6375 ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0), 6303 - ::capnp::word(129, 0, 0, 0, 58, 0, 0, 0), 6376 + ::capnp::word(157, 0, 0, 0, 58, 0, 0, 0), 6304 6377 ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0), 6305 - ::capnp::word(124, 0, 0, 0, 3, 0, 1, 0), 6306 - ::capnp::word(136, 0, 0, 0, 2, 0, 1, 0), 6378 + ::capnp::word(152, 0, 0, 0, 3, 0, 1, 0), 6379 + ::capnp::word(164, 0, 0, 0, 2, 0, 1, 0), 6307 6380 ::capnp::word(2, 0, 0, 0, 2, 0, 0, 0), 6308 6381 ::capnp::word(0, 0, 1, 0, 2, 0, 0, 0), 6309 6382 ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0), 6310 - ::capnp::word(133, 0, 0, 0, 90, 0, 0, 0), 6383 + ::capnp::word(161, 0, 0, 0, 90, 0, 0, 0), 6311 6384 ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0), 6312 - ::capnp::word(132, 0, 0, 0, 3, 0, 1, 0), 6313 - ::capnp::word(160, 0, 0, 0, 2, 0, 1, 0), 6385 + ::capnp::word(160, 0, 0, 0, 3, 0, 1, 0), 6386 + ::capnp::word(188, 0, 0, 0, 2, 0, 1, 0), 6314 6387 ::capnp::word(3, 0, 0, 0, 3, 0, 0, 0), 6315 6388 ::capnp::word(0, 0, 1, 0, 7, 0, 0, 0), 6316 6389 ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0), 6317 - ::capnp::word(157, 0, 0, 0, 66, 0, 0, 0), 6390 + ::capnp::word(185, 0, 0, 0, 66, 0, 0, 0), 6318 6391 ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0), 6319 - ::capnp::word(152, 0, 0, 0, 3, 0, 1, 0), 6320 - ::capnp::word(164, 0, 0, 0, 2, 0, 1, 0), 6392 + ::capnp::word(180, 0, 0, 0, 3, 0, 1, 0), 6393 + ::capnp::word(192, 0, 0, 0, 2, 0, 1, 0), 6321 6394 ::capnp::word(4, 0, 0, 0, 4, 0, 0, 0), 6322 6395 ::capnp::word(0, 0, 1, 0, 8, 0, 0, 0), 6323 6396 ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0), 6324 - ::capnp::word(161, 0, 0, 0, 130, 0, 0, 0), 6397 + ::capnp::word(189, 0, 0, 0, 130, 0, 0, 0), 6398 + ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0), 6399 + ::capnp::word(188, 0, 0, 0, 3, 0, 1, 0), 6400 + ::capnp::word(200, 0, 0, 0, 2, 0, 1, 0), 6401 + ::capnp::word(5, 0, 0, 0, 5, 0, 0, 0), 6402 + ::capnp::word(0, 0, 1, 0, 9, 0, 0, 0), 6403 + ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0), 6404 + ::capnp::word(197, 0, 0, 0, 82, 0, 0, 0), 6325 6405 ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0), 6326 - ::capnp::word(160, 0, 0, 0, 3, 0, 1, 0), 6327 - ::capnp::word(172, 0, 0, 0, 2, 0, 1, 0), 6406 + ::capnp::word(196, 0, 0, 0, 3, 0, 1, 0), 6407 + ::capnp::word(208, 0, 0, 0, 2, 0, 1, 0), 6328 6408 ::capnp::word(110, 97, 109, 101, 0, 0, 0, 0), 6329 6409 ::capnp::word(12, 0, 0, 0, 0, 0, 0, 0), 6330 6410 ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0), ··· 6371 6451 ::capnp::word(16, 0, 0, 0, 0, 0, 0, 0), 6372 6452 ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0), 6373 6453 ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0), 6454 + ::capnp::word(112, 117, 98, 108, 105, 99, 105, 116), 6455 + ::capnp::word(121, 0, 0, 0, 0, 0, 0, 0), 6456 + ::capnp::word(16, 0, 0, 0, 0, 0, 0, 0), 6457 + ::capnp::word(102, 28, 233, 33, 200, 211, 73, 197), 6458 + ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0), 6459 + ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0), 6460 + ::capnp::word(16, 0, 0, 0, 0, 0, 0, 0), 6461 + ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0), 6462 + ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0), 6374 6463 ]; 6375 6464 pub fn get_field_types(index: u16) -> ::capnp::introspect::Type { 6376 6465 match index { ··· 6379 6468 2 => <::capnp::struct_list::Owned<crate::schema_capnp::type_::Owned> as ::capnp::introspect::Introspect>::introspect(), 6380 6469 3 => <::capnp::text::Owned as ::capnp::introspect::Introspect>::introspect(), 6381 6470 4 => <crate::schema_capnp::inferred_variant::Owned as ::capnp::introspect::Introspect>::introspect(), 6471 + 5 => <crate::schema_capnp::publicity::Owned as ::capnp::introspect::Introspect>::introspect(), 6382 6472 _ => panic!("invalid field index {}", index), 6383 6473 } 6384 6474 } ··· 6391 6481 members_by_discriminant: MEMBERS_BY_DISCRIMINANT, 6392 6482 members_by_name: MEMBERS_BY_NAME, 6393 6483 }; 6394 - pub static NONUNION_MEMBERS : &[u16] = &[0,1,2,3,4]; 6484 + pub static NONUNION_MEMBERS : &[u16] = &[0,1,2,3,4,5]; 6395 6485 pub static MEMBERS_BY_DISCRIMINANT : &[u16] = &[]; 6396 - pub static MEMBERS_BY_NAME : &[u16] = &[4,1,0,3,2]; 6486 + pub static MEMBERS_BY_NAME : &[u16] = &[4,1,0,3,2,5]; 6397 6487 pub const TYPE_ID: u64 = 0xd41c_0e5a_6b35_9470; 6398 6488 } 6399 6489 } ··· 6479 6569 6480 6570 pub struct Builder<'a> { builder: ::capnp::private::layout::StructBuilder<'a> } 6481 6571 impl <> ::capnp::traits::HasStructSize for Builder<'_,> { 6482 - const STRUCT_SIZE: ::capnp::private::layout::StructSize = ::capnp::private::layout::StructSize { data: 2, pointers: 5 }; 6572 + const STRUCT_SIZE: ::capnp::private::layout::StructSize = ::capnp::private::layout::StructSize { data: 2, pointers: 6 }; 6483 6573 } 6484 6574 impl <> ::capnp::traits::HasTypeId for Builder<'_,> { 6485 6575 const TYPE_ID: u64 = _private::TYPE_ID; ··· 6580 6670 ::capnp::word(107, 183, 96, 119, 140, 121, 242, 130), 6581 6671 ::capnp::word(18, 0, 0, 0, 1, 0, 2, 0), 6582 6672 ::capnp::word(0, 7, 151, 64, 46, 128, 246, 130), 6583 - ::capnp::word(5, 0, 7, 0, 1, 0, 0, 0), 6673 + ::capnp::word(6, 0, 7, 0, 1, 0, 0, 0), 6584 6674 ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0), 6585 6675 ::capnp::word(21, 0, 0, 0, 170, 0, 0, 0), 6586 6676 ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0), ··· 6720 6810 6721 6811 pub struct Builder<'a> { builder: ::capnp::private::layout::StructBuilder<'a> } 6722 6812 impl <> ::capnp::traits::HasStructSize for Builder<'_,> { 6723 - const STRUCT_SIZE: ::capnp::private::layout::StructSize = ::capnp::private::layout::StructSize { data: 2, pointers: 5 }; 6813 + const STRUCT_SIZE: ::capnp::private::layout::StructSize = ::capnp::private::layout::StructSize { data: 2, pointers: 6 }; 6724 6814 } 6725 6815 impl <> ::capnp::traits::HasTypeId for Builder<'_,> { 6726 6816 const TYPE_ID: u64 = _private::TYPE_ID; ··· 6794 6884 ::capnp::word(54, 132, 226, 31, 115, 14, 218, 204), 6795 6885 ::capnp::word(18, 0, 0, 0, 1, 0, 2, 0), 6796 6886 ::capnp::word(0, 7, 151, 64, 46, 128, 246, 130), 6797 - ::capnp::word(5, 0, 7, 0, 1, 0, 0, 0), 6887 + ::capnp::word(6, 0, 7, 0, 1, 0, 0, 0), 6798 6888 ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0), 6799 6889 ::capnp::word(21, 0, 0, 0, 178, 0, 0, 0), 6800 6890 ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0), ··· 6917 7007 6918 7008 pub struct Builder<'a> { builder: ::capnp::private::layout::StructBuilder<'a> } 6919 7009 impl <> ::capnp::traits::HasStructSize for Builder<'_,> { 6920 - const STRUCT_SIZE: ::capnp::private::layout::StructSize = ::capnp::private::layout::StructSize { data: 2, pointers: 5 }; 7010 + const STRUCT_SIZE: ::capnp::private::layout::StructSize = ::capnp::private::layout::StructSize { data: 2, pointers: 6 }; 6921 7011 } 6922 7012 impl <> ::capnp::traits::HasTypeId for Builder<'_,> { 6923 7013 const TYPE_ID: u64 = _private::TYPE_ID; ··· 6999 7089 ::capnp::word(61, 216, 21, 128, 12, 226, 23, 140), 7000 7090 ::capnp::word(18, 0, 0, 0, 1, 0, 2, 0), 7001 7091 ::capnp::word(0, 7, 151, 64, 46, 128, 246, 130), 7002 - ::capnp::word(5, 0, 7, 0, 1, 0, 0, 0), 7092 + ::capnp::word(6, 0, 7, 0, 1, 0, 0, 0), 7003 7093 ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0), 7004 7094 ::capnp::word(21, 0, 0, 0, 194, 0, 0, 0), 7005 7095 ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+2
compiler-core/schema.capnp
··· 71 71 deprecation @4 :Text; 72 72 documentation @5 :Text; 73 73 origin @6 :SrcSpan; 74 + parameters @7 :List(Type); 74 75 } 75 76 76 77 struct Version { ··· 145 146 parameters @2 :List(Type); 146 147 package @7 :Text; 147 148 inferredVariant @8 :InferredVariant; 149 + publicity @9 :Publicity; 148 150 } 149 151 150 152 fn :group {
+2 -1
compiler-core/src/analyse.rs
··· 1395 1395 TypeConstructor { 1396 1396 origin: *location, 1397 1397 module: self.module_name.clone(), 1398 - parameters, 1398 + parameters: parameters.clone(), 1399 1399 type_: type_.clone(), 1400 1400 deprecation: deprecation.clone(), 1401 1401 publicity: *publicity, ··· 1413 1413 deprecation: deprecation.clone(), 1414 1414 documentation: documentation.as_ref().map(|(_, doc)| doc.clone()), 1415 1415 arity, 1416 + parameters, 1416 1417 }, 1417 1418 )?; 1418 1419
+4 -1
compiler-core/src/metadata/module_decoder.rs
··· 197 197 message: self.string(deprecation)?, 198 198 } 199 199 }; 200 + let parameters = read_vec!(&reader.get_parameters()?, self, type_); 200 201 Ok(TypeAliasConstructor { 201 202 publicity: self.publicity(reader.get_publicity()?)?, 202 203 origin: self.src_span(&reader.get_origin()?)?, ··· 205 206 deprecation, 206 207 documentation: self.optional_string(self.str(reader.get_documentation()?)?), 207 208 arity: reader.get_arity() as usize, 209 + parameters, 208 210 }) 209 211 } 210 212 ··· 224 226 let name = self.string(reader.get_name()?)?; 225 227 let arguments = read_vec!(&reader.get_parameters()?, self, type_); 226 228 let inferred_variant = self.inferred_variant(&reader.get_inferred_variant()?)?; 229 + let publicity = self.publicity(reader.get_publicity()?)?; 227 230 228 231 Ok(Arc::new(Type::Named { 229 - publicity: Publicity::Public, 232 + publicity, 230 233 package, 231 234 module, 232 235 name,
+8 -2
compiler-core/src/metadata/module_encoder.rs
··· 311 311 self.build_type(type_builder, &constructor.type_); 312 312 self.build_src_span(builder.reborrow().init_origin(), constructor.origin); 313 313 builder.set_documentation(constructor.documentation.as_deref().unwrap_or_default()); 314 - builder.set_arity(constructor.arity as u32) 314 + builder.set_arity(constructor.arity as u32); 315 + 316 + let mut parameters_builder = builder.init_parameters(constructor.parameters.len() as u32); 317 + for (index, parameter) in constructor.parameters.iter().enumerate() { 318 + self.build_type(parameters_builder.reborrow().get(index as u32), parameter); 319 + } 315 320 } 316 321 317 322 fn build_type_value_constructor( ··· 652 657 module, 653 658 package, 654 659 inferred_variant, 655 - .. 660 + publicity, 656 661 } => { 657 662 let mut app = builder.init_app(); 658 663 app.set_name(name); ··· 667 672 app.reborrow().init_parameters(arguments.len() as u32), 668 673 arguments, 669 674 ); 675 + self.build_publicity(app.init_publicity(), *publicity); 670 676 } 671 677 672 678 Type::Tuple { elements } => self.build_types(
+7 -2
compiler-core/src/metadata/tests.rs
··· 1761 1761 "Wibble".into(), 1762 1762 TypeConstructor { 1763 1763 type_: Arc::new(Type::Named { 1764 - publicity: Publicity::Public, 1764 + publicity: Publicity::Internal { 1765 + attribute_location: None, 1766 + }, 1765 1767 package: "some_package".into(), 1766 1768 module: "the/module".into(), 1767 1769 name: "Wibble".into(), 1768 1770 arguments: Vec::new(), 1769 1771 inferred_variant: Some(1), 1770 1772 }), 1771 - publicity: Publicity::Public, 1773 + publicity: Publicity::Internal { 1774 + attribute_location: Some(SrcSpan::new(0, 10)), 1775 + }, 1772 1776 origin: Default::default(), 1773 1777 module: "the/module".into(), 1774 1778 parameters: vec![], ··· 1816 1820 deprecation: Deprecation::NotDeprecated, 1817 1821 documentation: Some("Some documentation".into()), 1818 1822 origin: Default::default(), 1823 + parameters: vec![type_::generic_var(0)], 1819 1824 }, 1820 1825 )] 1821 1826 .into(),
+1
compiler-core/src/type_.rs
··· 1495 1495 pub deprecation: Deprecation, 1496 1496 pub documentation: Option<EcoString>, 1497 1497 pub origin: SrcSpan, 1498 + pub parameters: Vec<Arc<Type>>, 1498 1499 } 1499 1500 1500 1501 impl ValueConstructor {