1 // ignore-tidy-linelength
4 #![feature(lang_items)]
7 // @set loud_id = "$.index[*][?(@.name=='Loud')].id"
10 // @set very_loud_id = "$.index[*][?(@.name=='VeryLoud')].id"
11 // @count "$.index[*][?(@.name=='VeryLoud')].inner.bounds[*]" 1
12 // @is "$.index[*][?(@.name=='VeryLoud')].inner.bounds[0].trait_bound.trait.id" $loud_id
13 pub trait VeryLoud: Loud {}
15 // @set sounds_good_id = "$.index[*][?(@.name=='SoundsGood')].id"
16 pub trait SoundsGood {}
18 // @count "$.index[*][?(@.name=='MetalBand')].inner.bounds[*]" 2
19 // @is "$.index[*][?(@.name=='MetalBand')].inner.bounds[0].trait_bound.trait.id" $very_loud_id
20 // @is "$.index[*][?(@.name=='MetalBand')].inner.bounds[1].trait_bound.trait.id" $sounds_good_id
21 pub trait MetalBand: VeryLoud + SoundsGood {}
23 // @count "$.index[*][?(@.name=='DnabLatem')].inner.bounds[*]" 2
24 // @is "$.index[*][?(@.name=='DnabLatem')].inner.bounds[1].trait_bound.trait.id" $very_loud_id
25 // @is "$.index[*][?(@.name=='DnabLatem')].inner.bounds[0].trait_bound.trait.id" $sounds_good_id
26 pub trait DnabLatem: SoundsGood + VeryLoud {}