34 inaccessible type parameters should give better error messsages #40
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.
Fixes #34 and fixes #39.
I may have overstepped slightly. While working on #34, I noticed that my changes would affect the way open generic type errors were reported, so I included them in the work.
First, I added (quite a few) characterization tests so I could understand how things worked currently. Then I added the code to recurse through the type parameters and report on what couldn't be proxied, and which type was causing the problem. While I was at it, I ended up changing the type thrown from
ProxyGenerator.CheckNotGenericTypeDefinitiontoGeneratorException(fromArgumentException) to match the error coming fromDefaultProxyBuilder, and because I thought the new information about the type being proxied would remove the ambiguity that the argument name was trying to solve.Of course, I understand that some of these decisions were not mine to make. If you disagree, I apologize for wasting your time and will quickly emend.