# must fail: fetch_O10L1_declared_other_alt # a layer is declared after + in any alt, not only its base's (codecs::check_declared) diff --git a/wai/wai-rs/src/http_binding/codecs.rs b/wai/wai-rs/src/http_binding/codecs.rs index 568a3c5a..b3ea95e5 100644 --- a/wai/wai-rs/src/http_binding/codecs.rs +++ b/wai/wai-rs/src/http_binding/codecs.rs @@ -393,7 +393,7 @@ pub fn check_declared(head: &Head, union: &Element, base: Option<&SeqObject>) -> .and_then(|r| super::unhex32(&r.base)) .ok_or_else(undeclared)?; let base_cap = base.and_then(|b| base_capability(b, &refines)).ok_or_else(undeclared)?; - return if union.alts.iter().any(|a| a.cap == base_cap && a.plus.contains(&cap)) { Ok(()) } else { Err(undeclared()) }; + return if union.alts.iter().any(|a| { let _ = &base_cap; a.plus.contains(&cap) }) { Ok(()) } else { Err(undeclared()) }; } let e = element_of(head)?; if e.prefix > union.prefix {