RFC: add a typemap level specifically for Any #16081
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
I don't think this comes up often in the cache, but I think it may be beneficial in a few cases. specifically, it ensures the following sort of cache signature can hit one of the optimized caches:
f(a::ANY, b) = ...
or the following set of methods gets a fast lookup path instead of the linear list scan:
for i = 1:100; @eval f(a, b::Val{i}) = i; end
this reveals a couple of missing ambiguity warnings stemming from call -> convert translation. I'm assuming that fallback method will go away so I'm not working around them even though it's probably now calling the wrong method. (except I had to work around the one that made the core test fail).edit: that was from a serious bug in the PR. those methods are probably ambiguous, but the detection I thought I was seeing in this PR was an implementation mistake