diff --git a/parachain/pallets/control/src/lib.rs b/parachain/pallets/control/src/lib.rs index c83cdd3ae0..8f36f6357c 100644 --- a/parachain/pallets/control/src/lib.rs +++ b/parachain/pallets/control/src/lib.rs @@ -125,11 +125,7 @@ where pub struct AllowSiblingsOnly; impl Contains for AllowSiblingsOnly { fn contains(location: &MultiLocation) -> bool { - if let MultiLocation { parents: 1, interior: X1(Parachain(_)) } = location { - true - } else { - false - } + matches!(location, MultiLocation { parents: 1, interior: X1(Parachain(_)) }) } } diff --git a/parachain/pallets/control/src/tests.rs b/parachain/pallets/control/src/tests.rs index 92548f9ee9..b621c58477 100644 --- a/parachain/pallets/control/src/tests.rs +++ b/parachain/pallets/control/src/tests.rs @@ -581,3 +581,13 @@ fn charge_fee_for_upgrade() { assert_eq!(sovereign_balance, InitialFunding::get()); }); } + +#[test] +fn allow_siblings_predicate_only_allows_siblings() { + new_test_ext().execute_with(|| { + let sibling = MultiLocation::new(1, X1(Parachain(1000))); + let child = MultiLocation::new(0, X1(Parachain(1000))); + assert!(AllowSiblingsOnly::contains(&sibling), "Sibling returns true."); + assert!(!AllowSiblingsOnly::contains(&child), "Child returns false."); + }); +}