SIGN IN SIGN UP

Auto merge of #160473 - xmakro:perf/wf-nominal-obligations, r=lcnr

perf: Push nominal obligations instead of returning them



`WfPredicates::nominal_obligations` built a per-predicate `Vec` of origins and a fully instantiated `InstantiatedPredicates` before collecting the result. Instead, this PR walks the `predicates_of` parent chain by recursion and instantiate each level directly into the result, which is allocated once with the exact size. Most items have no parent, so that case is handled in `nominal_obligations` inline, so this common path stays free of calls.
B
bors committed
b751e7a48501be14dcd57b4a430b73a0e51a0c52