
#10077: Providing type checker plugin on command line results in false cyclic import error -------------------------------------+------------------------------------- Reporter: jbracker | Owner: Type: bug | Status: new Priority: normal | Milestone: Component: Compiler (Type | Version: 7.11 checker) | Keywords: Resolution: | typechecker plugin cycle imports Operating System: Linux | Architecture: x86_64 Type of failure: Incorrect | (amd64) warning at compile-time | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Revisions: -------------------------------------+------------------------------------- Comment (by jbracker): Replying to [comment:2 adamgundry]:
This is arguably correct behaviour, though I agree that it's less than ideal. The combination of `--make` and `-fplugin` is often troublesome, because `-fplugin MyPlugin` essentially imports `MyPlugin` in every module being compiled.
I guess we should make the documentation clearer about how to avoid this
Regarding `-dynamic`, I guess we should do something similar to #8180, since it's basically the same issue: if you use `-fplugin MyPlugin` anywhere in the module graph, the compilation manager should make sure
I've added a [wiki:Plugins/TypeChecker#FAQ section to the typechecker
I have trouble understanding why a plugin needs to be imported to the module that uses it. As far as I understand GHC dynamically loads the plugin module and uses it, but I don't see why the plugin needs to be imported to the compiled module, since the modules do not have access to the plugins functionality anyway. Is this required because the plugin might import other modules in scope? problem, and perhaps change the cyclic import message to be more informative in the presence of plugins. Yes, I agree. Thank you for extending the wiki page! that `MyPlugin` is compiled with `-dynamic` or `-dynamic-too`. I don't know how tricky this would be to implement, though. Looking at the changes from that ticket it does not seem to be too much work: [changeset:"e25af05656b496b997c8f3520e5ac8e377a68e7b/ghc"] Though there might be lingering problems arising from this. Replying to [comment:3 adamgundry]: plugins wiki page] documenting these issues. Suggestions for improvement are welcome! Maybe a link to this ticket, in case someone wants to know more about the issue? -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/10077#comment:4 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler