Fix issue resolving const dependencies #54
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.
Ran into an issue trying to resolve a
std::shared_ptr<const ...>
as an autowired dependency. I don't know whether this was intentional or not, but I believe resolving const dependencies is a legitimate usecaseThe issue was that the existing
ArgumentResolver
specialization would try specialize whereTArg
included theconst
and this could not cast tostd::shared_ptr<void>
without loss of const qualificationTo fix I have added an overload of
ArgumentResolver
that specializes for const types; it resolves the non-const type and converts to const after that. There are two test cases that fail without the new specialization and pass with itLet me know if there are any changes you would need to accept this PR
Thanks