···232232 }
233233 /// State trait tracking which required fields have been set
234234 pub trait State: sealed::Sealed {
235235- type Description;
236236- type Uri;
237235 type Title;
236236+ type Uri;
237237+ type Description;
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 Title = Unset;
244244+ type Uri = Unset;
243245 type Description = Unset;
244244- type Uri = Unset;
245245- type Title = Unset;
246246 }
247247- ///State transition - sets the `description` field to Set
248248- pub struct SetDescription<St: State = Empty>(PhantomData<fn() -> St>);
249249- impl<St: State> sealed::Sealed for SetDescription<St> {}
250250- impl<St: State> State for SetDescription<St> {
251251- type Description = Set<members::description>;
247247+ ///State transition - sets the `title` field to Set
248248+ pub struct SetTitle<St: State = Empty>(PhantomData<fn() -> St>);
249249+ impl<St: State> sealed::Sealed for SetTitle<St> {}
250250+ impl<St: State> State for SetTitle<St> {
251251+ type Title = Set<members::title>;
252252 type Uri = St::Uri;
253253- type Title = St::Title;
253253+ type Description = St::Description;
254254 }
255255 ///State transition - sets the `uri` field to Set
256256 pub struct SetUri<St: State = Empty>(PhantomData<fn() -> St>);
257257 impl<St: State> sealed::Sealed for SetUri<St> {}
258258 impl<St: State> State for SetUri<St> {
259259- type Description = St::Description;
260260- type Uri = Set<members::uri>;
261259 type Title = St::Title;
260260+ type Uri = Set<members::uri>;
261261+ type Description = St::Description;
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 Description = St::Description;
263263+ ///State transition - sets the `description` field to Set
264264+ pub struct SetDescription<St: State = Empty>(PhantomData<fn() -> St>);
265265+ impl<St: State> sealed::Sealed for SetDescription<St> {}
266266+ impl<St: State> State for SetDescription<St> {
267267+ type Title = St::Title;
268268 type Uri = St::Uri;
269269- type Title = Set<members::title>;
269269+ type Description = Set<members::description>;
270270 }
271271 /// Marker types for field names
272272 #[allow(non_camel_case_types)]
273273 pub mod members {
274274+ ///Marker type for the `title` field
275275+ pub struct title(());
276276+ ///Marker type for the `uri` field
277277+ pub struct uri(());
274278 ///Marker type for the `description` field
275279 pub struct description(());
276276- ///Marker type for the `uri` field
277277- pub struct uri(());
278278- ///Marker type for the `title` field
279279- pub struct title(());
280280 }
281281}
282282···410410impl<St, S: jacquard_common::BosStr> ExternalBuilder<St, S>
411411where
412412 St: external_state::State,
413413- St::Description: external_state::IsSet,
414414- St::Uri: external_state::IsSet,
415413 St::Title: external_state::IsSet,
414414+ St::Uri: external_state::IsSet,
415415+ St::Description: external_state::IsSet,
416416{
417417 /// Build the final struct.
418418 pub fn build(self) -> External<S> {
···889889 }
890890 /// State trait tracking which required fields have been set
891891 pub trait State: sealed::Sealed {
892892- type Description;
893892 type Uri;
894893 type Title;
894894+ type Description;
895895 }
896896 /// Empty state - all required fields are unset
897897 pub struct Empty(());
898898 impl sealed::Sealed for Empty {}
899899 impl State for Empty {
900900- type Description = Unset;
901900 type Uri = Unset;
902901 type Title = Unset;
903903- }
904904- ///State transition - sets the `description` field to Set
905905- pub struct SetDescription<St: State = Empty>(PhantomData<fn() -> St>);
906906- impl<St: State> sealed::Sealed for SetDescription<St> {}
907907- impl<St: State> State for SetDescription<St> {
908908- type Description = Set<members::description>;
909909- type Uri = St::Uri;
910910- type Title = St::Title;
902902+ type Description = Unset;
911903 }
912904 ///State transition - sets the `uri` field to Set
913905 pub struct SetUri<St: State = Empty>(PhantomData<fn() -> St>);
914906 impl<St: State> sealed::Sealed for SetUri<St> {}
915907 impl<St: State> State for SetUri<St> {
916916- type Description = St::Description;
917908 type Uri = Set<members::uri>;
918909 type Title = St::Title;
910910+ type Description = St::Description;
919911 }
920912 ///State transition - sets the `title` field to Set
921913 pub struct SetTitle<St: State = Empty>(PhantomData<fn() -> St>);
922914 impl<St: State> sealed::Sealed for SetTitle<St> {}
923915 impl<St: State> State for SetTitle<St> {
924924- type Description = St::Description;
925916 type Uri = St::Uri;
926917 type Title = Set<members::title>;
918918+ type Description = St::Description;
919919+ }
920920+ ///State transition - sets the `description` field to Set
921921+ pub struct SetDescription<St: State = Empty>(PhantomData<fn() -> St>);
922922+ impl<St: State> sealed::Sealed for SetDescription<St> {}
923923+ impl<St: State> State for SetDescription<St> {
924924+ type Uri = St::Uri;
925925+ type Title = St::Title;
926926+ type Description = Set<members::description>;
927927 }
928928 /// Marker types for field names
929929 #[allow(non_camel_case_types)]
930930 pub mod members {
931931- ///Marker type for the `description` field
932932- pub struct description(());
933931 ///Marker type for the `uri` field
934932 pub struct uri(());
935933 ///Marker type for the `title` field
936934 pub struct title(());
935935+ ///Marker type for the `description` field
936936+ pub struct description(());
937937 }
938938}
939939···10731073impl<St, S: jacquard_common::BosStr> ViewExternalBuilder<St, S>
10741074where
10751075 St: view_external_state::State,
10761076- St::Description: view_external_state::IsSet,
10771076 St::Uri: view_external_state::IsSet,
10781077 St::Title: view_external_state::IsSet,
10781078+ St::Description: view_external_state::IsSet,
10791079{
10801080 /// Build the final struct.
10811081 pub fn build(self) -> ViewExternal<S> {
···799799 pub trait State: sealed::Sealed {
800800 type Uri;
801801 type Src;
802802- type Cts;
803802 type Val;
803803+ type Cts;
804804 }
805805 /// Empty state - all required fields are unset
806806 pub struct Empty(());
···808808 impl State for Empty {
809809 type Uri = Unset;
810810 type Src = Unset;
811811- type Cts = Unset;
812811 type Val = Unset;
812812+ type Cts = Unset;
813813 }
814814 ///State transition - sets the `uri` field to Set
815815 pub struct SetUri<St: State = Empty>(PhantomData<fn() -> St>);
···817817 impl<St: State> State for SetUri<St> {
818818 type Uri = Set<members::uri>;
819819 type Src = St::Src;
820820- type Cts = St::Cts;
821820 type Val = St::Val;
821821+ type Cts = St::Cts;
822822 }
823823 ///State transition - sets the `src` field to Set
824824 pub struct SetSrc<St: State = Empty>(PhantomData<fn() -> St>);
···826826 impl<St: State> State for SetSrc<St> {
827827 type Uri = St::Uri;
828828 type Src = Set<members::src>;
829829- type Cts = St::Cts;
830830- type Val = St::Val;
831831- }
832832- ///State transition - sets the `cts` field to Set
833833- pub struct SetCts<St: State = Empty>(PhantomData<fn() -> St>);
834834- impl<St: State> sealed::Sealed for SetCts<St> {}
835835- impl<St: State> State for SetCts<St> {
836836- type Uri = St::Uri;
837837- type Src = St::Src;
838838- type Cts = Set<members::cts>;
839829 type Val = St::Val;
830830+ type Cts = St::Cts;
840831 }
841832 ///State transition - sets the `val` field to Set
842833 pub struct SetVal<St: State = Empty>(PhantomData<fn() -> St>);
···844835 impl<St: State> State for SetVal<St> {
845836 type Uri = St::Uri;
846837 type Src = St::Src;
847847- type Cts = St::Cts;
848838 type Val = Set<members::val>;
839839+ type Cts = St::Cts;
840840+ }
841841+ ///State transition - sets the `cts` field to Set
842842+ pub struct SetCts<St: State = Empty>(PhantomData<fn() -> St>);
843843+ impl<St: State> sealed::Sealed for SetCts<St> {}
844844+ impl<St: State> State for SetCts<St> {
845845+ type Uri = St::Uri;
846846+ type Src = St::Src;
847847+ type Val = St::Val;
848848+ type Cts = Set<members::cts>;
849849 }
850850 /// Marker types for field names
851851 #[allow(non_camel_case_types)]
···854854 pub struct uri(());
855855 ///Marker type for the `src` field
856856 pub struct src(());
857857+ ///Marker type for the `val` field
858858+ pub struct val(());
857859 ///Marker type for the `cts` field
858860 pub struct cts(());
859859- ///Marker type for the `val` field
860860- pub struct val(());
861861 }
862862}
863863···10811081 St: label_state::State,
10821082 St::Uri: label_state::IsSet,
10831083 St::Src: label_state::IsSet,
10841084- St::Cts: label_state::IsSet,
10851084 St::Val: label_state::IsSet,
10851085+ St::Cts: label_state::IsSet,
10861086{
10871087 /// Build the final struct.
10881088 pub fn build(self) -> Label<S> {
···15371537 /// State trait tracking which required fields have been set
15381538 pub trait State: sealed::Sealed {
15391539 type Locales;
15401540- type Severity;
15411541- type Identifier;
15421540 type Blurs;
15411541+ type Identifier;
15421542+ type Severity;
15431543 }
15441544 /// Empty state - all required fields are unset
15451545 pub struct Empty(());
15461546 impl sealed::Sealed for Empty {}
15471547 impl State for Empty {
15481548 type Locales = Unset;
15491549- type Severity = Unset;
15501550- type Identifier = Unset;
15511549 type Blurs = Unset;
15501550+ type Identifier = Unset;
15511551+ type Severity = Unset;
15521552 }
15531553 ///State transition - sets the `locales` field to Set
15541554 pub struct SetLocales<St: State = Empty>(PhantomData<fn() -> St>);
15551555 impl<St: State> sealed::Sealed for SetLocales<St> {}
15561556 impl<St: State> State for SetLocales<St> {
15571557 type Locales = Set<members::locales>;
15581558- type Severity = St::Severity;
15591559- type Identifier = St::Identifier;
15601558 type Blurs = St::Blurs;
15591559+ type Identifier = St::Identifier;
15601560+ type Severity = St::Severity;
15611561 }
15621562- ///State transition - sets the `severity` field to Set
15631563- pub struct SetSeverity<St: State = Empty>(PhantomData<fn() -> St>);
15641564- impl<St: State> sealed::Sealed for SetSeverity<St> {}
15651565- impl<St: State> State for SetSeverity<St> {
15621562+ ///State transition - sets the `blurs` field to Set
15631563+ pub struct SetBlurs<St: State = Empty>(PhantomData<fn() -> St>);
15641564+ impl<St: State> sealed::Sealed for SetBlurs<St> {}
15651565+ impl<St: State> State for SetBlurs<St> {
15661566 type Locales = St::Locales;
15671567- type Severity = Set<members::severity>;
15671567+ type Blurs = Set<members::blurs>;
15681568 type Identifier = St::Identifier;
15691569- type Blurs = St::Blurs;
15691569+ type Severity = St::Severity;
15701570 }
15711571 ///State transition - sets the `identifier` field to Set
15721572 pub struct SetIdentifier<St: State = Empty>(PhantomData<fn() -> St>);
15731573 impl<St: State> sealed::Sealed for SetIdentifier<St> {}
15741574 impl<St: State> State for SetIdentifier<St> {
15751575 type Locales = St::Locales;
15761576- type Severity = St::Severity;
15761576+ type Blurs = St::Blurs;
15771577 type Identifier = Set<members::identifier>;
15781578- type Blurs = St::Blurs;
15781578+ type Severity = St::Severity;
15791579 }
15801580- ///State transition - sets the `blurs` field to Set
15811581- pub struct SetBlurs<St: State = Empty>(PhantomData<fn() -> St>);
15821582- impl<St: State> sealed::Sealed for SetBlurs<St> {}
15831583- impl<St: State> State for SetBlurs<St> {
15801580+ ///State transition - sets the `severity` field to Set
15811581+ pub struct SetSeverity<St: State = Empty>(PhantomData<fn() -> St>);
15821582+ impl<St: State> sealed::Sealed for SetSeverity<St> {}
15831583+ impl<St: State> State for SetSeverity<St> {
15841584 type Locales = St::Locales;
15851585- type Severity = St::Severity;
15851585+ type Blurs = St::Blurs;
15861586 type Identifier = St::Identifier;
15871587- type Blurs = Set<members::blurs>;
15871587+ type Severity = Set<members::severity>;
15881588 }
15891589 /// Marker types for field names
15901590 #[allow(non_camel_case_types)]
15911591 pub mod members {
15921592 ///Marker type for the `locales` field
15931593 pub struct locales(());
15941594- ///Marker type for the `severity` field
15951595- pub struct severity(());
15961596- ///Marker type for the `identifier` field
15971597- pub struct identifier(());
15981594 ///Marker type for the `blurs` field
15991595 pub struct blurs(());
15961596+ ///Marker type for the `identifier` field
15971597+ pub struct identifier(());
15981598+ ///Marker type for the `severity` field
15991599+ pub struct severity(());
16001600 }
16011601}
16021602···17891789where
17901790 St: label_value_definition_state::State,
17911791 St::Locales: label_value_definition_state::IsSet,
17921792- St::Severity: label_value_definition_state::IsSet,
17931793- St::Identifier: label_value_definition_state::IsSet,
17941792 St::Blurs: label_value_definition_state::IsSet,
17931793+ St::Identifier: label_value_definition_state::IsSet,
17941794+ St::Severity: label_value_definition_state::IsSet,
17951795{
17961796 /// Build the final struct.
17971797 pub fn build(self) -> LabelValueDefinition<S> {
···18351835 }
18361836 /// State trait tracking which required fields have been set
18371837 pub trait State: sealed::Sealed {
18381838- type Description;
18391838 type Lang;
18401839 type Name;
18401840+ type Description;
18411841 }
18421842 /// Empty state - all required fields are unset
18431843 pub struct Empty(());
18441844 impl sealed::Sealed for Empty {}
18451845 impl State for Empty {
18461846- type Description = Unset;
18471846 type Lang = Unset;
18481847 type Name = Unset;
18491849- }
18501850- ///State transition - sets the `description` field to Set
18511851- pub struct SetDescription<St: State = Empty>(PhantomData<fn() -> St>);
18521852- impl<St: State> sealed::Sealed for SetDescription<St> {}
18531853- impl<St: State> State for SetDescription<St> {
18541854- type Description = Set<members::description>;
18551855- type Lang = St::Lang;
18561856- type Name = St::Name;
18481848+ type Description = Unset;
18571849 }
18581850 ///State transition - sets the `lang` field to Set
18591851 pub struct SetLang<St: State = Empty>(PhantomData<fn() -> St>);
18601852 impl<St: State> sealed::Sealed for SetLang<St> {}
18611853 impl<St: State> State for SetLang<St> {
18621862- type Description = St::Description;
18631854 type Lang = Set<members::lang>;
18641855 type Name = St::Name;
18561856+ type Description = St::Description;
18651857 }
18661858 ///State transition - sets the `name` field to Set
18671859 pub struct SetName<St: State = Empty>(PhantomData<fn() -> St>);
18681860 impl<St: State> sealed::Sealed for SetName<St> {}
18691861 impl<St: State> State for SetName<St> {
18621862+ type Lang = St::Lang;
18631863+ type Name = Set<members::name>;
18701864 type Description = St::Description;
18651865+ }
18661866+ ///State transition - sets the `description` field to Set
18671867+ pub struct SetDescription<St: State = Empty>(PhantomData<fn() -> St>);
18681868+ impl<St: State> sealed::Sealed for SetDescription<St> {}
18691869+ impl<St: State> State for SetDescription<St> {
18711870 type Lang = St::Lang;
18721872- type Name = Set<members::name>;
18711871+ type Name = St::Name;
18721872+ type Description = Set<members::description>;
18731873 }
18741874 /// Marker types for field names
18751875 #[allow(non_camel_case_types)]
18761876 pub mod members {
18771877- ///Marker type for the `description` field
18781878- pub struct description(());
18791877 ///Marker type for the `lang` field
18801878 pub struct lang(());
18811879 ///Marker type for the `name` field
18821880 pub struct name(());
18811881+ ///Marker type for the `description` field
18821882+ pub struct description(());
18831883 }
18841884}
18851885···20132013impl<St, S: jacquard_common::BosStr> LabelValueDefinitionStringsBuilder<St, S>
20142014where
20152015 St: label_value_definition_strings_state::State,
20162016- St::Description: label_value_definition_strings_state::IsSet,
20172016 St::Lang: label_value_definition_strings_state::IsSet,
20182017 St::Name: label_value_definition_strings_state::IsSet,
20182018+ St::Description: label_value_definition_strings_state::IsSet,
20192019{
20202020 /// Build the final struct.
20212021 pub fn build(self) -> LabelValueDefinitionStrings<S> {
···5757 }
5858 /// State trait tracking which required fields have been set
5959 pub trait State: sealed::Sealed {
6060- type Uri;
6160 type Cid;
6161+ type Uri;
6262 }
6363 /// Empty state - all required fields are unset
6464 pub struct Empty(());
6565 impl sealed::Sealed for Empty {}
6666 impl State for Empty {
6767- type Uri = Unset;
6867 type Cid = Unset;
6969- }
7070- ///State transition - sets the `uri` field to Set
7171- pub struct SetUri<St: State = Empty>(PhantomData<fn() -> St>);
7272- impl<St: State> sealed::Sealed for SetUri<St> {}
7373- impl<St: State> State for SetUri<St> {
7474- type Uri = Set<members::uri>;
7575- type Cid = St::Cid;
6868+ type Uri = Unset;
7669 }
7770 ///State transition - sets the `cid` field to Set
7871 pub struct SetCid<St: State = Empty>(PhantomData<fn() -> St>);
7972 impl<St: State> sealed::Sealed for SetCid<St> {}
8073 impl<St: State> State for SetCid<St> {
8181- type Uri = St::Uri;
8274 type Cid = Set<members::cid>;
7575+ type Uri = St::Uri;
7676+ }
7777+ ///State transition - sets the `uri` field to Set
7878+ pub struct SetUri<St: State = Empty>(PhantomData<fn() -> St>);
7979+ impl<St: State> sealed::Sealed for SetUri<St> {}
8080+ impl<St: State> State for SetUri<St> {
8181+ type Cid = St::Cid;
8282+ type Uri = Set<members::uri>;
8383 }
8484 /// Marker types for field names
8585 #[allow(non_camel_case_types)]
8686 pub mod members {
8787- ///Marker type for the `uri` field
8888- pub struct uri(());
8987 ///Marker type for the `cid` field
9088 pub struct cid(());
8989+ ///Marker type for the `uri` field
9090+ pub struct uri(());
9191 }
9292}
9393···184184impl<St, S: jacquard_common::BosStr> StrongRefBuilder<St, S>
185185where
186186 St: strong_ref_state::State,
187187- St::Uri: strong_ref_state::IsSet,
188187 St::Cid: strong_ref_state::IsSet,
188188+ St::Uri: strong_ref_state::IsSet,
189189{
190190 /// Build the final struct.
191191 pub fn build(self) -> StrongRef<S> {
···321321 }
322322 /// State trait tracking which required fields have been set
323323 pub trait State: sealed::Sealed {
324324- type Items;
325324 type Name;
325325+ type Items;
326326 }
327327 /// Empty state - all required fields are unset
328328 pub struct Empty(());
329329 impl sealed::Sealed for Empty {}
330330 impl State for Empty {
331331- type Items = Unset;
332331 type Name = Unset;
333333- }
334334- ///State transition - sets the `items` field to Set
335335- pub struct SetItems<St: State = Empty>(PhantomData<fn() -> St>);
336336- impl<St: State> sealed::Sealed for SetItems<St> {}
337337- impl<St: State> State for SetItems<St> {
338338- type Items = Set<members::items>;
339339- type Name = St::Name;
332332+ type Items = Unset;
340333 }
341334 ///State transition - sets the `name` field to Set
342335 pub struct SetName<St: State = Empty>(PhantomData<fn() -> St>);
343336 impl<St: State> sealed::Sealed for SetName<St> {}
344337 impl<St: State> State for SetName<St> {
345345- type Items = St::Items;
346338 type Name = Set<members::name>;
339339+ type Items = St::Items;
340340+ }
341341+ ///State transition - sets the `items` field to Set
342342+ pub struct SetItems<St: State = Empty>(PhantomData<fn() -> St>);
343343+ impl<St: State> sealed::Sealed for SetItems<St> {}
344344+ impl<St: State> State for SetItems<St> {
345345+ type Name = St::Name;
346346+ type Items = Set<members::items>;
347347 }
348348 /// Marker types for field names
349349 #[allow(non_camel_case_types)]
350350 pub mod members {
351351- ///Marker type for the `items` field
352352- pub struct items(());
353351 ///Marker type for the `name` field
354352 pub struct name(());
353353+ ///Marker type for the `items` field
354354+ pub struct items(());
355355 }
356356}
357357···480480impl<St, S: jacquard_common::BosStr> CollectionRecordBuilder<St, S>
481481where
482482 St: collection_record_state::State,
483483- St::Items: collection_record_state::IsSet,
484483 St::Name: collection_record_state::IsSet,
484484+ St::Items: collection_record_state::IsSet,
485485{
486486 /// Build the final struct.
487487 pub fn build(self) -> CollectionRecord<S> {
···264264 }
265265 /// State trait tracking which required fields have been set
266266 pub trait State: sealed::Sealed {
267267- type Identifier;
268267 type Owner;
268268+ type Identifier;
269269 }
270270 /// Empty state - all required fields are unset
271271 pub struct Empty(());
272272 impl sealed::Sealed for Empty {}
273273 impl State for Empty {
274274- type Identifier = Unset;
275274 type Owner = Unset;
276276- }
277277- ///State transition - sets the `identifier` field to Set
278278- pub struct SetIdentifier<St: State = Empty>(PhantomData<fn() -> St>);
279279- impl<St: State> sealed::Sealed for SetIdentifier<St> {}
280280- impl<St: State> State for SetIdentifier<St> {
281281- type Identifier = Set<members::identifier>;
282282- type Owner = St::Owner;
275275+ type Identifier = Unset;
283276 }
284277 ///State transition - sets the `owner` field to Set
285278 pub struct SetOwner<St: State = Empty>(PhantomData<fn() -> St>);
286279 impl<St: State> sealed::Sealed for SetOwner<St> {}
287280 impl<St: State> State for SetOwner<St> {
288288- type Identifier = St::Identifier;
289281 type Owner = Set<members::owner>;
282282+ type Identifier = St::Identifier;
283283+ }
284284+ ///State transition - sets the `identifier` field to Set
285285+ pub struct SetIdentifier<St: State = Empty>(PhantomData<fn() -> St>);
286286+ impl<St: State> sealed::Sealed for SetIdentifier<St> {}
287287+ impl<St: State> State for SetIdentifier<St> {
288288+ type Owner = St::Owner;
289289+ type Identifier = Set<members::identifier>;
290290 }
291291 /// Marker types for field names
292292 #[allow(non_camel_case_types)]
293293 pub mod members {
294294- ///Marker type for the `identifier` field
295295- pub struct identifier(());
296294 ///Marker type for the `owner` field
297295 pub struct owner(());
296296+ ///Marker type for the `identifier` field
297297+ pub struct identifier(());
298298 }
299299}
300300···405405impl<St, S: jacquard_common::BosStr> DidRecordBuilder<St, S>
406406where
407407 St: did_record_state::State,
408408- St::Identifier: did_record_state::IsSet,
409408 St::Owner: did_record_state::IsSet,
409409+ St::Identifier: did_record_state::IsSet,
410410{
411411 /// Build the final struct.
412412 pub fn build(self) -> DidRecord<S> {
···179179 }
180180 /// State trait tracking which required fields have been set
181181 pub trait State: sealed::Sealed {
182182- type Description;
183182 type Title;
183183+ 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 Description = Unset;
191190 type Title = Unset;
191191+ type Description = Unset;
192192 type Uri = Unset;
193193 }
194194- ///State transition - sets the `description` field to Set
195195- pub struct SetDescription<St: State = Empty>(PhantomData<fn() -> St>);
196196- impl<St: State> sealed::Sealed for SetDescription<St> {}
197197- impl<St: State> State for SetDescription<St> {
198198- type Description = Set<members::description>;
199199- type Title = St::Title;
200200- type Uri = St::Uri;
201201- }
202194 ///State transition - sets the `title` field to Set
203195 pub struct SetTitle<St: State = Empty>(PhantomData<fn() -> St>);
204196 impl<St: State> sealed::Sealed for SetTitle<St> {}
205197 impl<St: State> State for SetTitle<St> {
206206- type Description = St::Description;
207198 type Title = Set<members::title>;
199199+ type Description = St::Description;
200200+ type Uri = St::Uri;
201201+ }
202202+ ///State transition - sets the `description` field to Set
203203+ pub struct SetDescription<St: State = Empty>(PhantomData<fn() -> St>);
204204+ impl<St: State> sealed::Sealed for SetDescription<St> {}
205205+ impl<St: State> State for SetDescription<St> {
206206+ type Title = St::Title;
207207+ type Description = Set<members::description>;
208208 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> {
214214- type Description = St::Description;
215214 type Title = St::Title;
215215+ type Description = St::Description;
216216 type Uri = Set<members::uri>;
217217 }
218218 /// Marker types for field names
219219 #[allow(non_camel_case_types)]
220220 pub mod members {
221221+ ///Marker type for the `title` field
222222+ pub struct title(());
221223 ///Marker type for the `description` field
222224 pub struct description(());
223223- ///Marker type for the `title` field
224224- pub struct title(());
225225 ///Marker type for the `uri` field
226226 pub struct uri(());
227227 }
···343343impl<St, S: BosStr> ExternalBuilder<St, S>
344344where
345345 St: external_state::State,
346346- St::Description: external_state::IsSet,
347346 St::Title: external_state::IsSet,
347347+ St::Description: external_state::IsSet,
348348 St::Uri: external_state::IsSet,
349349{
350350 /// Build the final struct.
···749749 }
750750 /// State trait tracking which required fields have been set
751751 pub trait State: sealed::Sealed {
752752- type Description;
753752 type Uri;
753753+ type Description;
754754 type Title;
755755 }
756756 /// Empty state - all required fields are unset
757757 pub struct Empty(());
758758 impl sealed::Sealed for Empty {}
759759 impl State for Empty {
760760- type Description = Unset;
761760 type Uri = Unset;
761761+ type Description = Unset;
762762 type Title = Unset;
763763 }
764764- ///State transition - sets the `description` field to Set
765765- pub struct SetDescription<St: State = Empty>(PhantomData<fn() -> St>);
766766- impl<St: State> sealed::Sealed for SetDescription<St> {}
767767- impl<St: State> State for SetDescription<St> {
768768- type Description = Set<members::description>;
769769- type Uri = St::Uri;
770770- type Title = St::Title;
771771- }
772764 ///State transition - sets the `uri` field to Set
773765 pub struct SetUri<St: State = Empty>(PhantomData<fn() -> St>);
774766 impl<St: State> sealed::Sealed for SetUri<St> {}
775767 impl<St: State> State for SetUri<St> {
776776- type Description = St::Description;
777768 type Uri = Set<members::uri>;
769769+ type Description = St::Description;
770770+ type Title = St::Title;
771771+ }
772772+ ///State transition - sets the `description` field to Set
773773+ pub struct SetDescription<St: State = Empty>(PhantomData<fn() -> St>);
774774+ impl<St: State> sealed::Sealed for SetDescription<St> {}
775775+ impl<St: State> State for SetDescription<St> {
776776+ type Uri = St::Uri;
777777+ type Description = Set<members::description>;
778778 type Title = St::Title;
779779 }
780780 ///State transition - sets the `title` field to Set
781781 pub struct SetTitle<St: State = Empty>(PhantomData<fn() -> St>);
782782 impl<St: State> sealed::Sealed for SetTitle<St> {}
783783 impl<St: State> State for SetTitle<St> {
784784- type Description = St::Description;
785784 type Uri = St::Uri;
785785+ type Description = St::Description;
786786 type Title = Set<members::title>;
787787 }
788788 /// Marker types for field names
789789 #[allow(non_camel_case_types)]
790790 pub mod members {
791791+ ///Marker type for the `uri` field
792792+ pub struct uri(());
791793 ///Marker type for the `description` field
792794 pub struct description(());
793793- ///Marker type for the `uri` field
794794- pub struct uri(());
795795 ///Marker type for the `title` field
796796 pub struct title(());
797797 }
···913913impl<St, S: BosStr> ViewExternalBuilder<St, S>
914914where
915915 St: view_external_state::State,
916916- St::Description: view_external_state::IsSet,
917916 St::Uri: view_external_state::IsSet,
917917+ St::Description: view_external_state::IsSet,
918918 St::Title: view_external_state::IsSet,
919919{
920920 /// Build the final struct.
···219219 }
220220 /// State trait tracking which required fields have been set
221221 pub trait State: sealed::Sealed {
222222- type ByteEnd;
223222 type ByteStart;
223223+ type ByteEnd;
224224 }
225225 /// Empty state - all required fields are unset
226226 pub struct Empty(());
227227 impl sealed::Sealed for Empty {}
228228 impl State for Empty {
229229- type ByteEnd = Unset;
230229 type ByteStart = Unset;
231231- }
232232- ///State transition - sets the `byte_end` field to Set
233233- pub struct SetByteEnd<St: State = Empty>(PhantomData<fn() -> St>);
234234- impl<St: State> sealed::Sealed for SetByteEnd<St> {}
235235- impl<St: State> State for SetByteEnd<St> {
236236- type ByteEnd = Set<members::byte_end>;
237237- type ByteStart = St::ByteStart;
230230+ type ByteEnd = Unset;
238231 }
239232 ///State transition - sets the `byte_start` field to Set
240233 pub struct SetByteStart<St: State = Empty>(PhantomData<fn() -> St>);
241234 impl<St: State> sealed::Sealed for SetByteStart<St> {}
242235 impl<St: State> State for SetByteStart<St> {
243243- type ByteEnd = St::ByteEnd;
244236 type ByteStart = Set<members::byte_start>;
237237+ type ByteEnd = St::ByteEnd;
238238+ }
239239+ ///State transition - sets the `byte_end` field to Set
240240+ pub struct SetByteEnd<St: State = Empty>(PhantomData<fn() -> St>);
241241+ impl<St: State> sealed::Sealed for SetByteEnd<St> {}
242242+ impl<St: State> State for SetByteEnd<St> {
243243+ type ByteStart = St::ByteStart;
244244+ type ByteEnd = Set<members::byte_end>;
245245 }
246246 /// Marker types for field names
247247 #[allow(non_camel_case_types)]
248248 pub mod members {
249249- ///Marker type for the `byte_end` field
250250- pub struct byte_end(());
251249 ///Marker type for the `byte_start` field
252250 pub struct byte_start(());
251251+ ///Marker type for the `byte_end` field
252252+ pub struct byte_end(());
253253 }
254254}
255255···337337impl<St, S: BosStr> ByteSliceBuilder<St, S>
338338where
339339 St: byte_slice_state::State,
340340- St::ByteEnd: byte_slice_state::IsSet,
341340 St::ByteStart: byte_slice_state::IsSet,
341341+ St::ByteEnd: byte_slice_state::IsSet,
342342{
343343 /// Build the final struct.
344344 pub fn build(self) -> ByteSlice<S> {
···652652 }
653653 /// State trait tracking which required fields have been set
654654 pub trait State: sealed::Sealed {
655655- type Features;
656655 type Index;
656656+ type Features;
657657 }
658658 /// Empty state - all required fields are unset
659659 pub struct Empty(());
660660 impl sealed::Sealed for Empty {}
661661 impl State for Empty {
662662- type Features = Unset;
663662 type Index = Unset;
664664- }
665665- ///State transition - sets the `features` field to Set
666666- pub struct SetFeatures<St: State = Empty>(PhantomData<fn() -> St>);
667667- impl<St: State> sealed::Sealed for SetFeatures<St> {}
668668- impl<St: State> State for SetFeatures<St> {
669669- type Features = Set<members::features>;
670670- type Index = St::Index;
663663+ type Features = Unset;
671664 }
672665 ///State transition - sets the `index` field to Set
673666 pub struct SetIndex<St: State = Empty>(PhantomData<fn() -> St>);
674667 impl<St: State> sealed::Sealed for SetIndex<St> {}
675668 impl<St: State> State for SetIndex<St> {
676676- type Features = St::Features;
677669 type Index = Set<members::index>;
670670+ type Features = St::Features;
671671+ }
672672+ ///State transition - sets the `features` field to Set
673673+ pub struct SetFeatures<St: State = Empty>(PhantomData<fn() -> St>);
674674+ impl<St: State> sealed::Sealed for SetFeatures<St> {}
675675+ impl<St: State> State for SetFeatures<St> {
676676+ type Index = St::Index;
677677+ type Features = Set<members::features>;
678678 }
679679 /// Marker types for field names
680680 #[allow(non_camel_case_types)]
681681 pub mod members {
682682- ///Marker type for the `features` field
683683- pub struct features(());
684682 ///Marker type for the `index` field
685683 pub struct index(());
684684+ ///Marker type for the `features` field
685685+ pub struct features(());
686686 }
687687}
688688···770770impl<St, S: BosStr> FacetBuilder<St, S>
771771where
772772 St: facet_state::State,
773773- St::Features: facet_state::IsSet,
774773 St::Index: facet_state::IsSet,
774774+ St::Features: facet_state::IsSet,
775775{
776776 /// Build the final struct.
777777 pub fn build(self) -> Facet<S> {
···679679 }
680680 /// State trait tracking which required fields have been set
681681 pub trait State: sealed::Sealed {
682682- type Cts;
683682 type Src;
684684- type Val;
685683 type Uri;
684684+ type Cts;
685685+ type Val;
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 Cts = Unset;
692691 type Src = Unset;
693693- type Val = Unset;
694692 type Uri = Unset;
695695- }
696696- ///State transition - sets the `cts` field to Set
697697- pub struct SetCts<St: State = Empty>(PhantomData<fn() -> St>);
698698- impl<St: State> sealed::Sealed for SetCts<St> {}
699699- impl<St: State> State for SetCts<St> {
700700- type Cts = Set<members::cts>;
701701- type Src = St::Src;
702702- type Val = St::Val;
703703- type Uri = St::Uri;
693693+ type Cts = Unset;
694694+ type Val = Unset;
704695 }
705696 ///State transition - sets the `src` field to Set
706697 pub struct SetSrc<St: State = Empty>(PhantomData<fn() -> St>);
707698 impl<St: State> sealed::Sealed for SetSrc<St> {}
708699 impl<St: State> State for SetSrc<St> {
709709- type Cts = St::Cts;
710700 type Src = Set<members::src>;
711711- type Val = St::Val;
712701 type Uri = St::Uri;
713713- }
714714- ///State transition - sets the `val` field to Set
715715- pub struct SetVal<St: State = Empty>(PhantomData<fn() -> St>);
716716- impl<St: State> sealed::Sealed for SetVal<St> {}
717717- impl<St: State> State for SetVal<St> {
718702 type Cts = St::Cts;
719719- type Src = St::Src;
720720- type Val = Set<members::val>;
721721- type Uri = St::Uri;
703703+ type Val = St::Val;
722704 }
723705 ///State transition - sets the `uri` field to Set
724706 pub struct SetUri<St: State = Empty>(PhantomData<fn() -> St>);
725707 impl<St: State> sealed::Sealed for SetUri<St> {}
726708 impl<St: State> State for SetUri<St> {
709709+ type Src = St::Src;
710710+ type Uri = Set<members::uri>;
727711 type Cts = St::Cts;
712712+ type Val = St::Val;
713713+ }
714714+ ///State transition - sets the `cts` field to Set
715715+ pub struct SetCts<St: State = Empty>(PhantomData<fn() -> St>);
716716+ impl<St: State> sealed::Sealed for SetCts<St> {}
717717+ impl<St: State> State for SetCts<St> {
728718 type Src = St::Src;
719719+ type Uri = St::Uri;
720720+ type Cts = Set<members::cts>;
729721 type Val = St::Val;
730730- type Uri = Set<members::uri>;
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> {
727727+ type Src = St::Src;
728728+ type Uri = St::Uri;
729729+ type Cts = St::Cts;
730730+ type Val = Set<members::val>;
731731 }
732732 /// Marker types for field names
733733 #[allow(non_camel_case_types)]
734734 pub mod members {
735735- ///Marker type for the `cts` field
736736- pub struct cts(());
737735 ///Marker type for the `src` field
738736 pub struct src(());
737737+ ///Marker type for the `uri` field
738738+ pub struct uri(());
739739+ ///Marker type for the `cts` field
740740+ pub struct cts(());
739741 ///Marker type for the `val` field
740742 pub struct val(());
741741- ///Marker type for the `uri` field
742742- pub struct uri(());
743743 }
744744}
745745···940940impl<St, S: BosStr> LabelBuilder<St, S>
941941where
942942 St: label_state::State,
943943- St::Cts: label_state::IsSet,
944943 St::Src: label_state::IsSet,
945945- St::Val: label_state::IsSet,
946944 St::Uri: label_state::IsSet,
945945+ St::Cts: label_state::IsSet,
946946+ St::Val: label_state::IsSet,
947947{
948948 /// Build the final struct.
949949 pub fn build(self) -> Label<S> {
···226226 }
227227 /// State trait tracking which required fields have been set
228228 pub trait State: sealed::Sealed {
229229- type Identifier;
230229 type Owner;
230230+ type Identifier;
231231 }
232232 /// Empty state - all required fields are unset
233233 pub struct Empty(());
234234 impl sealed::Sealed for Empty {}
235235 impl State for Empty {
236236- type Identifier = Unset;
237236 type Owner = Unset;
238238- }
239239- ///State transition - sets the `identifier` field to Set
240240- pub struct SetIdentifier<St: State = Empty>(PhantomData<fn() -> St>);
241241- impl<St: State> sealed::Sealed for SetIdentifier<St> {}
242242- impl<St: State> State for SetIdentifier<St> {
243243- type Identifier = Set<members::identifier>;
244244- type Owner = St::Owner;
237237+ type Identifier = Unset;
245238 }
246239 ///State transition - sets the `owner` field to Set
247240 pub struct SetOwner<St: State = Empty>(PhantomData<fn() -> St>);
248241 impl<St: State> sealed::Sealed for SetOwner<St> {}
249242 impl<St: State> State for SetOwner<St> {
250250- type Identifier = St::Identifier;
251243 type Owner = Set<members::owner>;
244244+ type Identifier = St::Identifier;
245245+ }
246246+ ///State transition - sets the `identifier` field to Set
247247+ pub struct SetIdentifier<St: State = Empty>(PhantomData<fn() -> St>);
248248+ impl<St: State> sealed::Sealed for SetIdentifier<St> {}
249249+ impl<St: State> State for SetIdentifier<St> {
250250+ type Owner = St::Owner;
251251+ type Identifier = Set<members::identifier>;
252252 }
253253 /// Marker types for field names
254254 #[allow(non_camel_case_types)]
255255 pub mod members {
256256- ///Marker type for the `identifier` field
257257- pub struct identifier(());
258256 ///Marker type for the `owner` field
259257 pub struct owner(());
258258+ ///Marker type for the `identifier` field
259259+ pub struct identifier(());
260260 }
261261}
262262···361361impl<St, S: BosStr> DidRecordBuilder<St, S>
362362where
363363 St: did_record_state::State,
364364- St::Identifier: did_record_state::IsSet,
365364 St::Owner: did_record_state::IsSet,
365365+ St::Identifier: did_record_state::IsSet,
366366{
367367 /// Build the final struct.
368368 pub fn build(self) -> DidRecord<S> {