WIP make TP context prep more fully on-demand #326
Closed
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.
WIP fix for #325
The underlying problem is that the mere presence of a provided type like "FSharp.Data.HtmlProvider" (uninstantiated) causes the F# compiler to interrogate that type for its custom attributes. This eagerly translates both the static paramaters and information int he custom attributes to the target context, causing readers for all the assemblies in the target context to be created.
I've checked this removes the context preparation for unused FSHarp.Data reference
There is a problem with this fix however: the XML doc on a provided type with static parameters is no longer reported to the compiler. I need to think if/how this can be avoided, it's possible an F# compiler fix/change may be needed to stop it eagerly interrogating the attributes on some types.