1
Fork 0

Serialize all enums as externally tagged to guarantee compatibility with binary formats such as bincode or postcard

This commit is contained in:
Luca Palmieri 2023-05-22 18:17:52 +01:00
parent 48ec50ae39
commit a5e5101375
96 changed files with 703 additions and 715 deletions

View file

@ -2,18 +2,18 @@
#![no_core]
// @set wham = "$.index[*][?(@.name=='Wham')].id"
// @count "$.index[*][?(@.name=='Wham')].inner.implementations[*]" 1
// @set gmWham = "$.index[*][?(@.name=='Wham')].inner.implementations[0]"
// @count "$.index[*][?(@.name=='Wham')].inner.trait.implementations[*]" 1
// @set gmWham = "$.index[*][?(@.name=='Wham')].inner.trait.implementations[0]"
pub trait Wham {}
// @count "$.index[*][?(@.name=='GeorgeMichael')].inner.impls[*]" 1
// @is "$.index[*][?(@.name=='GeorgeMichael')].inner.impls[0]" $gmWham
// @count "$.index[*][?(@.name=='GeorgeMichael')].inner.struct.impls[*]" 1
// @is "$.index[*][?(@.name=='GeorgeMichael')].inner.struct.impls[0]" $gmWham
// @set gm = "$.index[*][?(@.name=='Wham')].id"
// jsonpath_lib isnt expressive enough (for now) to get the "impl" item, so we
// just check it isn't pointing to the type, but when you port to jsondocck-ng
// check what the impl item is
// @!is "$.index[*][?(@.name=='Wham')].inner.implementations[0]" $gm
// @!is "$.index[*][?(@.name=='Wham')].inner.trait.implementations[0]" $gm
pub struct GeorgeMichael {}
impl Wham for GeorgeMichael {}