- 
        Couldn't load subscription status. 
- Fork 77
Description
Hello,
currently I try to do cross checks between needs using needs_warnings. Unfortunately the needs_warning call backs do not have a direct access to all needs. A workaround is to collect all needs in a global variable (list or dict for easier access using ID) in the first needs_warnings call back.
allNeeds=[]
def my_custom_warning_collector(need, log):
    allNeeds.append(need)
def my_custom_warning(need, log):
    # some checks    
    # some cross checks
    return False
needs_warnings = {
   'my_warning_collector': my_custom_warning_collector
   'my_custom_warning' : my_custom_warning
}
But this is clumsy and might lead to issues (e.g. needs_warnings call order might change).
Would it be possible to extend warning callbacks so that all needs can be accessed (as already available in dynamic functions see https://sphinx-needs.readthedocs.io/en/latest/configuration.html#incremental-build-support) or is there better way to do cross checks?
def my_custom_warning(need, log, needs):
    # some checks
    # some cross checks
    return false