···233233 /// State trait tracking which required fields have been set
234234 pub trait State: sealed::Sealed {
235235 type Uri;
236236- type Title;
237236 type Description;
237237+ type Title;
238238 }
239239 /// Empty state - all required fields are unset
240240 pub struct Empty(());
241241 impl sealed::Sealed for Empty {}
242242 impl State for Empty {
243243 type Uri = Unset;
244244- type Title = Unset;
245244 type Description = Unset;
245245+ type Title = Unset;
246246 }
247247 ///State transition - sets the `uri` field to Set
248248 pub struct SetUri<St: State = Empty>(PhantomData<fn() -> St>);
249249 impl<St: State> sealed::Sealed for SetUri<St> {}
250250 impl<St: State> State for SetUri<St> {
251251 type Uri = Set<members::uri>;
252252- type Title = St::Title;
253252 type Description = St::Description;
254254- }
255255- ///State transition - sets the `title` field to Set
256256- pub struct SetTitle<St: State = Empty>(PhantomData<fn() -> St>);
257257- impl<St: State> sealed::Sealed for SetTitle<St> {}
258258- impl<St: State> State for SetTitle<St> {
259259- type Uri = St::Uri;
260260- type Title = Set<members::title>;
261261- type Description = St::Description;
253253+ type Title = St::Title;
262254 }
263255 ///State transition - sets the `description` field to Set
264256 pub struct SetDescription<St: State = Empty>(PhantomData<fn() -> St>);
265257 impl<St: State> sealed::Sealed for SetDescription<St> {}
266258 impl<St: State> State for SetDescription<St> {
267259 type Uri = St::Uri;
268268- type Title = St::Title;
269260 type Description = Set<members::description>;
261261+ type Title = St::Title;
262262+ }
263263+ ///State transition - sets the `title` field to Set
264264+ pub struct SetTitle<St: State = Empty>(PhantomData<fn() -> St>);
265265+ impl<St: State> sealed::Sealed for SetTitle<St> {}
266266+ impl<St: State> State for SetTitle<St> {
267267+ type Uri = St::Uri;
268268+ type Description = St::Description;
269269+ type Title = Set<members::title>;
270270 }
271271 /// Marker types for field names
272272 #[allow(non_camel_case_types)]
273273 pub mod members {
274274 ///Marker type for the `uri` field
275275 pub struct uri(());
276276+ ///Marker type for the `description` field
277277+ pub struct description(());
276278 ///Marker type for the `title` field
277279 pub struct title(());
278278- ///Marker type for the `description` field
279279- pub struct description(());
280280 }
281281}
282282···390390where
391391 St: external_state::State,
392392 St::Uri: external_state::IsSet,
393393- St::Title: external_state::IsSet,
394393 St::Description: external_state::IsSet,
394394+ St::Title: external_state::IsSet,
395395{
396396 /// Build the final struct.
397397 pub fn build(self) -> External<S> {
···827827 /// State trait tracking which required fields have been set
828828 pub trait State: sealed::Sealed {
829829 type Title;
830830- type Uri;
831830 type Description;
831831+ type Uri;
832832 }
833833 /// Empty state - all required fields are unset
834834 pub struct Empty(());
835835 impl sealed::Sealed for Empty {}
836836 impl State for Empty {
837837 type Title = Unset;
838838- type Uri = Unset;
839838 type Description = Unset;
839839+ type Uri = Unset;
840840 }
841841 ///State transition - sets the `title` field to Set
842842 pub struct SetTitle<St: State = Empty>(PhantomData<fn() -> St>);
843843 impl<St: State> sealed::Sealed for SetTitle<St> {}
844844 impl<St: State> State for SetTitle<St> {
845845 type Title = Set<members::title>;
846846- type Uri = St::Uri;
847846 type Description = St::Description;
848848- }
849849- ///State transition - sets the `uri` field to Set
850850- pub struct SetUri<St: State = Empty>(PhantomData<fn() -> St>);
851851- impl<St: State> sealed::Sealed for SetUri<St> {}
852852- impl<St: State> State for SetUri<St> {
853853- type Title = St::Title;
854854- type Uri = Set<members::uri>;
855855- type Description = St::Description;
847847+ type Uri = St::Uri;
856848 }
857849 ///State transition - sets the `description` field to Set
858850 pub struct SetDescription<St: State = Empty>(PhantomData<fn() -> St>);
859851 impl<St: State> sealed::Sealed for SetDescription<St> {}
860852 impl<St: State> State for SetDescription<St> {
861853 type Title = St::Title;
862862- type Uri = St::Uri;
863854 type Description = Set<members::description>;
855855+ type Uri = St::Uri;
856856+ }
857857+ ///State transition - sets the `uri` field to Set
858858+ pub struct SetUri<St: State = Empty>(PhantomData<fn() -> St>);
859859+ impl<St: State> sealed::Sealed for SetUri<St> {}
860860+ impl<St: State> State for SetUri<St> {
861861+ type Title = St::Title;
862862+ type Description = St::Description;
863863+ type Uri = Set<members::uri>;
864864 }
865865 /// Marker types for field names
866866 #[allow(non_camel_case_types)]
867867 pub mod members {
868868 ///Marker type for the `title` field
869869 pub struct title(());
870870+ ///Marker type for the `description` field
871871+ pub struct description(());
870872 ///Marker type for the `uri` field
871873 pub struct uri(());
872872- ///Marker type for the `description` field
873873- pub struct description(());
874874 }
875875}
876876···990990where
991991 St: view_external_state::State,
992992 St::Title: view_external_state::IsSet,
993993- St::Uri: view_external_state::IsSet,
994993 St::Description: view_external_state::IsSet,
994994+ St::Uri: view_external_state::IsSet,
995995{
996996 /// Build the final struct.
997997 pub fn build(self) -> ViewExternal<S> {
···310310 }
311311 /// State trait tracking which required fields have been set
312312 pub trait State: sealed::Sealed {
313313- type ByteEnd;
314313 type ByteStart;
314314+ type ByteEnd;
315315 }
316316 /// Empty state - all required fields are unset
317317 pub struct Empty(());
318318 impl sealed::Sealed for Empty {}
319319 impl State for Empty {
320320- type ByteEnd = Unset;
321320 type ByteStart = Unset;
322322- }
323323- ///State transition - sets the `byte_end` field to Set
324324- pub struct SetByteEnd<St: State = Empty>(PhantomData<fn() -> St>);
325325- impl<St: State> sealed::Sealed for SetByteEnd<St> {}
326326- impl<St: State> State for SetByteEnd<St> {
327327- type ByteEnd = Set<members::byte_end>;
328328- type ByteStart = St::ByteStart;
321321+ type ByteEnd = Unset;
329322 }
330323 ///State transition - sets the `byte_start` field to Set
331324 pub struct SetByteStart<St: State = Empty>(PhantomData<fn() -> St>);
332325 impl<St: State> sealed::Sealed for SetByteStart<St> {}
333326 impl<St: State> State for SetByteStart<St> {
334334- type ByteEnd = St::ByteEnd;
335327 type ByteStart = Set<members::byte_start>;
328328+ type ByteEnd = St::ByteEnd;
329329+ }
330330+ ///State transition - sets the `byte_end` field to Set
331331+ pub struct SetByteEnd<St: State = Empty>(PhantomData<fn() -> St>);
332332+ impl<St: State> sealed::Sealed for SetByteEnd<St> {}
333333+ impl<St: State> State for SetByteEnd<St> {
334334+ type ByteStart = St::ByteStart;
335335+ type ByteEnd = Set<members::byte_end>;
336336 }
337337 /// Marker types for field names
338338 #[allow(non_camel_case_types)]
339339 pub mod members {
340340- ///Marker type for the `byte_end` field
341341- pub struct byte_end(());
342340 ///Marker type for the `byte_start` field
343341 pub struct byte_start(());
342342+ ///Marker type for the `byte_end` field
343343+ pub struct byte_end(());
344344 }
345345}
346346···410410impl<S: jacquard_common::BosStr, St> ByteSliceBuilder<S, St>
411411where
412412 St: byte_slice_state::State,
413413- St::ByteEnd: byte_slice_state::IsSet,
414413 St::ByteStart: byte_slice_state::IsSet,
414414+ St::ByteEnd: byte_slice_state::IsSet,
415415{
416416 /// Build the final struct.
417417 pub fn build(self) -> ByteSlice<S> {
···746746 }
747747 /// State trait tracking which required fields have been set
748748 pub trait State: sealed::Sealed {
749749- type Features;
750749 type Index;
750750+ type Features;
751751 }
752752 /// Empty state - all required fields are unset
753753 pub struct Empty(());
754754 impl sealed::Sealed for Empty {}
755755 impl State for Empty {
756756- type Features = Unset;
757756 type Index = Unset;
758758- }
759759- ///State transition - sets the `features` field to Set
760760- pub struct SetFeatures<St: State = Empty>(PhantomData<fn() -> St>);
761761- impl<St: State> sealed::Sealed for SetFeatures<St> {}
762762- impl<St: State> State for SetFeatures<St> {
763763- type Features = Set<members::features>;
764764- type Index = St::Index;
757757+ type Features = Unset;
765758 }
766759 ///State transition - sets the `index` field to Set
767760 pub struct SetIndex<St: State = Empty>(PhantomData<fn() -> St>);
768761 impl<St: State> sealed::Sealed for SetIndex<St> {}
769762 impl<St: State> State for SetIndex<St> {
770770- type Features = St::Features;
771763 type Index = Set<members::index>;
764764+ type Features = St::Features;
765765+ }
766766+ ///State transition - sets the `features` field to Set
767767+ pub struct SetFeatures<St: State = Empty>(PhantomData<fn() -> St>);
768768+ impl<St: State> sealed::Sealed for SetFeatures<St> {}
769769+ impl<St: State> State for SetFeatures<St> {
770770+ type Index = St::Index;
771771+ type Features = Set<members::features>;
772772 }
773773 /// Marker types for field names
774774 #[allow(non_camel_case_types)]
775775 pub mod members {
776776- ///Marker type for the `features` field
777777- pub struct features(());
778776 ///Marker type for the `index` field
779777 pub struct index(());
778778+ ///Marker type for the `features` field
779779+ pub struct features(());
780780 }
781781}
782782···849849impl<S: jacquard_common::BosStr, St> FacetBuilder<S, St>
850850where
851851 St: facet_state::State,
852852- St::Features: facet_state::IsSet,
853852 St::Index: facet_state::IsSet,
853853+ St::Features: facet_state::IsSet,
854854{
855855 /// Build the final struct.
856856 pub fn build(self) -> Facet<S> {
···797797 }
798798 /// State trait tracking which required fields have been set
799799 pub trait State: sealed::Sealed {
800800+ type Val;
800801 type Cts;
801802 type Uri;
802803 type Src;
803803- type Val;
804804 }
805805 /// Empty state - all required fields are unset
806806 pub struct Empty(());
807807 impl sealed::Sealed for Empty {}
808808 impl State for Empty {
809809+ type Val = Unset;
809810 type Cts = Unset;
810811 type Uri = Unset;
811812 type Src = Unset;
812812- type Val = Unset;
813813+ }
814814+ ///State transition - sets the `val` field to Set
815815+ pub struct SetVal<St: State = Empty>(PhantomData<fn() -> St>);
816816+ impl<St: State> sealed::Sealed for SetVal<St> {}
817817+ impl<St: State> State for SetVal<St> {
818818+ type Val = Set<members::val>;
819819+ type Cts = St::Cts;
820820+ type Uri = St::Uri;
821821+ type Src = St::Src;
813822 }
814823 ///State transition - sets the `cts` field to Set
815824 pub struct SetCts<St: State = Empty>(PhantomData<fn() -> St>);
816825 impl<St: State> sealed::Sealed for SetCts<St> {}
817826 impl<St: State> State for SetCts<St> {
827827+ type Val = St::Val;
818828 type Cts = Set<members::cts>;
819829 type Uri = St::Uri;
820830 type Src = St::Src;
821821- type Val = St::Val;
822831 }
823832 ///State transition - sets the `uri` field to Set
824833 pub struct SetUri<St: State = Empty>(PhantomData<fn() -> St>);
825834 impl<St: State> sealed::Sealed for SetUri<St> {}
826835 impl<St: State> State for SetUri<St> {
836836+ type Val = St::Val;
827837 type Cts = St::Cts;
828838 type Uri = Set<members::uri>;
829839 type Src = St::Src;
830830- type Val = St::Val;
831840 }
832841 ///State transition - sets the `src` field to Set
833842 pub struct SetSrc<St: State = Empty>(PhantomData<fn() -> St>);
834843 impl<St: State> sealed::Sealed for SetSrc<St> {}
835844 impl<St: State> State for SetSrc<St> {
836836- type Cts = St::Cts;
837837- type Uri = St::Uri;
838838- type Src = Set<members::src>;
839845 type Val = St::Val;
840840- }
841841- ///State transition - sets the `val` field to Set
842842- pub struct SetVal<St: State = Empty>(PhantomData<fn() -> St>);
843843- impl<St: State> sealed::Sealed for SetVal<St> {}
844844- impl<St: State> State for SetVal<St> {
845846 type Cts = St::Cts;
846847 type Uri = St::Uri;
847847- type Src = St::Src;
848848- type Val = Set<members::val>;
848848+ type Src = Set<members::src>;
849849 }
850850 /// Marker types for field names
851851 #[allow(non_camel_case_types)]
852852 pub mod members {
853853+ ///Marker type for the `val` field
854854+ pub struct val(());
853855 ///Marker type for the `cts` field
854856 pub struct cts(());
855857 ///Marker type for the `uri` field
856858 pub struct uri(());
857859 ///Marker type for the `src` field
858860 pub struct src(());
859859- ///Marker type for the `val` field
860860- pub struct val(());
861861 }
862862}
863863···10581058impl<S: jacquard_common::BosStr, St> LabelBuilder<S, St>
10591059where
10601060 St: label_state::State,
10611061+ St::Val: label_state::IsSet,
10611062 St::Cts: label_state::IsSet,
10621063 St::Uri: label_state::IsSet,
10631064 St::Src: label_state::IsSet,
10641064- St::Val: label_state::IsSet,
10651065{
10661066 /// Build the final struct.
10671067 pub fn build(self) -> Label<S> {
···15151515 }
15161516 /// State trait tracking which required fields have been set
15171517 pub trait State: sealed::Sealed {
15181518+ type Identifier;
15191519+ type Blurs;
15181520 type Locales;
15191521 type Severity;
15201520- type Blurs;
15211521- type Identifier;
15221522 }
15231523 /// Empty state - all required fields are unset
15241524 pub struct Empty(());
15251525 impl sealed::Sealed for Empty {}
15261526 impl State for Empty {
15271527+ type Identifier = Unset;
15281528+ type Blurs = Unset;
15271529 type Locales = Unset;
15281530 type Severity = Unset;
15291529- type Blurs = Unset;
15301530- type Identifier = Unset;
15311531+ }
15321532+ ///State transition - sets the `identifier` field to Set
15331533+ pub struct SetIdentifier<St: State = Empty>(PhantomData<fn() -> St>);
15341534+ impl<St: State> sealed::Sealed for SetIdentifier<St> {}
15351535+ impl<St: State> State for SetIdentifier<St> {
15361536+ type Identifier = Set<members::identifier>;
15371537+ type Blurs = St::Blurs;
15381538+ type Locales = St::Locales;
15391539+ type Severity = St::Severity;
15401540+ }
15411541+ ///State transition - sets the `blurs` field to Set
15421542+ pub struct SetBlurs<St: State = Empty>(PhantomData<fn() -> St>);
15431543+ impl<St: State> sealed::Sealed for SetBlurs<St> {}
15441544+ impl<St: State> State for SetBlurs<St> {
15451545+ type Identifier = St::Identifier;
15461546+ type Blurs = Set<members::blurs>;
15471547+ type Locales = St::Locales;
15481548+ type Severity = St::Severity;
15311549 }
15321550 ///State transition - sets the `locales` field to Set
15331551 pub struct SetLocales<St: State = Empty>(PhantomData<fn() -> St>);
15341552 impl<St: State> sealed::Sealed for SetLocales<St> {}
15351553 impl<St: State> State for SetLocales<St> {
15541554+ type Identifier = St::Identifier;
15551555+ type Blurs = St::Blurs;
15361556 type Locales = Set<members::locales>;
15371557 type Severity = St::Severity;
15381538- type Blurs = St::Blurs;
15391539- type Identifier = St::Identifier;
15401558 }
15411559 ///State transition - sets the `severity` field to Set
15421560 pub struct SetSeverity<St: State = Empty>(PhantomData<fn() -> St>);
15431561 impl<St: State> sealed::Sealed for SetSeverity<St> {}
15441562 impl<St: State> State for SetSeverity<St> {
15451545- type Locales = St::Locales;
15461546- type Severity = Set<members::severity>;
15471547- type Blurs = St::Blurs;
15481563 type Identifier = St::Identifier;
15491549- }
15501550- ///State transition - sets the `blurs` field to Set
15511551- pub struct SetBlurs<St: State = Empty>(PhantomData<fn() -> St>);
15521552- impl<St: State> sealed::Sealed for SetBlurs<St> {}
15531553- impl<St: State> State for SetBlurs<St> {
15541554- type Locales = St::Locales;
15551555- type Severity = St::Severity;
15561556- type Blurs = Set<members::blurs>;
15571557- type Identifier = St::Identifier;
15581558- }
15591559- ///State transition - sets the `identifier` field to Set
15601560- pub struct SetIdentifier<St: State = Empty>(PhantomData<fn() -> St>);
15611561- impl<St: State> sealed::Sealed for SetIdentifier<St> {}
15621562- impl<St: State> State for SetIdentifier<St> {
15631563- type Locales = St::Locales;
15641564- type Severity = St::Severity;
15651564 type Blurs = St::Blurs;
15661566- type Identifier = Set<members::identifier>;
15651565+ type Locales = St::Locales;
15661566+ type Severity = Set<members::severity>;
15671567 }
15681568 /// Marker types for field names
15691569 #[allow(non_camel_case_types)]
15701570 pub mod members {
15711571+ ///Marker type for the `identifier` field
15721572+ pub struct identifier(());
15731573+ ///Marker type for the `blurs` field
15741574+ pub struct blurs(());
15711575 ///Marker type for the `locales` field
15721576 pub struct locales(());
15731577 ///Marker type for the `severity` field
15741578 pub struct severity(());
15751575- ///Marker type for the `blurs` field
15761576- pub struct blurs(());
15771577- ///Marker type for the `identifier` field
15781578- pub struct identifier(());
15791579 }
15801580}
15811581···17401740impl<S: jacquard_common::BosStr, St> LabelValueDefinitionBuilder<S, St>
17411741where
17421742 St: label_value_definition_state::State,
17431743+ St::Identifier: label_value_definition_state::IsSet,
17441744+ St::Blurs: label_value_definition_state::IsSet,
17431745 St::Locales: label_value_definition_state::IsSet,
17441746 St::Severity: label_value_definition_state::IsSet,
17451745- St::Blurs: label_value_definition_state::IsSet,
17461746- St::Identifier: label_value_definition_state::IsSet,
17471747{
17481748 /// Build the final struct.
17491749 pub fn build(self) -> LabelValueDefinition<S> {
···17871787 }
17881788 /// State trait tracking which required fields have been set
17891789 pub trait State: sealed::Sealed {
17901790- type Lang;
17911790 type Name;
17911791+ type Lang;
17921792 type Description;
17931793 }
17941794 /// Empty state - all required fields are unset
17951795 pub struct Empty(());
17961796 impl sealed::Sealed for Empty {}
17971797 impl State for Empty {
17981798- type Lang = Unset;
17991798 type Name = Unset;
17991799+ type Lang = Unset;
18001800 type Description = Unset;
18011801 }
18021802- ///State transition - sets the `lang` field to Set
18031803- pub struct SetLang<St: State = Empty>(PhantomData<fn() -> St>);
18041804- impl<St: State> sealed::Sealed for SetLang<St> {}
18051805- impl<St: State> State for SetLang<St> {
18061806- type Lang = Set<members::lang>;
18071807- type Name = St::Name;
18081808- type Description = St::Description;
18091809- }
18101802 ///State transition - sets the `name` field to Set
18111803 pub struct SetName<St: State = Empty>(PhantomData<fn() -> St>);
18121804 impl<St: State> sealed::Sealed for SetName<St> {}
18131805 impl<St: State> State for SetName<St> {
18141814- type Lang = St::Lang;
18151806 type Name = Set<members::name>;
18071807+ type Lang = St::Lang;
18081808+ type Description = St::Description;
18091809+ }
18101810+ ///State transition - sets the `lang` field to Set
18111811+ pub struct SetLang<St: State = Empty>(PhantomData<fn() -> St>);
18121812+ impl<St: State> sealed::Sealed for SetLang<St> {}
18131813+ impl<St: State> State for SetLang<St> {
18141814+ type Name = St::Name;
18151815+ type Lang = Set<members::lang>;
18161816 type Description = St::Description;
18171817 }
18181818 ///State transition - sets the `description` field to Set
18191819 pub struct SetDescription<St: State = Empty>(PhantomData<fn() -> St>);
18201820 impl<St: State> sealed::Sealed for SetDescription<St> {}
18211821 impl<St: State> State for SetDescription<St> {
18221822- type Lang = St::Lang;
18231822 type Name = St::Name;
18231823+ type Lang = St::Lang;
18241824 type Description = Set<members::description>;
18251825 }
18261826 /// Marker types for field names
18271827 #[allow(non_camel_case_types)]
18281828 pub mod members {
18291829+ ///Marker type for the `name` field
18301830+ pub struct name(());
18291831 ///Marker type for the `lang` field
18301832 pub struct lang(());
18311831- ///Marker type for the `name` field
18321832- pub struct name(());
18331833 ///Marker type for the `description` field
18341834 pub struct description(());
18351835 }
···19411941impl<S: jacquard_common::BosStr, St> LabelValueDefinitionStringsBuilder<S, St>
19421942where
19431943 St: label_value_definition_strings_state::State,
19441944- St::Lang: label_value_definition_strings_state::IsSet,
19451944 St::Name: label_value_definition_strings_state::IsSet,
19451945+ St::Lang: label_value_definition_strings_state::IsSet,
19461946 St::Description: label_value_definition_strings_state::IsSet,
19471947{
19481948 /// Build the final struct.
···335335 }
336336 /// State trait tracking which required fields have been set
337337 pub trait State: sealed::Sealed {
338338- type LocalFoo;
339338 type ExternalFoo;
339339+ type LocalFoo;
340340 }
341341 /// Empty state - all required fields are unset
342342 pub struct Empty(());
343343 impl sealed::Sealed for Empty {}
344344 impl State for Empty {
345345- type LocalFoo = Unset;
346345 type ExternalFoo = Unset;
347347- }
348348- ///State transition - sets the `local_foo` field to Set
349349- pub struct SetLocalFoo<St: State = Empty>(PhantomData<fn() -> St>);
350350- impl<St: State> sealed::Sealed for SetLocalFoo<St> {}
351351- impl<St: State> State for SetLocalFoo<St> {
352352- type LocalFoo = Set<members::local_foo>;
353353- type ExternalFoo = St::ExternalFoo;
346346+ type LocalFoo = Unset;
354347 }
355348 ///State transition - sets the `external_foo` field to Set
356349 pub struct SetExternalFoo<St: State = Empty>(PhantomData<fn() -> St>);
357350 impl<St: State> sealed::Sealed for SetExternalFoo<St> {}
358351 impl<St: State> State for SetExternalFoo<St> {
359359- type LocalFoo = St::LocalFoo;
360352 type ExternalFoo = Set<members::external_foo>;
353353+ type LocalFoo = St::LocalFoo;
354354+ }
355355+ ///State transition - sets the `local_foo` field to Set
356356+ pub struct SetLocalFoo<St: State = Empty>(PhantomData<fn() -> St>);
357357+ impl<St: State> sealed::Sealed for SetLocalFoo<St> {}
358358+ impl<St: State> State for SetLocalFoo<St> {
359359+ type ExternalFoo = St::ExternalFoo;
360360+ type LocalFoo = Set<members::local_foo>;
361361 }
362362 /// Marker types for field names
363363 #[allow(non_camel_case_types)]
364364 pub mod members {
365365- ///Marker type for the `local_foo` field
366366- pub struct local_foo(());
367365 ///Marker type for the `external_foo` field
368366 pub struct external_foo(());
367367+ ///Marker type for the `local_foo` field
368368+ pub struct local_foo(());
369369 }
370370}
371371···452452impl<S: jacquard_common::BosStr, St> CollisionBuilder<S, St>
453453where
454454 St: collision_state::State,
455455- St::LocalFoo: collision_state::IsSet,
456455 St::ExternalFoo: collision_state::IsSet,
456456+ St::LocalFoo: collision_state::IsSet,
457457{
458458 /// Build the final struct.
459459 pub fn build(self) -> Collision<S> {
···179179 }
180180 /// State trait tracking which required fields have been set
181181 pub trait State: sealed::Sealed {
182182+ type Uri;
182183 type Title;
183184 type Description;
184184- type Uri;
185185 }
186186 /// Empty state - all required fields are unset
187187 pub struct Empty(());
188188 impl sealed::Sealed for Empty {}
189189 impl State for Empty {
190190+ type Uri = Unset;
190191 type Title = Unset;
191192 type Description = Unset;
192192- type Uri = Unset;
193193+ }
194194+ ///State transition - sets the `uri` field to Set
195195+ pub struct SetUri<St: State = Empty>(PhantomData<fn() -> St>);
196196+ impl<St: State> sealed::Sealed for SetUri<St> {}
197197+ impl<St: State> State for SetUri<St> {
198198+ type Uri = Set<members::uri>;
199199+ type Title = St::Title;
200200+ type Description = St::Description;
193201 }
194202 ///State transition - sets the `title` field to Set
195203 pub struct SetTitle<St: State = Empty>(PhantomData<fn() -> St>);
196204 impl<St: State> sealed::Sealed for SetTitle<St> {}
197205 impl<St: State> State for SetTitle<St> {
206206+ type Uri = St::Uri;
198207 type Title = Set<members::title>;
199208 type Description = St::Description;
200200- type Uri = St::Uri;
201209 }
202210 ///State transition - sets the `description` field to Set
203211 pub struct SetDescription<St: State = Empty>(PhantomData<fn() -> St>);
204212 impl<St: State> sealed::Sealed for SetDescription<St> {}
205213 impl<St: State> State for SetDescription<St> {
206206- type Title = St::Title;
207207- type Description = Set<members::description>;
208214 type Uri = St::Uri;
209209- }
210210- ///State transition - sets the `uri` field to Set
211211- pub struct SetUri<St: State = Empty>(PhantomData<fn() -> St>);
212212- impl<St: State> sealed::Sealed for SetUri<St> {}
213213- impl<St: State> State for SetUri<St> {
214215 type Title = St::Title;
215215- type Description = St::Description;
216216- type Uri = Set<members::uri>;
216216+ type Description = Set<members::description>;
217217 }
218218 /// Marker types for field names
219219 #[allow(non_camel_case_types)]
220220 pub mod members {
221221+ ///Marker type for the `uri` field
222222+ pub struct uri(());
221223 ///Marker type for the `title` field
222224 pub struct title(());
223225 ///Marker type for the `description` field
224226 pub struct description(());
225225- ///Marker type for the `uri` field
226226- pub struct uri(());
227227 }
228228}
229229···325325impl<S: BosStr, St> ExternalBuilder<S, St>
326326where
327327 St: external_state::State,
328328+ St::Uri: external_state::IsSet,
328329 St::Title: external_state::IsSet,
329330 St::Description: external_state::IsSet,
330330- St::Uri: external_state::IsSet,
331331{
332332 /// Build the final struct.
333333 pub fn build(self) -> External<S> {
···692692 }
693693 /// State trait tracking which required fields have been set
694694 pub trait State: sealed::Sealed {
695695- type Uri;
696695 type Title;
697696 type Description;
697697+ type Uri;
698698 }
699699 /// Empty state - all required fields are unset
700700 pub struct Empty(());
701701 impl sealed::Sealed for Empty {}
702702 impl State for Empty {
703703- type Uri = Unset;
704703 type Title = Unset;
705704 type Description = Unset;
706706- }
707707- ///State transition - sets the `uri` field to Set
708708- pub struct SetUri<St: State = Empty>(PhantomData<fn() -> St>);
709709- impl<St: State> sealed::Sealed for SetUri<St> {}
710710- impl<St: State> State for SetUri<St> {
711711- type Uri = Set<members::uri>;
712712- type Title = St::Title;
713713- type Description = St::Description;
705705+ type Uri = Unset;
714706 }
715707 ///State transition - sets the `title` field to Set
716708 pub struct SetTitle<St: State = Empty>(PhantomData<fn() -> St>);
717709 impl<St: State> sealed::Sealed for SetTitle<St> {}
718710 impl<St: State> State for SetTitle<St> {
719719- type Uri = St::Uri;
720711 type Title = Set<members::title>;
721712 type Description = St::Description;
713713+ type Uri = St::Uri;
722714 }
723715 ///State transition - sets the `description` field to Set
724716 pub struct SetDescription<St: State = Empty>(PhantomData<fn() -> St>);
725717 impl<St: State> sealed::Sealed for SetDescription<St> {}
726718 impl<St: State> State for SetDescription<St> {
727727- type Uri = St::Uri;
728719 type Title = St::Title;
729720 type Description = Set<members::description>;
721721+ type Uri = St::Uri;
722722+ }
723723+ ///State transition - sets the `uri` field to Set
724724+ pub struct SetUri<St: State = Empty>(PhantomData<fn() -> St>);
725725+ impl<St: State> sealed::Sealed for SetUri<St> {}
726726+ impl<St: State> State for SetUri<St> {
727727+ type Title = St::Title;
728728+ type Description = St::Description;
729729+ type Uri = Set<members::uri>;
730730 }
731731 /// Marker types for field names
732732 #[allow(non_camel_case_types)]
733733 pub mod members {
734734- ///Marker type for the `uri` field
735735- pub struct uri(());
736734 ///Marker type for the `title` field
737735 pub struct title(());
738736 ///Marker type for the `description` field
739737 pub struct description(());
738738+ ///Marker type for the `uri` field
739739+ pub struct uri(());
740740 }
741741}
742742···838838impl<S: BosStr, St> ViewExternalBuilder<S, St>
839839where
840840 St: view_external_state::State,
841841- St::Uri: view_external_state::IsSet,
842841 St::Title: view_external_state::IsSet,
843842 St::Description: view_external_state::IsSet,
843843+ St::Uri: view_external_state::IsSet,
844844{
845845 /// Build the final struct.
846846 pub fn build(self) -> ViewExternal<S> {
···616616 }
617617 /// State trait tracking which required fields have been set
618618 pub trait State: sealed::Sealed {
619619- type Index;
620619 type Features;
620620+ type Index;
621621 }
622622 /// Empty state - all required fields are unset
623623 pub struct Empty(());
624624 impl sealed::Sealed for Empty {}
625625 impl State for Empty {
626626- type Index = Unset;
627626 type Features = Unset;
628628- }
629629- ///State transition - sets the `index` field to Set
630630- pub struct SetIndex<St: State = Empty>(PhantomData<fn() -> St>);
631631- impl<St: State> sealed::Sealed for SetIndex<St> {}
632632- impl<St: State> State for SetIndex<St> {
633633- type Index = Set<members::index>;
634634- type Features = St::Features;
627627+ type Index = Unset;
635628 }
636629 ///State transition - sets the `features` field to Set
637630 pub struct SetFeatures<St: State = Empty>(PhantomData<fn() -> St>);
638631 impl<St: State> sealed::Sealed for SetFeatures<St> {}
639632 impl<St: State> State for SetFeatures<St> {
640640- type Index = St::Index;
641633 type Features = Set<members::features>;
634634+ type Index = St::Index;
635635+ }
636636+ ///State transition - sets the `index` field to Set
637637+ pub struct SetIndex<St: State = Empty>(PhantomData<fn() -> St>);
638638+ impl<St: State> sealed::Sealed for SetIndex<St> {}
639639+ impl<St: State> State for SetIndex<St> {
640640+ type Features = St::Features;
641641+ type Index = Set<members::index>;
642642 }
643643 /// Marker types for field names
644644 #[allow(non_camel_case_types)]
645645 pub mod members {
646646- ///Marker type for the `index` field
647647- pub struct index(());
648646 ///Marker type for the `features` field
649647 pub struct features(());
648648+ ///Marker type for the `index` field
649649+ pub struct index(());
650650 }
651651}
652652···716716impl<S: BosStr, St> FacetBuilder<S, St>
717717where
718718 St: facet_state::State,
719719- St::Index: facet_state::IsSet,
720719 St::Features: facet_state::IsSet,
720720+ St::Index: facet_state::IsSet,
721721{
722722 /// Build the final struct.
723723 pub fn build(self) -> Facet<S> {
···680680 /// State trait tracking which required fields have been set
681681 pub trait State: sealed::Sealed {
682682 type Src;
683683- type Cts;
684684- type Uri;
685683 type Val;
684684+ type Uri;
685685+ type Cts;
686686 }
687687 /// Empty state - all required fields are unset
688688 pub struct Empty(());
689689 impl sealed::Sealed for Empty {}
690690 impl State for Empty {
691691 type Src = Unset;
692692- type Cts = Unset;
693693- type Uri = Unset;
694692 type Val = Unset;
693693+ type Uri = Unset;
694694+ type Cts = Unset;
695695 }
696696 ///State transition - sets the `src` field to Set
697697 pub struct SetSrc<St: State = Empty>(PhantomData<fn() -> St>);
698698 impl<St: State> sealed::Sealed for SetSrc<St> {}
699699 impl<St: State> State for SetSrc<St> {
700700 type Src = Set<members::src>;
701701- type Cts = St::Cts;
702702- type Uri = St::Uri;
703701 type Val = St::Val;
702702+ type Uri = St::Uri;
703703+ type Cts = St::Cts;
704704 }
705705- ///State transition - sets the `cts` field to Set
706706- pub struct SetCts<St: State = Empty>(PhantomData<fn() -> St>);
707707- impl<St: State> sealed::Sealed for SetCts<St> {}
708708- impl<St: State> State for SetCts<St> {
705705+ ///State transition - sets the `val` field to Set
706706+ pub struct SetVal<St: State = Empty>(PhantomData<fn() -> St>);
707707+ impl<St: State> sealed::Sealed for SetVal<St> {}
708708+ impl<St: State> State for SetVal<St> {
709709 type Src = St::Src;
710710- type Cts = Set<members::cts>;
710710+ type Val = Set<members::val>;
711711 type Uri = St::Uri;
712712- type Val = St::Val;
712712+ type Cts = St::Cts;
713713 }
714714 ///State transition - sets the `uri` field to Set
715715 pub struct SetUri<St: State = Empty>(PhantomData<fn() -> St>);
716716 impl<St: State> sealed::Sealed for SetUri<St> {}
717717 impl<St: State> State for SetUri<St> {
718718 type Src = St::Src;
719719- type Cts = St::Cts;
719719+ type Val = St::Val;
720720 type Uri = Set<members::uri>;
721721- type Val = St::Val;
721721+ type Cts = St::Cts;
722722 }
723723- ///State transition - sets the `val` field to Set
724724- pub struct SetVal<St: State = Empty>(PhantomData<fn() -> St>);
725725- impl<St: State> sealed::Sealed for SetVal<St> {}
726726- impl<St: State> State for SetVal<St> {
723723+ ///State transition - sets the `cts` field to Set
724724+ pub struct SetCts<St: State = Empty>(PhantomData<fn() -> St>);
725725+ impl<St: State> sealed::Sealed for SetCts<St> {}
726726+ impl<St: State> State for SetCts<St> {
727727 type Src = St::Src;
728728- type Cts = St::Cts;
728728+ type Val = St::Val;
729729 type Uri = St::Uri;
730730- type Val = Set<members::val>;
730730+ type Cts = Set<members::cts>;
731731 }
732732 /// Marker types for field names
733733 #[allow(non_camel_case_types)]
734734 pub mod members {
735735 ///Marker type for the `src` field
736736 pub struct src(());
737737- ///Marker type for the `cts` field
738738- pub struct cts(());
739739- ///Marker type for the `uri` field
740740- pub struct uri(());
741737 ///Marker type for the `val` field
742738 pub struct val(());
739739+ ///Marker type for the `uri` field
740740+ pub struct uri(());
741741+ ///Marker type for the `cts` field
742742+ pub struct cts(());
743743 }
744744}
745745···923923where
924924 St: label_state::State,
925925 St::Src: label_state::IsSet,
926926- St::Cts: label_state::IsSet,
927927- St::Uri: label_state::IsSet,
928926 St::Val: label_state::IsSet,
927927+ St::Uri: label_state::IsSet,
928928+ St::Cts: label_state::IsSet,
929929{
930930 /// Build the final struct.
931931 pub fn build(self) -> Label<S> {
···12971297 }
12981298 /// State trait tracking which required fields have been set
12991299 pub trait State: sealed::Sealed {
13001300- type Identifier;
13001300+ type Blurs;
13011301 type Locales;
13021302 type Severity;
13031303- type Blurs;
13031303+ type Identifier;
13041304 }
13051305 /// Empty state - all required fields are unset
13061306 pub struct Empty(());
13071307 impl sealed::Sealed for Empty {}
13081308 impl State for Empty {
13091309- type Identifier = Unset;
13091309+ type Blurs = Unset;
13101310 type Locales = Unset;
13111311 type Severity = Unset;
13121312- type Blurs = Unset;
13121312+ type Identifier = Unset;
13131313 }
13141314- ///State transition - sets the `identifier` field to Set
13151315- pub struct SetIdentifier<St: State = Empty>(PhantomData<fn() -> St>);
13161316- impl<St: State> sealed::Sealed for SetIdentifier<St> {}
13171317- impl<St: State> State for SetIdentifier<St> {
13181318- type Identifier = Set<members::identifier>;
13141314+ ///State transition - sets the `blurs` field to Set
13151315+ pub struct SetBlurs<St: State = Empty>(PhantomData<fn() -> St>);
13161316+ impl<St: State> sealed::Sealed for SetBlurs<St> {}
13171317+ impl<St: State> State for SetBlurs<St> {
13181318+ type Blurs = Set<members::blurs>;
13191319 type Locales = St::Locales;
13201320 type Severity = St::Severity;
13211321- type Blurs = St::Blurs;
13211321+ type Identifier = St::Identifier;
13221322 }
13231323 ///State transition - sets the `locales` field to Set
13241324 pub struct SetLocales<St: State = Empty>(PhantomData<fn() -> St>);
13251325 impl<St: State> sealed::Sealed for SetLocales<St> {}
13261326 impl<St: State> State for SetLocales<St> {
13271327- type Identifier = St::Identifier;
13271327+ type Blurs = St::Blurs;
13281328 type Locales = Set<members::locales>;
13291329 type Severity = St::Severity;
13301330- type Blurs = St::Blurs;
13301330+ type Identifier = St::Identifier;
13311331 }
13321332 ///State transition - sets the `severity` field to Set
13331333 pub struct SetSeverity<St: State = Empty>(PhantomData<fn() -> St>);
13341334 impl<St: State> sealed::Sealed for SetSeverity<St> {}
13351335 impl<St: State> State for SetSeverity<St> {
13361336- type Identifier = St::Identifier;
13361336+ type Blurs = St::Blurs;
13371337 type Locales = St::Locales;
13381338 type Severity = Set<members::severity>;
13391339- type Blurs = St::Blurs;
13401340- }
13411341- ///State transition - sets the `blurs` field to Set
13421342- pub struct SetBlurs<St: State = Empty>(PhantomData<fn() -> St>);
13431343- impl<St: State> sealed::Sealed for SetBlurs<St> {}
13441344- impl<St: State> State for SetBlurs<St> {
13451339 type Identifier = St::Identifier;
13401340+ }
13411341+ ///State transition - sets the `identifier` field to Set
13421342+ pub struct SetIdentifier<St: State = Empty>(PhantomData<fn() -> St>);
13431343+ impl<St: State> sealed::Sealed for SetIdentifier<St> {}
13441344+ impl<St: State> State for SetIdentifier<St> {
13451345+ type Blurs = St::Blurs;
13461346 type Locales = St::Locales;
13471347 type Severity = St::Severity;
13481348- type Blurs = Set<members::blurs>;
13481348+ type Identifier = Set<members::identifier>;
13491349 }
13501350 /// Marker types for field names
13511351 #[allow(non_camel_case_types)]
13521352 pub mod members {
13531353- ///Marker type for the `identifier` field
13541354- pub struct identifier(());
13531353+ ///Marker type for the `blurs` field
13541354+ pub struct blurs(());
13551355 ///Marker type for the `locales` field
13561356 pub struct locales(());
13571357 ///Marker type for the `severity` field
13581358 pub struct severity(());
13591359- ///Marker type for the `blurs` field
13601360- pub struct blurs(());
13591359+ ///Marker type for the `identifier` field
13601360+ pub struct identifier(());
13611361 }
13621362}
13631363···15161516impl<S: BosStr, St> LabelValueDefinitionBuilder<S, St>
15171517where
15181518 St: label_value_definition_state::State,
15191519- St::Identifier: label_value_definition_state::IsSet,
15191519+ St::Blurs: label_value_definition_state::IsSet,
15201520 St::Locales: label_value_definition_state::IsSet,
15211521 St::Severity: label_value_definition_state::IsSet,
15221522- St::Blurs: label_value_definition_state::IsSet,
15221522+ St::Identifier: label_value_definition_state::IsSet,
15231523{
15241524 /// Build the final struct.
15251525 pub fn build(self) -> LabelValueDefinition<S> {
···15601560 }
15611561 /// State trait tracking which required fields have been set
15621562 pub trait State: sealed::Sealed {
15631563- type Description;
15641564- type Lang;
15651563 type Name;
15641564+ type Lang;
15651565+ type Description;
15661566 }
15671567 /// Empty state - all required fields are unset
15681568 pub struct Empty(());
15691569 impl sealed::Sealed for Empty {}
15701570 impl State for Empty {
15711571- type Description = Unset;
15711571+ type Name = Unset;
15721572 type Lang = Unset;
15731573- type Name = Unset;
15731573+ type Description = Unset;
15741574 }
15751575- ///State transition - sets the `description` field to Set
15761576- pub struct SetDescription<St: State = Empty>(PhantomData<fn() -> St>);
15771577- impl<St: State> sealed::Sealed for SetDescription<St> {}
15781578- impl<St: State> State for SetDescription<St> {
15791579- type Description = Set<members::description>;
15751575+ ///State transition - sets the `name` field to Set
15761576+ pub struct SetName<St: State = Empty>(PhantomData<fn() -> St>);
15771577+ impl<St: State> sealed::Sealed for SetName<St> {}
15781578+ impl<St: State> State for SetName<St> {
15791579+ type Name = Set<members::name>;
15801580 type Lang = St::Lang;
15811581- type Name = St::Name;
15811581+ type Description = St::Description;
15821582 }
15831583 ///State transition - sets the `lang` field to Set
15841584 pub struct SetLang<St: State = Empty>(PhantomData<fn() -> St>);
15851585 impl<St: State> sealed::Sealed for SetLang<St> {}
15861586 impl<St: State> State for SetLang<St> {
15871587- type Description = St::Description;
15881588- type Lang = Set<members::lang>;
15891587 type Name = St::Name;
15901590- }
15911591- ///State transition - sets the `name` field to Set
15921592- pub struct SetName<St: State = Empty>(PhantomData<fn() -> St>);
15931593- impl<St: State> sealed::Sealed for SetName<St> {}
15941594- impl<St: State> State for SetName<St> {
15881588+ type Lang = Set<members::lang>;
15951589 type Description = St::Description;
15901590+ }
15911591+ ///State transition - sets the `description` field to Set
15921592+ pub struct SetDescription<St: State = Empty>(PhantomData<fn() -> St>);
15931593+ impl<St: State> sealed::Sealed for SetDescription<St> {}
15941594+ impl<St: State> State for SetDescription<St> {
15951595+ type Name = St::Name;
15961596 type Lang = St::Lang;
15971597- type Name = Set<members::name>;
15971597+ type Description = Set<members::description>;
15981598 }
15991599 /// Marker types for field names
16001600 #[allow(non_camel_case_types)]
16011601 pub mod members {
16021602- ///Marker type for the `description` field
16031603- pub struct description(());
16041604- ///Marker type for the `lang` field
16051605- pub struct lang(());
16061602 ///Marker type for the `name` field
16071603 pub struct name(());
16041604+ ///Marker type for the `lang` field
16051605+ pub struct lang(());
16061606+ ///Marker type for the `description` field
16071607+ pub struct description(());
16081608 }
16091609}
16101610···17101710impl<S: BosStr, St> LabelValueDefinitionStringsBuilder<S, St>
17111711where
17121712 St: label_value_definition_strings_state::State,
17131713- St::Description: label_value_definition_strings_state::IsSet,
17141714- St::Lang: label_value_definition_strings_state::IsSet,
17151713 St::Name: label_value_definition_strings_state::IsSet,
17141714+ St::Lang: label_value_definition_strings_state::IsSet,
17151715+ St::Description: label_value_definition_strings_state::IsSet,
17161716{
17171717 /// Build the final struct.
17181718 pub fn build(self) -> LabelValueDefinitionStrings<S> {
···5959 }
6060 /// State trait tracking which required fields have been set
6161 pub trait State: sealed::Sealed {
6262- type Uri;
6362 type Cid;
6363+ type Uri;
6464 }
6565 /// Empty state - all required fields are unset
6666 pub struct Empty(());
6767 impl sealed::Sealed for Empty {}
6868 impl State for Empty {
6969- type Uri = Unset;
7069 type Cid = Unset;
7171- }
7272- ///State transition - sets the `uri` field to Set
7373- pub struct SetUri<St: State = Empty>(PhantomData<fn() -> St>);
7474- impl<St: State> sealed::Sealed for SetUri<St> {}
7575- impl<St: State> State for SetUri<St> {
7676- type Uri = Set<members::uri>;
7777- type Cid = St::Cid;
7070+ type Uri = Unset;
7871 }
7972 ///State transition - sets the `cid` field to Set
8073 pub struct SetCid<St: State = Empty>(PhantomData<fn() -> St>);
8174 impl<St: State> sealed::Sealed for SetCid<St> {}
8275 impl<St: State> State for SetCid<St> {
8383- type Uri = St::Uri;
8476 type Cid = Set<members::cid>;
7777+ type Uri = St::Uri;
7878+ }
7979+ ///State transition - sets the `uri` field to Set
8080+ pub struct SetUri<St: State = Empty>(PhantomData<fn() -> St>);
8181+ impl<St: State> sealed::Sealed for SetUri<St> {}
8282+ impl<St: State> State for SetUri<St> {
8383+ type Cid = St::Cid;
8484+ type Uri = Set<members::uri>;
8585 }
8686 /// Marker types for field names
8787 #[allow(non_camel_case_types)]
8888 pub mod members {
8989- ///Marker type for the `uri` field
9090- pub struct uri(());
9189 ///Marker type for the `cid` field
9290 pub struct cid(());
9191+ ///Marker type for the `uri` field
9292+ pub struct uri(());
9393 }
9494}
9595···159159impl<S: BosStr, St> StrongRefBuilder<S, St>
160160where
161161 St: strong_ref_state::State,
162162- St::Uri: strong_ref_state::IsSet,
163162 St::Cid: strong_ref_state::IsSet,
163163+ St::Uri: strong_ref_state::IsSet,
164164{
165165 /// Build the final struct.
166166 pub fn build(self) -> StrongRef<S> {
···298298 }
299299 /// State trait tracking which required fields have been set
300300 pub trait State: sealed::Sealed {
301301- type ExternalFoo;
302301 type LocalFoo;
302302+ type ExternalFoo;
303303 }
304304 /// Empty state - all required fields are unset
305305 pub struct Empty(());
306306 impl sealed::Sealed for Empty {}
307307 impl State for Empty {
308308- type ExternalFoo = Unset;
309308 type LocalFoo = Unset;
310310- }
311311- ///State transition - sets the `external_foo` field to Set
312312- pub struct SetExternalFoo<St: State = Empty>(PhantomData<fn() -> St>);
313313- impl<St: State> sealed::Sealed for SetExternalFoo<St> {}
314314- impl<St: State> State for SetExternalFoo<St> {
315315- type ExternalFoo = Set<members::external_foo>;
316316- type LocalFoo = St::LocalFoo;
309309+ type ExternalFoo = Unset;
317310 }
318311 ///State transition - sets the `local_foo` field to Set
319312 pub struct SetLocalFoo<St: State = Empty>(PhantomData<fn() -> St>);
320313 impl<St: State> sealed::Sealed for SetLocalFoo<St> {}
321314 impl<St: State> State for SetLocalFoo<St> {
322322- type ExternalFoo = St::ExternalFoo;
323315 type LocalFoo = Set<members::local_foo>;
316316+ type ExternalFoo = St::ExternalFoo;
317317+ }
318318+ ///State transition - sets the `external_foo` field to Set
319319+ pub struct SetExternalFoo<St: State = Empty>(PhantomData<fn() -> St>);
320320+ impl<St: State> sealed::Sealed for SetExternalFoo<St> {}
321321+ impl<St: State> State for SetExternalFoo<St> {
322322+ type LocalFoo = St::LocalFoo;
323323+ type ExternalFoo = Set<members::external_foo>;
324324 }
325325 /// Marker types for field names
326326 #[allow(non_camel_case_types)]
327327 pub mod members {
328328- ///Marker type for the `external_foo` field
329329- pub struct external_foo(());
330328 ///Marker type for the `local_foo` field
331329 pub struct local_foo(());
330330+ ///Marker type for the `external_foo` field
331331+ pub struct external_foo(());
332332 }
333333}
334334···411411impl<S: BosStr, St> CollisionBuilder<S, St>
412412where
413413 St: collision_state::State,
414414- St::ExternalFoo: collision_state::IsSet,
415414 St::LocalFoo: collision_state::IsSet,
415415+ St::ExternalFoo: collision_state::IsSet,
416416{
417417 /// Build the final struct.
418418 pub fn build(self) -> Collision<S> {
+1-2
crates/jacquard-identity/Cargo.toml
···4141tokio = { workspace = true, features = ["macros", "rt-multi-thread"] }
424243434444-[target.'cfg(target_arch = "wasm32")'.dependencies]
4545-mini-moka = { package = "mini-moka-wasm", version = "0.10",path = "../mini-moka-wasm", features = ["js"], optional = true }
4444+4645#ring = { version = "0.17", default-features = false, features = ["wasm32_unknown_unknown_js"]}
47464847[[example]]