Admin message

Due to a large amount of spam we do not allow new users to create repositories, they are "external" users. If you are a new user and want to create a repository, for example for forking GHC, open a new issue on ghc/ghc using the "get-verified" issue template

HEAD calls typechecker plugin's tcPluginInit/tcPluginStop too much
## Summary 9.14.1 (and earlier) calls tcPluginInit/tcPluginStop once per file, HEAD seems to do it for every top level definition. ## Steps to reproduce 1. Get https://github.com/haskell-effectful/effectful 2. Put ``` package effectful-plugin flags: +timing allow-newer: effectful-plugin:ghc ``` into `cabal.project.local`. 3. Compare output of `cabal run plugin-tests` with GHC 9.14.1 and HEAD. With 9.14.1: ``` Building test suite 'plugin-tests' for effectful-plugin-2.0.0.1... [1 of 1] Compiling Main ( tests/PluginTests.hs, /home/unknown/Programowanie/haskell/simple-eff/dist-newstyle/build/x86_64-linux/ghc-9.14.1/effectful-plugin-2.0.0.1/t/plugin-tests/build/plugin-tests/plugin-tests-tmp/Main.o ) [/home/unknown/Programowanie/haskell/simple-eff/dist-newstyle/build/x86_64-linux/ghc-9.14.1/effectful-plugin-2.0.0.1/build/libHSeffectful-plugin-2.0.0.1-inplace-ghc9.14.1.so changed] Execution time of effectful-plugin (seconds): 9.865701576927677e-5 [2 of 2] Linking /home/unknown/Programowanie/haskell/simple-eff/dist-newstyle/build/x86_64-linux/ghc-9.14.1/effectful-plugin-2.0.0.1/t/plugin-tests/build/plugin-tests/plugin-tests [Objects changed] ``` With HEAD: ``` Building test suite 'plugin-tests' for effectful-plugin-2.0.0.1... [1 of 1] Compiling Main ( tests/PluginTests.hs, /home/unknown/Programowanie/haskell/simple-eff/dist-newstyle/build/x86_64-linux/ghc-9.15.20260120/effectful-plugin-2.0.0.1/t/plugin-tests/build/plugin-tests/plugin-tests-tmp/Main.o ) Execution time of effectful-plugin (seconds): 9.345999933429994e-5 Execution time of effectful-plugin (seconds): 2.3000029614195228e-7 Execution time of effectful-plugin (seconds): 2.0001607481390238e-8 Execution time of effectful-plugin (seconds): 3.9999576983973384e-8 Execution time of effectful-plugin (seconds): 1.9997969502583146e-8 Execution time of effectful-plugin (seconds): 2.0001607481390238e-8 Execution time of effectful-plugin (seconds): 1.9997969502583146e-8 Execution time of effectful-plugin (seconds): 2.0001607481390238e-8 Execution time of effectful-plugin (seconds): 2.0001607481390238e-8 Execution time of effectful-plugin (seconds): 2.0001607481390238e-8 Execution time of effectful-plugin (seconds): 1.9997969502583146e-8 Execution time of effectful-plugin (seconds): 1.9997969502583146e-8 Execution time of effectful-plugin (seconds): 2.0001607481390238e-8 Execution time of effectful-plugin (seconds): 2.0001607481390238e-8 Execution time of effectful-plugin (seconds): 1.9997969502583146e-8 Execution time of effectful-plugin (seconds): 2.0001607481390238e-8 Execution time of effectful-plugin (seconds): 2.0001607481390238e-8 Execution time of effectful-plugin (seconds): 1.9997969502583146e-8 Execution time of effectful-plugin (seconds): 1.9997969502583146e-8 Execution time of effectful-plugin (seconds): 2.0001607481390238e-8 Execution time of effectful-plugin (seconds): 2.0001607481390238e-8 Execution time of effectful-plugin (seconds): 2.0001607481390238e-8 Execution time of effectful-plugin (seconds): 1.9997969502583146e-8 Execution time of effectful-plugin (seconds): 1.9997969502583146e-8 Execution time of effectful-plugin (seconds): 2.9998773243278265e-8 [2 of 2] Linking /home/unknown/Programowanie/haskell/simple-eff/dist-newstyle/build/x86_64-linux/ghc-9.15.20260120/effectful-plugin-2.0.0.1/t/plugin-tests/build/plugin-tests/plugin-tests ``` Timing info comes from [here](https://github.com/haskell-effectful/effectful/blob/963d445f6c2a849def50d05346b7662b814dc42e/effectful-plugin/src/Effectful/Plugin.hs#L407). ## Expected behavior It behaves the same as in released versions I guess. If I wanted to do stuff per every top level definition, I'd put it in `tcPluginSolve` ;) ## Environment * GHC version used: HEAD Optional: * Operating System: Arch Linux * System Architecture: x86_64
issue