You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
A later catch-all stub silently makes an earlier specific stub unreachable #136
"Most recently registered wins, earlier ones remain as fallbacks" is documented, and the README says to register the broad stub first — but the opposite order is not diagnosed: the specific stub stays registered, matches nothing, and even strictStubs does not report it, because unreachable is not the same as uncalled. The library's stated promise is that nothing happens silently.
Expected: registering a stub whose every position accepts anything (Arg::any(), unspelled, Arg::rest()) after another stub of the same method is refused with ConflictingExpectation, naming the specification it would shadow.
Closed as documented rather than changed: the engine's own property model (DispatchIndexPropertyTest, EnginePropertyTest) treats "later wins" as law, and refusing a catch-all after a specific stub broke three of them. README EN/RU and llms.txt now say it plainly in #139: register the broad stub first; a catch-all after a specific one is not diagnosed, and strictStubs stays quiet because unreachable is not uncalled.
Activity
rasuvaeff commentedon Sep 17, 2026
Closed as documented rather than changed: the engine's own property model (
DispatchIndexPropertyTest,EnginePropertyTest) treats "later wins" as law, and refusing a catch-all after a specific stub broke three of them. README EN/RU and llms.txt now say it plainly in #139: register the broad stub first; a catch-all after a specific one is not diagnosed, andstrictStubsstays quiet because unreachable is not uncalled.Fix the 2026-09-18 review findings: fatal-free refusals, nested calls…