Capability System: Redesign how failed capabilities on EntryPoints<->compileTarget are described to a user #4172
Labels
goal:quality & productivity
Quality issues and issues that impact our productivity coding day to day inside slang
kind:enhancement
a desirable new feature, option, or behavior
Currently in the capabilities system, erroring once we reach a stage of checking EntryPoints<->compileTarget (Diagnostics::entryPointUsesUnavailableCapability) produces assumptions of what went wrong.
These assumptions assumes based on providence of a single Decl that any incompatible capability may be the problem. This erroring works well when the problem is straight-forward or the function has little capabilities defined. When the problem is within a function with many overlapping capabilities the current "providence" tracking provides little assistance in erroring due to only tracking a single "providence".
One solution to this would be to redesign the approach to store UIntSets of
callee
andparent
functions that remove a targetThe text was updated successfully, but these errors were encountered: