profile
viewpoint
If you are wondering where the data of this site comes from, please visit https://api.github.com/users/cdsmith/events. GitMemory does not store any data, but only uses NGINX to cache data for a period of time. The idea behind GitMemory is simply to give users a better reading experience.

google/codeworld 1160

Educational computer programming environment using Haskell

cdsmith/HMock 12

Mock framework for testing in Haskell

cdsmith/my-pipes 4

Alternative implementation of the pipes concept

cdsmith/haskell-via-sokoban 1

A haskell tutorial using CodeWorld

cdsmith/codeworld 0

Educational computer programming environment using Haskell

cdsmith/disco 0

Functional teaching language for use in a discrete mathematics course

cdsmith/flmdata 0

Data repo for Fermat's Last Margin

cdsmith/ghc-proposals 0

Proposed compiler and language changes for GHC and GHC/Haskell

cdsmith/haskell-language-server 0

Successor of ghcide & haskell-ide-engine. One IDE to rule them all.

cdsmith/lambox 0

Haskell Text User Interface Library

issue commentgoogle/codeworld

Message about top-level expressions lacks explanation.

The reason for extra care here is that this is an especially likely error for newcomers to the language.

codeworld-feedback

comment created time in 3 days

issue commentgoogle/codeworld

User-reported unhelpful error message

I could reword this to explain that the top level of a program should be equations.

codeworld-feedback

comment created time in 3 days

issue closedcdsmith/HMock

Smarter predicate explanations

The new explain method of Predicate allows a predicate to explain why it did or didn't match. However, it's not currently used very well.

  • [ ] unorderedElemsAre , containsAll, containsOnly should use max-flow alg to match arguments, and then explain which elements and predicates are matched or unmatched in max flow.
  • [ ] startsWith and endsWith when failing should give the shortest prefix/suffix that proves no match.
  • [ ] hasSubstr should give the location of the match, or the longest near-match.
  • [ ] hasSubsequence should give the location of the longest near-match
  • [ ] containsRegex and containsCaseInsensitiveRegex should give the location of the match. Probably too hard to find near-matches.

closed time in 6 days

cdsmith

issue commentcdsmith/HMock

Smarter predicate explanations

Closing in favor of more specific issues

cdsmith

comment created time in 6 days

push eventcdsmith/HMock

Chris Smith

commit sha b837ec450ff9465fd89cd7bbcbde1aad0aabe468

Update doctests

view details

Chris Smith

commit sha f2b6a62feec27473c7b81b7cec3b4c6840039f80

twiddle docs

view details

Chris Smith

commit sha 2676155f97987f03e45244969dc9bd1b544d891b

refmt

view details

Chris Smith

commit sha 5bb86c1fd8722ca28e06b70710745a36d15e628c

Predicate updates, completing 1st draft of descriptions (see #12)

view details

push time in 6 days

pull request commentghc-proposals/ghc-proposals

Lambda expressions with guards and multiple clauses (was: `\ of`, -XMultiWayLambda)

This is too bad. I should have spoken up earlier, but the unfortunate thing about \ cases (like \ mcase) as syntax is that it completely closes off the possibility of migrating everything to a new semantics and then deprecating the obsolete choice. We're now stuck with one more language construct forever, and it seems impossible that this choice will ever be revisited. :(

JakobBruenker

comment created time in 9 days

Pull request review commenthaskellfoundation/tech-proposals

add installer-guidelines proposal

+## Introduction++The Haskell Foundation would like see a central Haskell download page in which the Haskell curious+could easily download and run a installer to provide a standard Haskell environment that supports+the principal build tools (`cabal-install` and `stack`) on the main platforms (Linux, macOS and+Windows). All Haskell introductory material (text books, blog posts, etc.) should be able to point+to the Haskell Foundation download page and work on the assumption that it will yield their+widely-supported Haskell development environment.++To this end this proposal covers two things:++  * To publish a set of minimal requirements for a Haskell installer that we are prepared to+    recommend along with a roadmap of the minimal requirements that we are looking to add in the+    future. (The initial requirements will not require precompiled libraries or editor/IDE+    environments but we would like to move in that direction, for example.)++  * To provide a prototype Windows installer for cabal-install-based Haskell development+    environments based on the stack codebase. This is the coverage we are missing at the moment and+    it is easy to do. We anticipate it becoming quickly obsoleted as the more stablished installers+    cover this space, but by providing this we immediately guarantee its coverage.++  * To provide a simplified Haskell download page that prominently displays installers that+    meet our guidelines.++On the basis of early discussions with the principal stakeholders we believe that it is possible to+quickly agree an initial set of requirements and build a Windows installer.+++## Background and Motivation++The exact configuration of Haskell development environments has recently been a contentious issue+leading to regrettable fragmentation and confusion. It should be a priority of the Haskell+Foundation to lead the way in restoring harmony for the health of the Haskell community and its+ecosystem.  The Haskell Foundation should also be well placed to do this with its broad+representation at board level and many sponsors and friends in the community.

Sorry for the delay in response. My point about the two orgs going different directions is this: to the best of my knowledge, there is not a single person who thinks a beneficial outcome from this process would be for new Haskell install instructions to be posted to haskell.foundation, while the existing instructions remain at haskell.org. That would clearly be terrible.

So if this proposal might be interpreted to say that, then it should be fixed to explicitly say that we're talking about the install instructions on haskell.org. If it cannot be fixed, or if agreement cannot be found between the haskell.org committee and the Haskell Foundation, then the proposal should be rejected, since accepting it under those circumstances would be worse than doing nothing.

This isn't meant to challenge the autonomy of either organization. It's just an observation that in this specific situation, the HF adopting a proposal at odds with haskell.org would be a disaster.

cdornan

comment created time in 9 days

PullRequestReviewEvent

startedodc19/haskell_code_mirror

started time in 10 days

push eventcdsmith/HMock

Chris Smith

commit sha b349ff91c19533bcd15f5b5d30e095983294ffca

typo

view details

Chris Smith

commit sha 63e33e44ca815814e48d6a934c5cea87fdaed9a8

Fix more stacks in error messages

view details

Chris Smith

commit sha b4d1b1339c9837422df43049f1ad736f6df4da75

Better showAction implementation

view details

push time in 17 days

issue openedcdsmith/HMock

Work out how to use HMock with HAXL

See #4.

Haxl isn't exactly an effect system, but it's a technology that can be used to define and use APIs for talking to external systems. That makes it a good fit for mocking, and I'd like HMock to work well with it.

Haxl data sources already define their own Request types, which are GADTs much like HMock actions. However, the Haxl request type lacks the operation name in the type, which makes it unsuitable for use with HMock in the current design. At the cost of some type-safety loss, we could conceivably redesign to make it possible to use Haxl requests directly as actions.

Haxl already allows plugging in data source implementations at runtime, to facilitate fake data sources. We just need HMock to be able to generate such a fake data source from a request type. This means that the implementation must use a Haxl StateKey for the mock state instead of the MockT monad transformer, which means we'll need to generalize the infrastructure a bit.

created time in 17 days

push eventcdsmith/HMock

Chris Smith

commit sha 9fa99d2349eef16dc4f39f6d404cbc89d8c4b61e

formatting

view details

Chris Smith

commit sha e0ea87c8951c5555ea9db6d568d4a3a9b4c468f5

Fix call stacks for error messages

view details

Chris Smith

commit sha c92244661b18338e9c65c9531c50051b023da287

Simplify the TH API (fix #6)

view details

push time in 17 days

issue closedcdsmith/HMock

Simpler API for TH generators

There are now 20 entry points to the template haskell code generator, because of a combinatorial explosion of options and variants. This is ridiculous. Instead, we should have two entry points:

makeMockable :: Name -> Q [Dec]
makeMockableWith :: MockableOptions -> Q [Dec]

All of the other choices should be moved into MockableOptions.

data MakeMockableOptions = MakeMockableOptions
  { mockClass :: Either Type Name,
    mockEmptySetup :: Bool,
    mockTInstance :: Bool,
    mockSuffix :: String,
    mockVerbose :: Bool
  }

instance Default MakeMockableOptions where
   def = MakeMockableOptions
     { mockClass = error "Please specify which class to mock.",
       mockEmptySetup = True,
       mockTInstance = True,
       mockSuffix = "",
       mockVerbose = False
     }

closed time in 17 days

cdsmith

Pull request review commenthaskellfoundation/tech-proposals

add installer-guidelines proposal

+# Installer Guidelines++## 0. Objectives++We want people to use Haskell, which means the path to installing Haskell for first-time users+should be short and easy, and it should yield an environment that is easy to use with the supporting+literature. In addition, building simple programmes with a fresh installation should be as quick+and painless as possible.++These guidelines will set out the criteria that the Haskell Foundation will use in evaluating+installers. We do not expect any individual to meet all these criteria initially but we would like+them to be met by a collection of installers as quickly as possible.++## 1. Cross Platform Coverage++As many platforms should be covered by the installers as possible. For now, the minimum platforms+that should be covered should include 64-bit Windows, macOS and Linux running on+Intel-x86-compatible processors. This set of minimal platforms will soon have to be extended to+include ARM-architecture processors.++## 2. Uniformity of Delivered Environment++Each installer should deliver a Haskell development environment that includes the following.++  * The current recommended GHC toolchain, as determined by the installer, should be installed out+    of the box, ready to use by all of the installed build systems.++  * Both of the principal build systems (`cabal-install` and `stack`) should be installed,+    available and ready for use in the way their associated development communities would expect.+    (If an installer interrogates the user on installation about which components to install it is+    fine to make `cabal-install` or `stack` optional, provided are both installed when the default+    options are take.)++  * It should be possible to install and manage multiple toolchains that both `stack` and+    `cabal-install` can use. This requires that both `stack` and `cabal-install` need to be+    configurable to access a GHC toolchain that has been installed by the other and the installer+    must configure both toolchains to work with the `starter` GHC toolchain.++## 3. User Installable++It should be possible to install Haskell in the user environment without recourse to administrator+privileges.++## 4. Editor/IDE Support++Although not an initial requirement, We would like to see support for installing important,+development infrastructure beyond the toolchains and the build systems, such as the Haskell Language+Server or the `haskell-mode` for an `emacs` installation.  The installer might not carry out any+such installation, but it could point the user at supporting documentation.++## 5. Preinstalled Packages++This won't be a minimum requirement to start with but the Haskell Foundation would like to encourage+Haskell installation systems to install a core set of precompiled packages, apart from `base`, when+installing the default compiler toolchain (at least). The objective is to allow developers+(especially new developers) to be able to build certain kinds of simple applications quickly and+painlessly after a fresh installation.++## 6. Minimal Requirements++Installer systems should not require as a prerequisite the installation of other major systems that+the average Haskell-curious developer would not be expected to have installed. The requirement that+`chocolatey` be already installed in order to install Haskell on Windows would be undesirable for

Great, if chocolatey can be made an implementation detail inside an install script instead of a user roadblock, then it sounds like this requirement is easy to meet. That doesn't make it unimportant.

cdornan

comment created time in 17 days

PullRequestReviewEvent
PullRequestReviewEvent

Pull request review commenthaskellfoundation/tech-proposals

add installer-guidelines proposal

+# Installer Guidelines++## 0. Objectives++We want people to use Haskell, which means the path to installing Haskell for first-time users+should be short and easy, and it should yield an environment that is easy to use with the supporting+literature. In addition, building simple programmes with a fresh installation should be as quick+and painless as possible.++These guidelines will set out the criteria that the Haskell Foundation will use in evaluating+installers. We do not expect any individual to meet all these criteria initially but we would like+them to be met by a collection of installers as quickly as possible.++## 1. Cross Platform Coverage++As many platforms should be covered by the installers as possible. For now, the minimum platforms+that should be covered should include 64-bit Windows, macOS and Linux running on+Intel-x86-compatible processors. This set of minimal platforms will soon have to be extended to+include ARM-architecture processors.++## 2. Uniformity of Delivered Environment++Each installer should deliver a Haskell development environment that includes the following.++  * The current recommended GHC toolchain, as determined by the installer, should be installed out+    of the box, ready to use by all of the installed build systems.++  * Both of the principal build systems (`cabal-install` and `stack`) should be installed,+    available and ready for use in the way their associated development communities would expect.+    (If an installer interrogates the user on installation about which components to install it is+    fine to make `cabal-install` or `stack` optional, provided are both installed when the default+    options are take.)++  * It should be possible to install and manage multiple toolchains that both `stack` and+    `cabal-install` can use. This requires that both `stack` and `cabal-install` need to be+    configurable to access a GHC toolchain that has been installed by the other and the installer+    must configure both toolchains to work with the `starter` GHC toolchain.++## 3. User Installable++It should be possible to install Haskell in the user environment without recourse to administrator+privileges.++## 4. Editor/IDE Support++Although not an initial requirement, We would like to see support for installing important,+development infrastructure beyond the toolchains and the build systems, such as the Haskell Language+Server or the `haskell-mode` for an `emacs` installation.  The installer might not carry out any+such installation, but it could point the user at supporting documentation.++## 5. Preinstalled Packages++This won't be a minimum requirement to start with but the Haskell Foundation would like to encourage+Haskell installation systems to install a core set of precompiled packages, apart from `base`, when+installing the default compiler toolchain (at least). The objective is to allow developers+(especially new developers) to be able to build certain kinds of simple applications quickly and+painlessly after a fresh installation.

I think it would be reasonable to say that "install a Haskell development environment" includes making certain libraries available. Indeed, it does do exactly that, but currently those libraries are mostly dictated by what GHC needs, rather than what users need. Cabal and stack don't need this because they solve (and/or read-from-config, which is a trivial kind of solving) the version constraints for a project in their own way, and install libraries the way they want. But if the non-project GHCi use case is important (and I definitely think it is), then it would make sense to ask that certain libraries are available by default in a newly installed Haskell development environment. That makes it a concern when evaluating installers.

That doesn't mean we have to land on a technical solution where tools like ghcup contain the implementation for this. It might be that the right way to accomplish the goal is to include the right libraries by default in a new GHC installation. Maybe the right libraries are already included with GHC. We cannot know unless we have a list of those libraries. Prior art for this question has to include the Haskell Platform, which had a list of libraries that it made available by default.

cdornan

comment created time in 17 days

Pull request review commenthaskellfoundation/tech-proposals

add installer-guidelines proposal

+## Introduction++The Haskell Foundation would like see a central Haskell download page in which the Haskell curious+could easily download and run a installer to provide a standard Haskell environment that supports+the principal build tools (`cabal-install` and `stack`) on the main platforms (Linux, macOS and+Windows). All Haskell introductory material (text books, blog posts, etc.) should be able to point+to the Haskell Foundation download page and work on the assumption that it will yield their+widely-supported Haskell development environment.++To this end this proposal covers two things:++  * To publish a set of minimal requirements for a Haskell installer that we are prepared to+    recommend along with a roadmap of the minimal requirements that we are looking to add in the+    future. (The initial requirements will not require precompiled libraries or editor/IDE+    environments but we would like to move in that direction, for example.)++  * To provide a prototype Windows installer for cabal-install-based Haskell development+    environments based on the stack codebase. This is the coverage we are missing at the moment and+    it is easy to do. We anticipate it becoming quickly obsoleted as the more stablished installers+    cover this space, but by providing this we immediately guarantee its coverage.++  * To provide a simplified Haskell download page that prominently displays installers that+    meet our guidelines.++On the basis of early discussions with the principal stakeholders we believe that it is possible to+quickly agree an initial set of requirements and build a Windows installer.+++## Background and Motivation++The exact configuration of Haskell development environments has recently been a contentious issue+leading to regrettable fragmentation and confusion. It should be a priority of the Haskell+Foundation to lead the way in restoring harmony for the health of the Haskell community and its+ecosystem.  The Haskell Foundation should also be well placed to do this with its broad+representation at board level and many sponsors and friends in the community.

And I agree: the primary download page should NOT give choice, but make a choice. This proposal says the opposite, with the motivation to please all political parties. Except, new users don't care about that.

Okay, I was under the impression from some previous conversations with you that you did not agree with that. I'm relieved to hear we are on the same page here. I think it would be great if the Haskell Foundation proposal here would reflect that agreement. My question (for others, not for you) is: Are there parties involved who don't agree with that ultimate goal? Or is this something we all want and just have disagreements over how to get there? It's okay if we don't get there in a single step!

It seems like one way to get there would be to define an ambitious line to aim for (one that represents our authentic combined goals as a community), and concede that there will still be this not-great situation with multiple installers in the short run, but that eventually someone will hopefully cross that line, and the community can unify around that answer. That might not be the right path... who knows... but that's how I interpreted this proposal, as trying to draw that line. I don't think it's a perfect line yet, and I've left my comments as to why. But I don't think it's a non-productive conversation to have.

I'd particularly hate to see the haskell.org committee go one way, and the Haskell Foundation a different way. That would be a real blow to the community, IMO. If we're at risk of that happening, then priority number one (before passing any proposal like this one) should be to figure out why, and how we can build some consensus.

cdornan

comment created time in 18 days

PullRequestReviewEvent

push eventcdsmith/haskell-language-server

Chris Smith

commit sha 4d8984e3d0ae1e07970d20eb5fa6567086ea3e6e

fix a typo

view details

push time in 18 days

fork cdsmith/haskell-language-server

Successor of ghcide & haskell-ide-engine. One IDE to rule them all.

fork in 18 days

issue openedhaskell/haskell-language-server

HLS cannot expand TH splices with {-# OVERLAPPABLE #-}

I have the following in a TH function:

        (: [])
          <$> ( InstanceD (Just Overlappable) typeableCxt
                  <$> [t|Mockable $(pure (instType inst))|] <*> pure []
              )

If I attempt to expand a TH splice that calls this function by choosing "Expand Template Haskell splice (in-place), I get this error from HLS:

Error during expanding splice: [parse error on input ‘#-}’]

If I change the declaration to

        (: [])
          <$> ( InstanceD Nothing typeableCxt
                  <$> [t|Mockable $(pure (instType inst))|] <*> pure []
              )

than TH expansion works as expected.

Your environment

Output of haskell-language-server --probe-tools or haskell-language-server-wrapper --probe-tools: <!-- This command is available since version >= 0.4.0.0 -->

haskell-language-server version: 1.2.0.0 (GHC: 8.10.4) (PATH: /home/cdsmith/.ghcup/bin/haskell-language-server-wrapper-1.2.0) (GIT hash: be2071e985cb417f984ab00a1aad76dee02d6d0b)
Tool versions found on the $PATH
cabal:          3.4.0.0
stack:          2.7.1
ghc:            8.10.5

Which OS do you use: WSL on Windows <!-- Windows, MacOS, Ubuntu, ArchLinux, etc... --> Which lsp-client do you use: VSCode <!-- Neovim, emacs, VS Codium, etc... --> Describe your project (alternative: link to the project): https://github.com/cdsmith/HMock <!-- stack.yaml, package.yaml, *.cabal files, cabal.project --> Contents of hie.yaml: None

Steps to reproduce

Write a TH splice that declares an instance with {-# OVERLAPPABLE #-} (see code above). Try to expand it.

Expected behaviour

It fails. See message above

Actual behaviour

It should succeed.

Include debug information

Execute in the root of your project the command haskell-language-server --debug . and paste the logs here:

<details> <summary> Debug output: </summary>

No 'hie.yaml' found. Try to discover the project type!
Run entered for haskell-language-server-wrapper(haskell-language-server-wrapper) Version 1.2.0.0, Git revision be2071e985cb417f984ab00a1aad76dee02d6d0b (dirty) x86_64 ghc-8.10.4
Current directory: /home/cdsmith/HMock
Operating system: linux
Arguments: ["--debug"]
Cradle directory: /home/cdsmith/HMock
Cradle type: Cabal

Tool versions found on the $PATH
cabal:          3.4.0.0
stack:          2.7.1
ghc:            8.10.5


Consulting the cradle to get project GHC version...
Project GHC version: 8.10.5
haskell-language-server exe candidates: ["haskell-language-server-8.10.5","haskell-language-server"]
Launching haskell-language-server exe at:/home/cdsmith/.ghcup/bin/haskell-language-server-8.10.5
haskell-language-server version: 1.2.0.0 (GHC: 8.10.5) (PATH: /home/cdsmith/.ghcup/bin/haskell-language-server-8.10.5~1.2.0) (GIT hash: be2071e985cb417f984ab00a1aad76dee02d6d0b)
 ghcide setup tester in /home/cdsmith/HMock.
Report bugs at https://github.com/haskell/haskell-language-server/issues

Step 1/4: Finding files to test in /home/cdsmith/HMock
Found 29 files

Step 2/4: Looking for hie.yaml files that control setup
Found 1 cradle
  ()

Step 3/4: Initializing the IDE

Step 4/4: Type checking the files
2021-07-18 18:41:50.5113358 [ThreadId 21] DEBUG hls:    hlint:getIdeas:file:NormalizedFilePath "/home/cdsmith/HMock/src/Test/HMock/TH.hs"
2021-07-18 18:41:50.5116856 [ThreadId 28] DEBUG hls:    hlint:getIdeas:file:NormalizedFilePath "/home/cdsmith/HMock/src/Test/HMock/Internal/State.hs"
2021-07-18 18:41:50.5118129 [ThreadId 29] DEBUG hls:    hlint:getIdeas:file:NormalizedFilePath "/home/cdsmith/HMock/test/Classes.hs"
2021-07-18 18:41:50.5119976 [ThreadId 27] DEBUG hls:    hlint:getIdeas:file:NormalizedFilePath "/home/cdsmith/HMock/src/Test/HMock/MockMethod.hs"
2021-07-18 18:41:50.5119365 [ThreadId 23] DEBUG hls:    hlint:getIdeas:file:NormalizedFilePath "/home/cdsmith/HMock/src/Test/HMock/Internal/Step.hs"
2021-07-18 18:41:50.5127464 [ThreadId 35] INFO hls:     Consulting the cradle for "src/Test/HMock/ExpectContext.hs"
2021-07-18 18:41:50.513234 [ThreadId 27] DEBUG hls:     hlint:getIdeas:file:NormalizedFilePath "/home/cdsmith/HMock/test/DocTests/Test/HMock/Predicates.hs"
2021-07-18 18:41:50.5134669 [ThreadId 23] DEBUG hls:    hlint:getIdeas:file:NormalizedFilePath "/home/cdsmith/HMock/src/Test/HMock/ExpectContext.hs"
2021-07-18 18:41:50.5135103 [ThreadId 35] WARNING hls:  No [cradle](https://github.com/mpickering/hie-bios#hie-bios) found for src/Test/HMock/ExpectContext.hs.
 Proceeding with [implicit cradle](https://hackage.haskell.org/package/implicit-hie).
You should ignore this message, unless you see a 'Multi Cradle: No prefixes matched' error.
2021-07-18 18:41:50.5136329 [ThreadId 27] DEBUG hls:    hlint:getIdeas:file:NormalizedFilePath "/home/cdsmith/HMock/src/Test/HMock/Predicates.hs"
2021-07-18 18:41:50.5140112 [ThreadId 27] DEBUG hls:    hlint:getIdeas:file:NormalizedFilePath "/home/cdsmith/HMock/src/Test/HMock/Internal/Util.hs"
2021-07-18 18:41:50.5141321 [ThreadId 27] DEBUG hls:    hlint:getIdeas:file:NormalizedFilePath "/home/cdsmith/HMock/test/QuasiMockBase.hs"
2021-07-18 18:41:50.5142926 [ThreadId 27] DEBUG hls:    hlint:getIdeas:file:NormalizedFilePath "/home/cdsmith/HMock/test/DocTests/Test/HMock/Multiplicity.hs"
Output from setting up the cradle Cradle {cradleRootDir = "/home/cdsmith/HMock", cradleOptsProg = CradleAction: Cabal}
> Build profile: -w ghc-8.10.5 -O1
> In order, the following will be built (use -v for more details):
>  - HMock-0.3.0.0 (first run)
> Preprocessing library for HMock-0.3.0.0..
2021-07-18 18:41:50.9337759 [ThreadId 35] DEBUG hls:    Session loading result: Right (ComponentOptions {componentOptions = ["-fbuilding-cabal-package","-O0","-outputdir","/home/cdsmith/.cache/hie-bios/dist-HMock-04009d03445c31c0f45ca41bf23065e2/build/x86_64-linux/ghc-8.10.5/HMock-0.3.0.0/build","-odir","/home/cdsmith/.cache/hie-bios/dist-HMock-04009d03445c31c0f45ca41bf23065e2/build/x86_64-linux/ghc-8.10.5/HMock-0.3.0.0/build","-hidir","/home/cdsmith/.cache/hie-bios/dist-HMock-04009d03445c31c0f45ca41bf23065e2/build/x86_64-linux/ghc-8.10.5/HMock-0.3.0.0/build","-stubdir","/home/cdsmith/.cache/hie-bios/dist-HMock-04009d03445c31c0f45ca41bf23065e2/build/x86_64-linux/ghc-8.10.5/HMock-0.3.0.0/build","-i","-i/home/cdsmith/.cache/hie-bios/dist-HMock-04009d03445c31c0f45ca41bf23065e2/build/x86_64-linux/ghc-8.10.5/HMock-0.3.0.0/build","-isrc","-i/home/cdsmith/.cache/hie-bios/dist-HMock-04009d03445c31c0f45ca41bf23065e2/build/x86_64-linux/ghc-8.10.5/HMock-0.3.0.0/build/autogen","-i/home/cdsmith/.cache/hie-bios/dist-HMock-04009d03445c31c0f45ca41bf23065e2/build/x86_64-linux/ghc-8.10.5/HMock-0.3.0.0/build/global-autogen","-I/home/cdsmith/.cache/hie-bios/dist-HMock-04009d03445c31c0f45ca41bf23065e2/build/x86_64-linux/ghc-8.10.5/HMock-0.3.0.0/build/autogen","-I/home/cdsmith/.cache/hie-bios/dist-HMock-04009d03445c31c0f45ca41bf23065e2/build/x86_64-linux/ghc-8.10.5/HMock-0.3.0.0/build/global-autogen","-I/home/cdsmith/.cache/hie-bios/dist-HMock-04009d03445c31c0f45ca41bf23065e2/build/x86_64-linux/ghc-8.10.5/HMock-0.3.0.0/build","-optP-include","-optP/home/cdsmith/.cache/hie-bios/dist-HMock-04009d03445c31c0f45ca41bf23065e2/build/x86_64-linux/ghc-8.10.5/HMock-0.3.0.0/build/autogen/cabal_macros.h","-this-unit-id","HMock-0.3.0.0-inplace","-hide-all-packages","-Wmissing-home-modules","-no-user-package-db","-package-db","/home/cdsmith/.cabal/store/ghc-8.10.5/package.db","-package-db","/home/cdsmith/.cache/hie-bios/dist-HMock-04009d03445c31c0f45ca41bf23065e2/packagedb/ghc-8.10.5","-package-db","/home/cdsmith/.cache/hie-bios/dist-HMock-04009d03445c31c0f45ca41bf23065e2/build/x86_64-linux/ghc-8.10.5/HMock-0.3.0.0/package.conf.inplace","-package-id","base-4.14.2.0","-package-id","constraints-0.13-5130a9dc6c2560dfef23a468bffc662bb5b987d2fcedb687a660959940f95e52","-package-id","containers-0.6.4.1","-package-id","data-default-0.7.1.1-e9214c32cba8d74e97e12c3469e0b7cd2485c9252af051da64a45e4832225b32","-package-id","exceptions-0.10.4","-package-id","extra-1.7.9-571a09e70f314735c99178141e8a2ebf2d4644936f946bcfc2cd0e7777e09555","-package-id","monad-control-1.0.2.3-936a91a3f9c703087c89ea4d0624cc0989ef375bf4b123d5fa04be0b6b17c5f9","-package-id","mono-traversable-1.0.15.1-48c36024137b12c236a26a2a53a9784a7460b7e3d8dddf865f2a83b1a7389b62","-package-id","mtl-2.2.2","-package-id","regex-tdfa-1.3.1.1-c7a19a26cdcd95cecc96824d8f83495eb85dd48b064b819947d17a69cd04e82e","-package-id","stm-2.5.0.1","-package-id","syb-0.7.2.1-559a6f2024a3655710057dfbe3eb2b3c714c5bcb36eb70cff940439a0e7edb63","-package-id","template-haskell-2.16.0.0","-package-id","transformers-base-0.4.5.2-963506f3329d725b0ea5a14c482601f08d9858f061e9f97caef3d08c84c8beca","-package-id","unliftio-0.2.18-a5414d5dbf26d39b6046754f17e0545de8b880e3c59d20fffdf52bacd17c02cf","-XHaskell2010","Test.HMock","Test.HMock.ExpectContext","Test.HMock.Mockable","Test.HMock.MockMethod","Test.HMock.MockT","Test.HMock.Multiplicity","Test.HMock.Predicates","Test.HMock.Rule","Test.HMock.TH","Test.HMock.Internal.ExpectSet","Test.HMock.Internal.Rule","Test.HMock.Internal.State","Test.HMock.Internal.Step","Test.HMock.Internal.TH","Test.HMock.Internal.Util","-Wall","-Wcompat","-Wincomplete-uni-patterns","-hide-all-packages"], componentRoot = "/home/cdsmith/HMock", componentDependencies = ["HMock.cabal","cabal.project","cabal.project.local"]},"/home/cdsmith/.ghcup/ghc/8.10.5/lib/ghc-8.10.5")
2021-07-18 18:41:50.999515 [ThreadId 35] INFO hls:      Using interface files cache dir: /home/cdsmith/.cache/ghcide/HMock-0.3.0.0-inplace-fa2cbee9dfefba9d5975af48b22229e852bf4eea
2021-07-18 18:41:51.0001659 [ThreadId 35] INFO hls:     Making new HscEnv[HMock-0.3.0.0-inplace]
2021-07-18 18:41:51.0110599 [ThreadId 35] DEBUG hls:    New Component Cache HscEnvEq: (([],Just HscEnvEq 5),fromList [("HMock.cabal",Just 2021-06-30 05:25:15.9 UTC),("cabal.project",Just 2021-07-03 08:33:53.51 UTC),("cabal.project.local",Nothing)])
2021-07-18 18:41:51.0560613 [ThreadId 35] DEBUG hls:    Known files updated: fromList [(TargetModule Test.HMock.Rule,fromList ["/home/cdsmith/HMock/src/Test/HMock/Rule.hs"]),(TargetModule Test.HMock.TH,fromList ["/home/cdsmith/HMock/src/Test/HMock/TH.hs"]),(TargetModule Test.HMock.Multiplicity,fromList ["/home/cdsmith/HMock/src/Test/HMock/Multiplicity.hs"]),(TargetModule Test.HMock.MockT,fromList ["/home/cdsmith/HMock/src/Test/HMock/MockT.hs"]),(TargetModule Test.HMock.Internal.State,fromList ["/home/cdsmith/HMock/src/Test/HMock/Internal/State.hs","/home/cdsmith/HMock/src/Test/HMock/Internal/State.hs-boot"]),(TargetModule Test.HMock.MockMethod,fromList ["/home/cdsmith/HMock/src/Test/HMock/MockMethod.hs"]),(TargetModule Test.HMock,fromList ["/home/cdsmith/HMock/src/Test/HMock.hs"]),(TargetModule Test.HMock.Internal.Rule,fromList ["/home/cdsmith/HMock/src/Test/HMock/Internal/Rule.hs"]),(TargetModule Test.HMock.Mockable,fromList ["/home/cdsmith/HMock/src/Test/HMock/Mockable.hs"]),(TargetFile NormalizedFilePath "/home/cdsmith/HMock/src/Test/HMock/ExpectContext.hs",fromList ["/home/cdsmith/HMock/src/Test/HMock/ExpectContext.hs"]),(TargetModule Test.HMock.Internal.Util,fromList ["/home/cdsmith/HMock/src/Test/HMock/Internal/Util.hs"]),(TargetModule Test.HMock.Internal.Step,fromList ["/home/cdsmith/HMock/src/Test/HMock/Internal/Step.hs"]),(TargetModule Test.HMock.Internal.ExpectSet,fromList ["/home/cdsmith/HMock/src/Test/HMock/Internal/ExpectSet.hs"]),(TargetModule Test.HMock.Internal.TH,fromList ["/home/cdsmith/HMock/src/Test/HMock/Internal/TH.hs"]),(TargetModule Test.HMock.Predicates,fromList ["/home/cdsmith/HMock/src/Test/HMock/Predicates.hs"]),(TargetModule Test.HMock.ExpectContext,fromList ["/home/cdsmith/HMock/src/Test/HMock/ExpectContext.hs"])]
2021-07-18 18:41:51.0582836 [ThreadId 17] DEBUG hls:    Finishing build session(exception: AsyncCancelled)
2021-07-18 18:41:51.0585327 [ThreadId 35] DEBUG hls:    Restarting build session for keys [GhcSessionIO; ] (aborting the previous one took 0.00s)
2021-07-18 18:41:51.0770301 [ThreadId 70] DEBUG hls:    hlint:getIdeas:file:NormalizedFilePath "/home/cdsmith/HMock/src/Test/HMock/Multiplicity.hs"
2021-07-18 18:41:51.0773285 [ThreadId 72] DEBUG hls:    hlint:getIdeas:file:NormalizedFilePath "/home/cdsmith/HMock/src/Test/HMock.hs"
2021-07-18 18:41:51.0772596 [ThreadId 76] DEBUG hls:    hlint:getIdeas:file:NormalizedFilePath "/home/cdsmith/HMock/test/Main.hs"
2021-07-18 18:41:51.0774033 [ThreadId 75] DEBUG hls:    hlint:getIdeas:file:NormalizedFilePath "/home/cdsmith/HMock/src/Test/HMock/Predicates.hs"
2021-07-18 18:41:51.0775735 [ThreadId 77] DEBUG hls:    hlint:getIdeas:file:NormalizedFilePath "/home/cdsmith/HMock/src/Test/HMock/TH.hs"
2021-07-18 18:41:51.0779513 [ThreadId 74] DEBUG hls:    hlint:getIdeas:file:NormalizedFilePath "/home/cdsmith/HMock/src/Test/HMock/MockMethod.hs"
2021-07-18 18:41:51.0783101 [ThreadId 71] DEBUG hls:    hlint:getIdeas:file:NormalizedFilePath "/home/cdsmith/HMock/src/Test/HMock/Internal/State.hs"
2021-07-18 18:41:51.0784353 [ThreadId 72] DEBUG hls:    hlint:getIdeas:file:NormalizedFilePath "/home/cdsmith/HMock/test/Extras.hs"
2021-07-18 18:41:51.0784439 [ThreadId 76] DEBUG hls:    hlint:getIdeas:file:NormalizedFilePath "/home/cdsmith/HMock/src/Test/HMock/Internal/Rule.hs"
2021-07-18 18:41:51.0784597 [ThreadId 75] DEBUG hls:    hlint:getIdeas:file:NormalizedFilePath "/home/cdsmith/HMock/src/Test/HMock/ExpectContext.hs"
2021-07-18 18:41:51.0784827 [ThreadId 77] DEBUG hls:    hlint:getIdeas:file:NormalizedFilePath "/home/cdsmith/HMock/src/Test/HMock/MockT.hs"
2021-07-18 18:41:51.0786827 [ThreadId 76] DEBUG hls:    hlint:getIdeas:file:NormalizedFilePath "/home/cdsmith/HMock/src/Test/HMock/Internal/ExpectSet.hs"
2021-07-18 18:41:51.0786083 [ThreadId 71] DEBUG hls:    hlint:getIdeas:file:NormalizedFilePath "/home/cdsmith/HMock/test/Classes.hs"
2021-07-18 18:41:51.0785812 [ThreadId 70] DEBUG hls:    hlint:getIdeas:file:NormalizedFilePath "/home/cdsmith/HMock/test/QuasiMock.hs"
2021-07-18 18:41:51.0786343 [ThreadId 72] DEBUG hls:    hlint:getIdeas:file:NormalizedFilePath "/home/cdsmith/HMock/test/ExpectSet.hs"
2021-07-18 18:41:51.0786738 [ThreadId 74] DEBUG hls:    hlint:getIdeas:file:NormalizedFilePath "/home/cdsmith/HMock/test/QuasiMockBase.hs"
2021-07-18 18:41:51.0831304 [ThreadId 77] DEBUG hls:    hlint:getIdeas:file:NormalizedFilePath "/home/cdsmith/HMock/test/DocTests/All.hs"
2021-07-18 18:41:51.0831896 [ThreadId 75] DEBUG hls:    hlint:getIdeas:file:NormalizedFilePath "/home/cdsmith/HMock/test/Core.hs"
2021-07-18 18:41:51.0832433 [ThreadId 71] DEBUG hls:    hlint:getIdeas:file:NormalizedFilePath "/home/cdsmith/HMock/src/Test/HMock/Internal/Step.hs"
2021-07-18 18:41:51.0833101 [ThreadId 76] DEBUG hls:    hlint:getIdeas:file:NormalizedFilePath "/home/cdsmith/HMock/test/TH.hs"
2021-07-18 18:41:51.0834236 [ThreadId 70] DEBUG hls:    hlint:getIdeas:file:NormalizedFilePath "/home/cdsmith/HMock/test/PolysemyTest.hs"
2021-07-18 18:41:51.083474 [ThreadId 72] DEBUG hls:     hlint:getIdeas:file:NormalizedFilePath "/home/cdsmith/HMock/src/Test/HMock/Rule.hs"
2021-07-18 18:41:51.0837478 [ThreadId 77] DEBUG hls:    hlint:getIdeas:file:NormalizedFilePath "/home/cdsmith/HMock/test/DocTests/Test/HMock/Predicates.hs"
2021-07-18 18:41:51.0838907 [ThreadId 74] DEBUG hls:    hlint:getIdeas:file:NormalizedFilePath "/home/cdsmith/HMock/src/Test/HMock/Mockable.hs"
2021-07-18 18:41:51.0839336 [ThreadId 75] DEBUG hls:    hlint:getIdeas:file:NormalizedFilePath "/home/cdsmith/HMock/test/Demo.hs"
2021-07-18 18:41:51.0841102 [ThreadId 71] DEBUG hls:    hlint:getIdeas:file:NormalizedFilePath "/home/cdsmith/HMock/test/DocTests/Test/HMock/Multiplicity.hs"
2021-07-18 18:41:51.0842688 [ThreadId 70] DEBUG hls:    hlint:getIdeas:file:NormalizedFilePath "/home/cdsmith/HMock/test/Util/DeriveRecursive.hs"
2021-07-18 18:41:51.0842627 [ThreadId 76] DEBUG hls:    hlint:getIdeas:file:NormalizedFilePath "/home/cdsmith/HMock/src/Test/HMock/Internal/TH.hs"
2021-07-18 18:41:51.0871948 [ThreadId 100] INFO hls:    Consulting the cradle for "test/DocTests/Test/HMock/Predicates.hs"
2021-07-18 18:41:51.087322 [ThreadId 100] WARNING hls:  No [cradle](https://github.com/mpickering/hie-bios#hie-bios) found for test/DocTests/Test/HMock/Predicates.hs.
 Proceeding with [implicit cradle](https://hackage.haskell.org/package/implicit-hie).
You should ignore this message, unless you see a 'Multi Cradle: No prefixes matched' error.
Output from setting up the cradle Cradle {cradleRootDir = "/home/cdsmith/HMock", cradleOptsProg = CradleAction: Cabal}
> Build profile: -w ghc-8.10.5 -O1
> In order, the following will be built (use -v for more details):
>  - HMock-0.3.0.0 (first run)
> Preprocessing library for HMock-0.3.0.0..
> Building library for HMock-0.3.0.0..
> [13 of 16] Compiling Test.HMock.Internal.TH ( src/Test/HMock/Internal/TH.hs, /home/cdsmith/.cache/hie-bios/dist-HMock-04009d03445c31c0f45ca41bf23065e2/build/x86_64-linux/ghc-8.10.5/HMock-0.3.0.0/build/Test/HMock/Internal/TH.o, /home/cdsmith/.cache/hie-bios/dist-HMock-04009d03445c31c0f45ca41bf23065e2/build/x86_64-linux/ghc-8.10.5/HMock-0.3.0.0/build/Test/HMock/Internal/TH.dyn_o )
> [14 of 16] Compiling Test.HMock.Predicates ( src/Test/HMock/Predicates.hs, /home/cdsmith/.cache/hie-bios/dist-HMock-04009d03445c31c0f45ca41bf23065e2/build/x86_64-linux/ghc-8.10.5/HMock-0.3.0.0/build/Test/HMock/Predicates.o, /home/cdsmith/.cache/hie-bios/dist-HMock-04009d03445c31c0f45ca41bf23065e2/build/x86_64-linux/ghc-8.10.5/HMock-0.3.0.0/build/Test/HMock/Predicates.dyn_o ) [Test.HMock.Internal.TH changed]
> [15 of 16] Compiling Test.HMock.TH    ( src/Test/HMock/TH.hs, /home/cdsmith/.cache/hie-bios/dist-HMock-04009d03445c31c0f45ca41bf23065e2/build/x86_64-linux/ghc-8.10.5/HMock-0.3.0.0/build/Test/HMock/TH.o, /home/cdsmith/.cache/hie-bios/dist-HMock-04009d03445c31c0f45ca41bf23065e2/build/x86_64-linux/ghc-8.10.5/HMock-0.3.0.0/build/Test/HMock/TH.dyn_o )
> [16 of 16] Compiling Test.HMock       ( src/Test/HMock.hs, /home/cdsmith/.cache/hie-bios/dist-HMock-04009d03445c31c0f45ca41bf23065e2/build/x86_64-linux/ghc-8.10.5/HMock-0.3.0.0/build/Test/HMock.o, /home/cdsmith/.cache/hie-bios/dist-HMock-04009d03445c31c0f45ca41bf23065e2/build/x86_64-linux/ghc-8.10.5/HMock-0.3.0.0/build/Test/HMock.dyn_o ) [Test.HMock.TH changed]
> Preprocessing test suite 'tests' for HMock-0.3.0.0..
2021-07-18 18:41:58.3266716 [ThreadId 100] DEBUG hls:   Session loading result: Right (ComponentOptions {componentOptions = ["-fbuilding-cabal-package","-O0","-outputdir","/home/cdsmith/.cache/hie-bios/dist-HMock-04009d03445c31c0f45ca41bf23065e2/build/x86_64-linux/ghc-8.10.5/HMock-0.3.0.0/build/tests/tests-tmp","-odir","/home/cdsmith/.cache/hie-bios/dist-HMock-04009d03445c31c0f45ca41bf23065e2/build/x86_64-linux/ghc-8.10.5/HMock-0.3.0.0/build/tests/tests-tmp","-hidir","/home/cdsmith/.cache/hie-bios/dist-HMock-04009d03445c31c0f45ca41bf23065e2/build/x86_64-linux/ghc-8.10.5/HMock-0.3.0.0/build/tests/tests-tmp","-stubdir","/home/cdsmith/.cache/hie-bios/dist-HMock-04009d03445c31c0f45ca41bf23065e2/build/x86_64-linux/ghc-8.10.5/HMock-0.3.0.0/build/tests/tests-tmp","-i","-i/home/cdsmith/.cache/hie-bios/dist-HMock-04009d03445c31c0f45ca41bf23065e2/build/x86_64-linux/ghc-8.10.5/HMock-0.3.0.0/build/tests/tests-tmp","-itest","-i/home/cdsmith/.cache/hie-bios/dist-HMock-04009d03445c31c0f45ca41bf23065e2/build/x86_64-linux/ghc-8.10.5/HMock-0.3.0.0/build/tests/autogen","-i/home/cdsmith/.cache/hie-bios/dist-HMock-04009d03445c31c0f45ca41bf23065e2/build/x86_64-linux/ghc-8.10.5/HMock-0.3.0.0/build/global-autogen","-I/home/cdsmith/.cache/hie-bios/dist-HMock-04009d03445c31c0f45ca41bf23065e2/build/x86_64-linux/ghc-8.10.5/HMock-0.3.0.0/build/tests/autogen","-I/home/cdsmith/.cache/hie-bios/dist-HMock-04009d03445c31c0f45ca41bf23065e2/build/x86_64-linux/ghc-8.10.5/HMock-0.3.0.0/build/global-autogen","-I/home/cdsmith/.cache/hie-bios/dist-HMock-04009d03445c31c0f45ca41bf23065e2/build/x86_64-linux/ghc-8.10.5/HMock-0.3.0.0/build/tests/tests-tmp","-optP-include","-optP/home/cdsmith/.cache/hie-bios/dist-HMock-04009d03445c31c0f45ca41bf23065e2/build/x86_64-linux/ghc-8.10.5/HMock-0.3.0.0/build/tests/autogen/cabal_macros.h","-hide-all-packages","-Wmissing-home-modules","-no-user-package-db","-package-db","/home/cdsmith/.cabal/store/ghc-8.10.5/package.db","-package-db","/home/cdsmith/.cache/hie-bios/dist-HMock-04009d03445c31c0f45ca41bf23065e2/packagedb/ghc-8.10.5","-package-db","/home/cdsmith/.cache/hie-bios/dist-HMock-04009d03445c31c0f45ca41bf23065e2/build/x86_64-linux/ghc-8.10.5/HMock-0.3.0.0/package.conf.inplace","-package-id","HMock-0.3.0.0-inplace","-package-id","QuickCheck-2.14.2-53d6748340330bac60c9b6bef913982af886a818987d7b13c07fbdf6a1cbb15f","-package-id","base-4.14.2.0","-package-id","containers-0.6.4.1","-package-id","data-default-0.7.1.1-e9214c32cba8d74e97e12c3469e0b7cd2485c9252af051da64a45e4832225b32","-package-id","deepseq-1.4.4.0","-package-id","directory-1.3.6.0","-package-id","doctest-exitcode-stdio-0.0-fa9815f7c975c8b8de658a68d690604c6bb6a01e5b5d6b33712fca038d0e6788","-package-id","doctest-lib-0.1-64ff08016658f7fcaee7a19d0ca829a76f92eda7dadf7fc80fc559a1fb1f5c98","-package-id","exceptions-0.10.4","-package-id","extra-1.7.9-571a09e70f314735c99178141e8a2ebf2d4644936f946bcfc2cd0e7777e09555","-package-id","hspec-2.8.2-3ce639e1fa969dfc1ada09a851a6961f4e99bb644a4ce16f8ea4f912163a7a75","-package-id","mtl-2.2.2","-package-id","syb-0.7.2.1-559a6f2024a3655710057dfbe3eb2b3c714c5bcb36eb70cff940439a0e7edb63","-package-id","template-haskell-2.16.0.0","-package-id","unliftio-0.2.18-a5414d5dbf26d39b6046754f17e0545de8b880e3c59d20fffdf52bacd17c02cf","-XHaskell2010","test/Main.hs","Classes","Core","Demo","DocTests.All","DocTests.Test.HMock.Multiplicity","DocTests.Test.HMock.Predicates","ExpectSet","Extras","QuasiMock","QuasiMockBase","TH","Util.DeriveRecursive","-Wall","-Wcompat","-Wincomplete-uni-patterns","-Wno-orphans","-hide-all-packages"], componentRoot = "/home/cdsmith/HMock", componentDependencies = ["HMock.cabal","cabal.project","cabal.project.local"]},"/home/cdsmith/.ghcup/ghc/8.10.5/lib/ghc-8.10.5")
2021-07-18 18:41:58.3725663 [ThreadId 100] INFO hls:    Using interface files cache dir: /home/cdsmith/.cache/ghcide/main-b73696ee4d347f335df96aef2f48f412b6ab493e
2021-07-18 18:41:58.3729562 [ThreadId 100] INFO hls:    Using interface files cache dir: /home/cdsmith/.cache/ghcide/HMock-0.3.0.0-inplace-a2a669a836d6311eaea87e1680d9b68ac25618ed
2021-07-18 18:41:58.3733929 [ThreadId 100] INFO hls:    Making new HscEnv[main,HMock-0.3.0.0-inplace]
2021-07-18 18:41:58.3828796 [ThreadId 100] DEBUG hls:   New Component Cache HscEnvEq: (([],Just HscEnvEq 7),fromList [("HMock.cabal",Just 2021-06-30 05:25:15.9 UTC),("cabal.project",Just 2021-07-03 08:33:53.51 UTC),("cabal.project.local",Nothing)])
2021-07-18 18:41:58.3948528 [ThreadId 100] DEBUG hls:   New Component Cache HscEnvEq: (([],Just HscEnvEq 8),fromList [("HMock.cabal",Just 2021-06-30 05:25:15.9 UTC),("cabal.project",Just 2021-07-03 08:33:53.51 UTC),("cabal.project.local",Nothing)])
2021-07-18 18:41:58.4691391 [ThreadId 100] DEBUG hls:   Known files updated: fromList [(TargetModule Extras,fromList ["/home/cdsmith/HMock/test/Extras.hs"]),(TargetModule Test.HMock.Rule,fromList ["/home/cdsmith/HMock/src/Test/HMock/Rule.hs"]),(TargetModule Test.HMock.TH,fromList ["/home/cdsmith/HMock/src/Test/HMock/TH.hs"]),(TargetModule Test.HMock.Multiplicity,fromList ["/home/cdsmith/HMock/src/Test/HMock/Multiplicity.hs"]),(TargetModule Test.HMock.MockT,fromList ["/home/cdsmith/HMock/src/Test/HMock/MockT.hs"]),(TargetModule Core,fromList ["/home/cdsmith/HMock/test/Core.hs"]),(TargetModule Test.HMock.Internal.State,fromList ["/home/cdsmith/HMock/src/Test/HMock/Internal/State.hs","/home/cdsmith/HMock/src/Test/HMock/Internal/State.hs-boot"]),(TargetModule Test.HMock.MockMethod,fromList ["/home/cdsmith/HMock/src/Test/HMock/MockMethod.hs"]),(TargetModule QuasiMockBase,fromList ["/home/cdsmith/HMock/test/QuasiMockBase.hs"]),(TargetFile NormalizedFilePath "/home/cdsmith/HMock/test/DocTests/Test/HMock/Predicates.hs",fromList ["/home/cdsmith/HMock/test/DocTests/Test/HMock/Predicates.hs"]),(TargetModule DocTests.Test.HMock.Multiplicity,fromList ["/home/cdsmith/HMock/test/DocTests/Test/HMock/Multiplicity.hs"]),(TargetModule QuasiMock,fromList ["/home/cdsmith/HMock/test/QuasiMock.hs"]),(TargetFile NormalizedFilePath "/home/cdsmith/HMock/test/Main.hs",fromList ["/home/cdsmith/HMock/test/Main.hs"]),(TargetModule Test.HMock,fromList ["/home/cdsmith/HMock/src/Test/HMock.hs"]),(TargetModule Test.HMock.Internal.Rule,fromList ["/home/cdsmith/HMock/src/Test/HMock/Internal/Rule.hs"]),(TargetModule Classes,fromList ["/home/cdsmith/HMock/test/Classes.hs"]),(TargetModule Test.HMock.Mockable,fromList ["/home/cdsmith/HMock/src/Test/HMock/Mockable.hs"]),(TargetFile NormalizedFilePath "/home/cdsmith/HMock/src/Test/HMock/ExpectContext.hs",fromList ["/home/cdsmith/HMock/src/Test/HMock/ExpectContext.hs"]),(TargetModule ExpectSet,fromList ["/home/cdsmith/HMock/test/ExpectSet.hs"]),(TargetModule Test.HMock.Internal.Util,fromList ["/home/cdsmith/HMock/src/Test/HMock/Internal/Util.hs"]),(TargetModule DocTests.Test.HMock.Predicates,fromList ["/home/cdsmith/HMock/test/DocTests/Test/HMock/Predicates.hs"]),(TargetModule Demo,fromList ["/home/cdsmith/HMock/test/Demo.hs"]),(TargetModule TH,fromList ["/home/cdsmith/HMock/test/TH.hs"]),(TargetModule DocTests.All,fromList ["/home/cdsmith/HMock/test/DocTests/All.hs"]),(TargetModule Test.HMock.Internal.Step,fromList ["/home/cdsmith/HMock/src/Test/HMock/Internal/Step.hs"]),(TargetModule Test.HMock.Internal.ExpectSet,fromList ["/home/cdsmith/HMock/src/Test/HMock/Internal/ExpectSet.hs"]),(TargetModule Test.HMock.Internal.TH,fromList ["/home/cdsmith/HMock/src/Test/HMock/Internal/TH.hs"]),(TargetModule Test.HMock.Predicates,fromList ["/home/cdsmith/HMock/src/Test/HMock/Predicates.hs"]),(TargetModule Util.DeriveRecursive,fromList ["/home/cdsmith/HMock/test/Util/DeriveRecursive.hs"]),(TargetModule Test.HMock.ExpectContext,fromList ["/home/cdsmith/HMock/src/Test/HMock/ExpectContext.hs"])]
2021-07-18 18:41:58.4709913 [ThreadId 59] DEBUG hls:    Finishing build session(exception: AsyncCancelled)
2021-07-18 18:41:58.4711607 [ThreadId 100] DEBUG hls:   Restarting build session for keys [GhcSessionIO; ] (aborting the previous one took 0.00s)
2021-07-18 18:41:58.4890736 [ThreadId 135] DEBUG hls:   hlint:getIdeas:file:NormalizedFilePath "/home/cdsmith/HMock/test/TH.hs"
2021-07-18 18:41:58.4891008 [ThreadId 139] DEBUG hls:   hlint:getIdeas:file:NormalizedFilePath "/home/cdsmith/HMock/src/Test/HMock/Mockable.hs"
2021-07-18 18:41:58.4893244 [ThreadId 133] DEBUG hls:   hlint:getIdeas:file:NormalizedFilePath "/home/cdsmith/HMock/test/DocTests/All.hs"
2021-07-18 18:41:58.4894506 [ThreadId 137] DEBUG hls:   hlint:getIdeas:file:NormalizedFilePath "/home/cdsmith/HMock/src/Test/HMock/Internal/State.hs"
2021-07-18 18:41:58.4896179 [ThreadId 138] DEBUG hls:   hlint:getIdeas:file:NormalizedFilePath "/home/cdsmith/HMock/src/Test/HMock/Internal/Step.hs"
2021-07-18 18:41:58.4896706 [ThreadId 134] DEBUG hls:   hlint:getIdeas:file:NormalizedFilePath "/home/cdsmith/HMock/src/Test/HMock/MockMethod.hs"
2021-07-18 18:41:58.4897058 [ThreadId 135] DEBUG hls:   hlint:getIdeas:file:NormalizedFilePath "/home/cdsmith/HMock/src/Test/HMock/Multiplicity.hs"
2021-07-18 18:41:58.489752 [ThreadId 139] DEBUG hls:    hlint:getIdeas:file:NormalizedFilePath "/home/cdsmith/HMock/test/QuasiMock.hs"
2021-07-18 18:41:58.4898302 [ThreadId 133] DEBUG hls:   hlint:getIdeas:file:NormalizedFilePath "/home/cdsmith/HMock/src/Test/HMock.hs"
2021-07-18 18:41:58.4899653 [ThreadId 137] DEBUG hls:   hlint:getIdeas:file:NormalizedFilePath "/home/cdsmith/HMock/test/Extras.hs"
2021-07-18 18:41:58.490184 [ThreadId 138] DEBUG hls:    hlint:getIdeas:file:NormalizedFilePath "/home/cdsmith/HMock/test/DocTests/Test/HMock/Predicates.hs"
2021-07-18 18:41:58.4903594 [ThreadId 134] DEBUG hls:   hlint:getIdeas:file:NormalizedFilePath "/home/cdsmith/HMock/src/Test/HMock/Internal/Rule.hs"
2021-07-18 18:41:58.4905618 [ThreadId 135] DEBUG hls:   hlint:getIdeas:file:NormalizedFilePath "/home/cdsmith/HMock/test/Core.hs"
2021-07-18 18:41:58.4906587 [ThreadId 139] DEBUG hls:   hlint:getIdeas:file:NormalizedFilePath "/home/cdsmith/HMock/src/Test/HMock/Internal/ExpectSet.hs"
2021-07-18 18:41:58.4907343 [ThreadId 133] DEBUG hls:   hlint:getIdeas:file:NormalizedFilePath "/home/cdsmith/HMock/test/ExpectSet.hs"
2021-07-18 18:41:58.4908446 [ThreadId 140] DEBUG hls:   hlint:getIdeas:file:NormalizedFilePath "/home/cdsmith/HMock/src/Test/HMock/Rule.hs"
2021-07-18 18:41:58.4909431 [ThreadId 138] DEBUG hls:   hlint:getIdeas:file:NormalizedFilePath "/home/cdsmith/HMock/test/QuasiMockBase.hs"
2021-07-18 18:41:58.4909954 [ThreadId 134] DEBUG hls:   hlint:getIdeas:file:NormalizedFilePath "/home/cdsmith/HMock/test/DocTests/Test/HMock/Multiplicity.hs"
2021-07-18 18:41:58.4911478 [ThreadId 137] DEBUG hls:   hlint:getIdeas:file:NormalizedFilePath "/home/cdsmith/HMock/test/Main.hs"
2021-07-18 18:41:58.4913287 [ThreadId 139] DEBUG hls:   hlint:getIdeas:file:NormalizedFilePath "/home/cdsmith/HMock/src/Test/HMock/Internal/TH.hs"
2021-07-18 18:41:58.4913472 [ThreadId 133] DEBUG hls:   hlint:getIdeas:file:NormalizedFilePath "/home/cdsmith/HMock/test/Util/DeriveRecursive.hs"
2021-07-18 18:41:58.4930445 [ThreadId 138] DEBUG hls:   hlint:getIdeas:file:NormalizedFilePath "/home/cdsmith/HMock/test/PolysemyTest.hs"
2021-07-18 18:41:58.4930756 [ThreadId 139] DEBUG hls:   hlint:getIdeas:file:NormalizedFilePath "/home/cdsmith/HMock/src/Test/HMock/Internal/Util.hs"
2021-07-18 18:41:58.4940948 [ThreadId 191] INFO hls:    Consulting the cradle for "test/PolysemyTest.hs"
2021-07-18 18:41:58.4941884 [ThreadId 191] WARNING hls: No [cradle](https://github.com/mpickering/hie-bios#hie-bios) found for test/PolysemyTest.hs.
 Proceeding with [implicit cradle](https://hackage.haskell.org/package/implicit-hie).
You should ignore this message, unless you see a 'Multi Cradle: No prefixes matched' error.
Output from setting up the cradle Cradle {cradleRootDir = "/home/cdsmith/HMock", cradleOptsProg = CradleAction: Cabal}
2021-07-18 18:41:58.5006727 [ThreadId 134] DEBUG hls:   hlint:getIdeas:file:NormalizedFilePath "/home/cdsmith/HMock/src/Test/HMock/TH.hs"
> Build profile: -w ghc-8.10.5 -O1
> In order, the following will be built (use -v for more details):
>  - HMock-0.3.0.0 (first run)
> Preprocessing library for HMock-0.3.0.0..
> Building library for HMock-0.3.0.0..
> Preprocessing test suite 'tests' for HMock-0.3.0.0..
2021-07-18 18:41:59.4814511 [ThreadId 191] DEBUG hls:   Session loading result: Right (ComponentOptions {componentOptions = ["-fbuilding-cabal-package","-O0","-outputdir","/home/cdsmith/.cache/hie-bios/dist-HMock-04009d03445c31c0f45ca41bf23065e2/build/x86_64-linux/ghc-8.10.5/HMock-0.3.0.0/build/tests/tests-tmp","-odir","/home/cdsmith/.cache/hie-bios/dist-HMock-04009d03445c31c0f45ca41bf23065e2/build/x86_64-linux/ghc-8.10.5/HMock-0.3.0.0/build/tests/tests-tmp","-hidir","/home/cdsmith/.cache/hie-bios/dist-HMock-04009d03445c31c0f45ca41bf23065e2/build/x86_64-linux/ghc-8.10.5/HMock-0.3.0.0/build/tests/tests-tmp","-stubdir","/home/cdsmith/.cache/hie-bios/dist-HMock-04009d03445c31c0f45ca41bf23065e2/build/x86_64-linux/ghc-8.10.5/HMock-0.3.0.0/build/tests/tests-tmp","-i","-i/home/cdsmith/.cache/hie-bios/dist-HMock-04009d03445c31c0f45ca41bf23065e2/build/x86_64-linux/ghc-8.10.5/HMock-0.3.0.0/build/tests/tests-tmp","-itest","-i/home/cdsmith/.cache/hie-bios/dist-HMock-04009d03445c31c0f45ca41bf23065e2/build/x86_64-linux/ghc-8.10.5/HMock-0.3.0.0/build/tests/autogen","-i/home/cdsmith/.cache/hie-bios/dist-HMock-04009d03445c31c0f45ca41bf23065e2/build/x86_64-linux/ghc-8.10.5/HMock-0.3.0.0/build/global-autogen","-I/home/cdsmith/.cache/hie-bios/dist-HMock-04009d03445c31c0f45ca41bf23065e2/build/x86_64-linux/ghc-8.10.5/HMock-0.3.0.0/build/tests/autogen","-I/home/cdsmith/.cache/hie-bios/dist-HMock-04009d03445c31c0f45ca41bf23065e2/build/x86_64-linux/ghc-8.10.5/HMock-0.3.0.0/build/global-autogen","-I/home/cdsmith/.cache/hie-bios/dist-HMock-04009d03445c31c0f45ca41bf23065e2/build/x86_64-linux/ghc-8.10.5/HMock-0.3.0.0/build/tests/tests-tmp","-optP-include","-optP/home/cdsmith/.cache/hie-bios/dist-HMock-04009d03445c31c0f45ca41bf23065e2/build/x86_64-linux/ghc-8.10.5/HMock-0.3.0.0/build/tests/autogen/cabal_macros.h","-hide-all-packages","-Wmissing-home-modules","-no-user-package-db","-package-db","/home/cdsmith/.cabal/store/ghc-8.10.5/package.db","-package-db","/home/cdsmith/.cache/hie-bios/dist-HMock-04009d03445c31c0f45ca41bf23065e2/packagedb/ghc-8.10.5","-package-db","/home/cdsmith/.cache/hie-bios/dist-HMock-04009d03445c31c0f45ca41bf23065e2/build/x86_64-linux/ghc-8.10.5/HMock-0.3.0.0/package.conf.inplace","-package-id","HMock-0.3.0.0-inplace","-package-id","QuickCheck-2.14.2-53d6748340330bac60c9b6bef913982af886a818987d7b13c07fbdf6a1cbb15f","-package-id","base-4.14.2.0","-package-id","containers-0.6.4.1","-package-id","data-default-0.7.1.1-e9214c32cba8d74e97e12c3469e0b7cd2485c9252af051da64a45e4832225b32","-package-id","deepseq-1.4.4.0","-package-id","directory-1.3.6.0","-package-id","doctest-exitcode-stdio-0.0-fa9815f7c975c8b8de658a68d690604c6bb6a01e5b5d6b33712fca038d0e6788","-package-id","doctest-lib-0.1-64ff08016658f7fcaee7a19d0ca829a76f92eda7dadf7fc80fc559a1fb1f5c98","-package-id","exceptions-0.10.4","-package-id","extra-1.7.9-571a09e70f314735c99178141e8a2ebf2d4644936f946bcfc2cd0e7777e09555","-package-id","hspec-2.8.2-3ce639e1fa969dfc1ada09a851a6961f4e99bb644a4ce16f8ea4f912163a7a75","-package-id","mtl-2.2.2","-package-id","syb-0.7.2.1-559a6f2024a3655710057dfbe3eb2b3c714c5bcb36eb70cff940439a0e7edb63","-package-id","template-haskell-2.16.0.0","-package-id","unliftio-0.2.18-a5414d5dbf26d39b6046754f17e0545de8b880e3c59d20fffdf52bacd17c02cf","-XHaskell2010","test/Main.hs","Classes","Core","Demo","DocTests.All","DocTests.Test.HMock.Multiplicity","DocTests.Test.HMock.Predicates","ExpectSet","Extras","QuasiMock","QuasiMockBase","TH","Util.DeriveRecursive","-Wall","-Wcompat","-Wincomplete-uni-patterns","-Wno-orphans","-hide-all-packages"], componentRoot = "/home/cdsmith/HMock", componentDependencies = ["HMock.cabal","cabal.project","cabal.project.local"]},"/home/cdsmith/.ghcup/ghc/8.10.5/lib/ghc-8.10.5")
2021-07-18 18:41:59.5273464 [ThreadId 191] INFO hls:    Using interface files cache dir: /home/cdsmith/.cache/ghcide/main-b73696ee4d347f335df96aef2f48f412b6ab493e
2021-07-18 18:41:59.5277155 [ThreadId 191] INFO hls:    Using interface files cache dir: /home/cdsmith/.cache/ghcide/main-b73696ee4d347f335df96aef2f48f412b6ab493e
2021-07-18 18:41:59.5281034 [ThreadId 191] INFO hls:    Using interface files cache dir: /home/cdsmith/.cache/ghcide/HMock-0.3.0.0-inplace-a2a669a836d6311eaea87e1680d9b68ac25618ed
2021-07-18 18:41:59.5286283 [ThreadId 191] INFO hls:    Making new HscEnv[main,main,HMock-0.3.0.0-inplace]
2021-07-18 18:41:59.5364637 [ThreadId 191] DEBUG hls:   New Component Cache HscEnvEq: (([],Just HscEnvEq 10),fromList [("HMock.cabal",Just 2021-06-30 05:25:15.9 UTC),("cabal.project",Just 2021-07-03 08:33:53.51 UTC),("cabal.project.local",Nothing)])
2021-07-18 18:41:59.5475409 [ThreadId 191] DEBUG hls:   New Component Cache HscEnvEq: (([],Just HscEnvEq 11),fromList [("HMock.cabal",Just 2021-06-30 05:25:15.9 UTC),("cabal.project",Just 2021-07-03 08:33:53.51 UTC),("cabal.project.local",Nothing)])
2021-07-18 18:41:59.5590502 [ThreadId 191] DEBUG hls:   New Component Cache HscEnvEq: (([],Just HscEnvEq 12),fromList [("HMock.cabal",Just 2021-06-30 05:25:15.9 UTC),("cabal.project",Just 2021-07-03 08:33:53.51 UTC),("cabal.project.local",Nothing)])
2021-07-18 18:41:59.6501397 [ThreadId 191] DEBUG hls:   Known files updated: fromList [(TargetModule Extras,fromList ["/home/cdsmith/HMock/test/Extras.hs"]),(TargetModule Test.HMock.Rule,fromList ["/home/cdsmith/HMock/src/Test/HMock/Rule.hs"]),(TargetModule Test.HMock.TH,fromList ["/home/cdsmith/HMock/src/Test/HMock/TH.hs"]),(TargetModule Test.HMock.Multiplicity,fromList ["/home/cdsmith/HMock/src/Test/HMock/Multiplicity.hs"]),(TargetModule Test.HMock.MockT,fromList ["/home/cdsmith/HMock/src/Test/HMock/MockT.hs"]),(TargetModule Core,fromList ["/home/cdsmith/HMock/test/Core.hs"]),(TargetModule Test.HMock.Internal.State,fromList ["/home/cdsmith/HMock/src/Test/HMock/Internal/State.hs","/home/cdsmith/HMock/src/Test/HMock/Internal/State.hs-boot"]),(TargetModule Test.HMock.MockMethod,fromList ["/home/cdsmith/HMock/src/Test/HMock/MockMethod.hs"]),(TargetModule QuasiMockBase,fromList ["/home/cdsmith/HMock/test/QuasiMockBase.hs"]),(TargetFile NormalizedFilePath "/home/cdsmith/HMock/test/DocTests/Test/HMock/Predicates.hs",fromList ["/home/cdsmith/HMock/test/DocTests/Test/HMock/Predicates.hs"]),(TargetModule DocTests.Test.HMock.Multiplicity,fromList ["/home/cdsmith/HMock/test/DocTests/Test/HMock/Multiplicity.hs"]),(TargetModule QuasiMock,fromList ["/home/cdsmith/HMock/test/QuasiMock.hs"]),(TargetFile NormalizedFilePath "/home/cdsmith/HMock/test/Main.hs",fromList ["/home/cdsmith/HMock/test/Main.hs"]),(TargetModule Test.HMock,fromList ["/home/cdsmith/HMock/src/Test/HMock.hs"]),(TargetModule Test.HMock.Internal.Rule,fromList ["/home/cdsmith/HMock/src/Test/HMock/Internal/Rule.hs"]),(TargetModule Classes,fromList ["/home/cdsmith/HMock/test/Classes.hs"]),(TargetModule Test.HMock.Mockable,fromList ["/home/cdsmith/HMock/src/Test/HMock/Mockable.hs"]),(TargetFile NormalizedFilePath "/home/cdsmith/HMock/src/Test/HMock/ExpectContext.hs",fromList ["/home/cdsmith/HMock/src/Test/HMock/ExpectContext.hs"]),(TargetModule ExpectSet,fromList ["/home/cdsmith/HMock/test/ExpectSet.hs"]),(TargetModule Test.HMock.Internal.Util,fromList ["/home/cdsmith/HMock/src/Test/HMock/Internal/Util.hs"]),(TargetModule DocTests.Test.HMock.Predicates,fromList ["/home/cdsmith/HMock/test/DocTests/Test/HMock/Predicates.hs"]),(TargetModule Demo,fromList ["/home/cdsmith/HMock/test/Demo.hs"]),(TargetFile NormalizedFilePath "/home/cdsmith/HMock/test/PolysemyTest.hs",fromList ["/home/cdsmith/HMock/test/PolysemyTest.hs"]),(TargetModule TH,fromList ["/home/cdsmith/HMock/test/TH.hs"]),(TargetModule DocTests.All,fromList ["/home/cdsmith/HMock/test/DocTests/All.hs"]),(TargetModule Test.HMock.Internal.Step,fromList ["/home/cdsmith/HMock/src/Test/HMock/Internal/Step.hs"]),(TargetModule Test.HMock.Internal.ExpectSet,fromList ["/home/cdsmith/HMock/src/Test/HMock/Internal/ExpectSet.hs"]),(TargetModule Test.HMock.Internal.TH,fromList ["/home/cdsmith/HMock/src/Test/HMock/Internal/TH.hs"]),(TargetModule Test.HMock.Predicates,fromList ["/home/cdsmith/HMock/src/Test/HMock/Predicates.hs"]),(TargetModule Util.DeriveRecursive,fromList ["/home/cdsmith/HMock/test/Util/DeriveRecursive.hs"]),(TargetModule Test.HMock.ExpectContext,fromList ["/home/cdsmith/HMock/src/Test/HMock/ExpectContext.hs"])]
2021-07-18 18:41:59.6514459 [ThreadId 122] DEBUG hls:   Finishing build session(exception: AsyncCancelled)
2021-07-18 18:41:59.6516498 [ThreadId 191] DEBUG hls:   Restarting build session for keys [GhcSessionIO; ] (aborting the previous one took 0.00s)
2021-07-18 18:41:59.6765244 [ThreadId 229] DEBUG hls:   hlint:getIdeas:file:NormalizedFilePath "/home/cdsmith/HMock/test/DocTests/All.hs"
2021-07-18 18:41:59.6765846 [ThreadId 225] DEBUG hls:   hlint:getIdeas:file:NormalizedFilePath "/home/cdsmith/HMock/src/Test/HMock/Internal/State.hs"
2021-07-18 18:41:59.6766426 [ThreadId 224] DEBUG hls:   hlint:getIdeas:file:NormalizedFilePath "/home/cdsmith/HMock/src/Test/HMock/TH.hs"
2021-07-18 18:41:59.6768822 [ThreadId 228] DEBUG hls:   hlint:getIdeas:file:NormalizedFilePath "/home/cdsmith/HMock/src/Test/HMock/Rule.hs"
2021-07-18 18:41:59.6770003 [ThreadId 229] DEBUG hls:   hlint:getIdeas:file:NormalizedFilePath "/home/cdsmith/HMock/src/Test/HMock/Internal/ExpectSet.hs"
2021-07-18 18:41:59.6770959 [ThreadId 225] DEBUG hls:   hlint:getIdeas:file:NormalizedFilePath "/home/cdsmith/HMock/test/QuasiMock.hs"
2021-07-18 18:41:59.6772024 [ThreadId 224] DEBUG hls:   hlint:getIdeas:file:NormalizedFilePath "/home/cdsmith/HMock/src/Test/HMock/ExpectContext.hs"
2021-07-18 18:41:59.6773008 [ThreadId 228] DEBUG hls:   hlint:getIdeas:file:NormalizedFilePath "/home/cdsmith/HMock/src/Test/HMock/Multiplicity.hs"
2021-07-18 18:41:59.6776797 [ThreadId 230] DEBUG hls:   hlint:getIdeas:file:NormalizedFilePath "/home/cdsmith/HMock/test/Extras.hs"
2021-07-18 18:41:59.6785769 [ThreadId 229] DEBUG hls:   hlint:getIdeas:file:NormalizedFilePath "/home/cdsmith/HMock/test/Core.hs"
2021-07-18 18:41:59.678765 [ThreadId 229] DEBUG hls:    hlint:getIdeas:file:NormalizedFilePath "/home/cdsmith/HMock/test/Util/DeriveRecursive.hs"
2021-07-18 18:41:59.6789626 [ThreadId 225] DEBUG hls:   hlint:getIdeas:file:NormalizedFilePath "/home/cdsmith/HMock/test/Main.hs"
2021-07-18 18:41:59.6801472 [ThreadId 228] DEBUG hls:   hlint:getIdeas:file:NormalizedFilePath "/home/cdsmith/HMock/src/Test/HMock/Mockable.hs"
2021-07-18 18:41:59.6805041 [ThreadId 228] DEBUG hls:   hlint:getIdeas:file:NormalizedFilePath "/home/cdsmith/HMock/src/Test/HMock/Internal/TH.hs"
2021-07-18 18:41:59.6806037 [ThreadId 228] DEBUG hls:   hlint:getIdeas:file:NormalizedFilePath "/home/cdsmith/HMock/src/Test/HMock/Internal/Rule.hs"
2021-07-18 18:41:59.6807207 [ThreadId 228] DEBUG hls:   hlint:getIdeas:file:NormalizedFilePath "/home/cdsmith/HMock/test/QuasiMockBase.hs"
2021-07-18 18:41:59.6807456 [ThreadId 223] DEBUG hls:   hlint:getIdeas:file:NormalizedFilePath "/home/cdsmith/HMock/test/TH.hs"
2021-07-18 18:41:59.6808523 [ThreadId 223] DEBUG hls:   hlint:getIdeas:file:NormalizedFilePath "/home/cdsmith/HMock/test/ExpectSet.hs"
2021-07-18 18:41:59.6809849 [ThreadId 223] DEBUG hls:   hlint:getIdeas:file:NormalizedFilePath "/home/cdsmith/HMock/test/Demo.hs"
2021-07-18 18:41:59.6811073 [ThreadId 230] DEBUG hls:   hlint:getIdeas:file:NormalizedFilePath "/home/cdsmith/HMock/test/Classes.hs"
2021-07-18 18:41:59.6812145 [ThreadId 230] DEBUG hls:   hlint:getIdeas:file:NormalizedFilePath "/home/cdsmith/HMock/src/Test/HMock/Internal/Util.hs"
2021-07-18 18:41:59.6814807 [ThreadId 227] DEBUG hls:   hlint:getIdeas:file:NormalizedFilePath "/home/cdsmith/HMock/test/DocTests/Test/HMock/Predicates.hs"
2021-07-18 18:41:59.6816244 [ThreadId 227] DEBUG hls:   hlint:getIdeas:file:NormalizedFilePath "/home/cdsmith/HMock/src/Test/HMock/Internal/Step.hs"
2021-07-18 18:41:59.681768 [ThreadId 227] DEBUG hls:    hlint:getIdeas:file:NormalizedFilePath "/home/cdsmith/HMock/test/DocTests/Test/HMock/Multiplicity.hs"
2021-07-18 18:41:59.6841257 [ThreadId 223] DEBUG hls:   hlint:getIdeas:file:NormalizedFilePath "/home/cdsmith/HMock/test/PolysemyTest.hs"
2021-07-18 18:41:59.6848596 [ThreadId 227] DEBUG hls:   hlint:getIdeas:file:NormalizedFilePath "/home/cdsmith/HMock/src/Test/HMock/MockT.hs"
2021-07-18 18:41:59.6851129 [ThreadId 229] DEBUG hls:   hlint:getIdeas:file:NormalizedFilePath "/home/cdsmith/HMock/src/Test/HMock.hs"
2021-07-18 18:41:59.6852327 [ThreadId 229] DEBUG hls:   hlint:getIdeas:file:NormalizedFilePath "/home/cdsmith/HMock/src/Test/HMock/MockMethod.hs"
2021-07-18 18:41:59.6988815 [ThreadId 229] DEBUG hls:   hlint:getIdeas:file:NormalizedFilePath "/home/cdsmith/HMock/src/Test/HMock/Predicates.hs"
2021-07-18 18:41:59.7985574 [ThreadId 308] INFO hls:    File:     /home/cdsmith/HMock/test/PolysemyTest.hs
Hidden:   no
Range:    1:1-2:1
Source:   pragmas
Severity: DsError
Message: 
  Unexpected usage error
  Could not find module ‘Polysemy.Plugin’
  Use -v (or `:set -v` in ghci) to see a list of the files searched for.
2021-07-18 18:42:00.9102623 [ThreadId 316] INFO hls:    File:     /home/cdsmith/HMock/src/Test/HMock/TH.hs
Hidden:   no
Range:    511:35-511:47
Source:   hlint
Severity: DsInfo
Message: 
  Use tuple-section
  Found:
  \ x -> (i, x)
  Why not:
  (i,)
  may require `{-# LANGUAGE TupleSections #-}` adding to the top of the file
GHC error in desugarer lookup in Ghci1:
  attempting to use module ‘main:Core’ (/home/cdsmith/HMock/test/Core.hs) which is not loaded
GHC error in desugarer lookup in Ghci1:
  Can't find interface-file declaration for variable $tcSocketHandle
    Probable cause: bug in .hi-boot file, or inconsistent .hi file
    Use -ddump-if-trace to get an idea of which file caused the error
GHC error in desugarer lookup in Ghci1:
  Can't find interface-file declaration for variable $tcSocketHandle
    Probable cause: bug in .hi-boot file, or inconsistent .hi file
    Use -ddump-if-trace to get an idea of which file caused the error
2021-07-18 18:42:03.0180889 [ThreadId 1055] INFO hls:   File:     /home/cdsmith/HMock/test/Classes.hs
Hidden:   no
Range:    358:1-358:56
Source:   typecheck
Severity: DsError
Message: 
  Multiple declarations of ‘FdMixed_’
  Declared at: /home/cdsmith/HMock/test/Classes.hs:354:1
  /home/cdsmith/HMock/test/Classes.hs:358:1
File:     /home/cdsmith/HMock/test/Classes.hs
Hidden:   no
Range:    358:1-358:56
Source:   typecheck
Severity: DsError
Message: 
  Multiple declarations of ‘FdMixed’
  Declared at: /home/cdsmith/HMock/test/Classes.hs:354:1
  /home/cdsmith/HMock/test/Classes.hs:358:1
2021-07-18 18:42:03.0191722 [ThreadId 1100] INFO hls:   finish: User TypeCheck (took 3.37s)
2021-07-18 18:42:03.0199635 [ThreadId 1104] INFO hls:   finish: GetHie (took 0.00s)
2021-07-18 18:42:03.020647 [ThreadId 1110] INFO hls:    finish: GenerateCore (took 0.00s)
Files that failed:
 * /home/cdsmith/HMock/test/Classes.hs
 * /home/cdsmith/HMock/test/Main.hs
 * /home/cdsmith/HMock/test/PolysemyTest.hs

Completed (26 files worked, 3 files failed)
haskell-language-server-8.10.5: allocatestack.c:384: advise_stack_range: Assertion `freesize < size' failed.
haskell-language-server-wrapper: callProcess: /home/cdsmith/.ghcup/bin/haskell-language-server-8.10.5 "--debug" (exit -6): failed

</details>

Paste the logs from the lsp-client, e.g. for VS Code

<details> <summary> LSP logs: </summary>

<paste your logs here>

</details>

created time in 18 days

issue openedhaskell/haskell-language-server

Show TH scope errors on correct line

When I build something with HLS that uses template haskell and there's a variable not in scope, I get this:

Exception when trying to run compile-time code:
  /home/cdsmith/HMock/test/Classes.hs:282:1: error:
    • Variable not in scope:
        makeMockableType
          :: Language.Haskell.TH.Lib.Internal.TypeQ
             -> Language.Haskell.TH.Lib.Internal.DecsQ
    • Perhaps you meant ‘makeMockable’ (imported from Test.HMock)
(deferred type error)
Code: makeMockableType_af6Vo [t| MonadFDSpecialized String |]

The error message identifies a line number, but HLS flags the error at the first character of the file, making me scroll to the location of the error manually.

Your environment

Output of haskell-language-server --probe-tools or haskell-language-server-wrapper --probe-tools: <!-- This command is available since version >= 0.4.0.0 -->

haskell-language-server version: 1.2.0.0 (GHC: 8.10.4) (PATH: /home/cdsmith/.ghcup/bin/haskell-language-server-wrapper-1.2.0) (GIT hash: be2071e985cb417f984ab00a1aad76dee02d6d0b)
Tool versions found on the $PATH
cabal:          3.4.0.0
stack:          2.7.1
ghc:            8.10.5

Which OS do you use: WSL on Windows <!-- Windows, MacOS, Ubuntu, ArchLinux, etc... --> Which lsp-client do you use: VSCode <!-- Neovim, emacs, VS Codium, etc... --> Describe your project (alternative: link to the project): https://github.com/cdsmith/HMock <!-- stack.yaml, package.yaml, *.cabal files, cabal.project --> Contents of hie.yaml: None

Steps to reproduce

<!-- Tell us how to reproduce this issue. --> Write a TH splice that uses an undefined symbol. Click on the error.

Expected behaviour

The error should be located on the correct line.

Actual behaviour

The error is location on the first character of the file.

Include debug information

Execute in the root of your project the command haskell-language-server --debug . and paste the logs here:

<details> <summary> Debug output: </summary>

haskell-language-server version: 1.2.0.0 (GHC: 8.10.5) (PATH: /home/cdsmith/.ghcup/bin/haskell-language-server-8.10.5~1.2.0) (GIT hash: be2071e985cb417f984ab00a1aad76dee02d6d0b)
 ghcide setup tester in /home/cdsmith/HMock.
Report bugs at https://github.com/haskell/haskell-language-server/issues

Step 1/4: Finding files to test in /home/cdsmith/HMock
Found 29 files

Step 2/4: Looking for hie.yaml files that control setup
Found 1 cradle
  ()

Step 3/4: Initializing the IDE

Step 4/4: Type checking the files
2021-07-18 16:40:49.4378135 [ThreadId 30] INFO hls:     Consulting the cradle for "test/DocTests/All.hs"
2021-07-18 16:40:49.4381695 [ThreadId 30] WARNING hls:  No [cradle](https://github.com/mpickering/hie-bios#hie-bios) found for test/DocTests/All.hs.
 Proceeding with [implicit cradle](https://hackage.haskell.org/package/implicit-hie).
You should ignore this message, unless you see a 'Multi Cradle: No prefixes matched' error.
Output from setting up the cradle Cradle {cradleRootDir = "/home/cdsmith/HMock", cradleOptsProg = CradleAction: Cabal}
> Build profile: -w ghc-8.10.5 -O1
> In order, the following will be built (use -v for more details):
>  - HMock-0.3.0.0 (first run)
> Preprocessing library for HMock-0.3.0.0..
> Building library for HMock-0.3.0.0..
> Preprocessing test suite 'tests' for HMock-0.3.0.0..
2021-07-18 16:40:50.4760823 [ThreadId 30] DEBUG hls:    Session loading result: Right (ComponentOptions {componentOptions = ["-fbuilding-cabal-package","-O0","-outputdir","/home/cdsmith/.cache/hie-bios/dist-HMock-04009d03445c31c0f45ca41bf23065e2/build/x86_64-linux/ghc-8.10.5/HMock-0.3.0.0/build/tests/tests-tmp","-odir","/home/cdsmith/.cache/hie-bios/dist-HMock-04009d03445c31c0f45ca41bf23065e2/build/x86_64-linux/ghc-8.10.5/HMock-0.3.0.0/build/tests/tests-tmp","-hidir","/home/cdsmith/.cache/hie-bios/dist-HMock-04009d03445c31c0f45ca41bf23065e2/build/x86_64-linux/ghc-8.10.5/HMock-0.3.0.0/build/tests/tests-tmp","-stubdir","/home/cdsmith/.cache/hie-bios/dist-HMock-04009d03445c31c0f45ca41bf23065e2/build/x86_64-linux/ghc-8.10.5/HMock-0.3.0.0/build/tests/tests-tmp","-i","-i/home/cdsmith/.cache/hie-bios/dist-HMock-04009d03445c31c0f45ca41bf23065e2/build/x86_64-linux/ghc-8.10.5/HMock-0.3.0.0/build/tests/tests-tmp","-itest","-i/home/cdsmith/.cache/hie-bios/dist-HMock-04009d03445c31c0f45ca41bf23065e2/build/x86_64-linux/ghc-8.10.5/HMock-0.3.0.0/build/tests/autogen","-i/home/cdsmith/.cache/hie-bios/dist-HMock-04009d03445c31c0f45ca41bf23065e2/build/x86_64-linux/ghc-8.10.5/HMock-0.3.0.0/build/global-autogen","-I/home/cdsmith/.cache/hie-bios/dist-HMock-04009d03445c31c0f45ca41bf23065e2/build/x86_64-linux/ghc-8.10.5/HMock-0.3.0.0/build/tests/autogen","-I/home/cdsmith/.cache/hie-bios/dist-HMock-04009d03445c31c0f45ca41bf23065e2/build/x86_64-linux/ghc-8.10.5/HMock-0.3.0.0/build/global-autogen","-I/home/cdsmith/.cache/hie-bios/dist-HMock-04009d03445c31c0f45ca41bf23065e2/build/x86_64-linux/ghc-8.10.5/HMock-0.3.0.0/build/tests/tests-tmp","-optP-include","-optP/home/cdsmith/.cache/hie-bios/dist-HMock-04009d03445c31c0f45ca41bf23065e2/build/x86_64-linux/ghc-8.10.5/HMock-0.3.0.0/build/tests/autogen/cabal_macros.h","-hide-all-packages","-Wmissing-home-modules","-no-user-package-db","-package-db","/home/cdsmith/.cabal/store/ghc-8.10.5/package.db","-package-db","/home/cdsmith/.cache/hie-bios/dist-HMock-04009d03445c31c0f45ca41bf23065e2/packagedb/ghc-8.10.5","-package-db","/home/cdsmith/.cache/hie-bios/dist-HMock-04009d03445c31c0f45ca41bf23065e2/build/x86_64-linux/ghc-8.10.5/HMock-0.3.0.0/package.conf.inplace","-package-id","HMock-0.3.0.0-inplace","-package-id","QuickCheck-2.14.2-53d6748340330bac60c9b6bef913982af886a818987d7b13c07fbdf6a1cbb15f","-package-id","base-4.14.2.0","-package-id","containers-0.6.4.1","-package-id","data-default-0.7.1.1-e9214c32cba8d74e97e12c3469e0b7cd2485c9252af051da64a45e4832225b32","-package-id","deepseq-1.4.4.0","-package-id","directory-1.3.6.0","-package-id","doctest-exitcode-stdio-0.0-fa9815f7c975c8b8de658a68d690604c6bb6a01e5b5d6b33712fca038d0e6788","-package-id","doctest-lib-0.1-64ff08016658f7fcaee7a19d0ca829a76f92eda7dadf7fc80fc559a1fb1f5c98","-package-id","exceptions-0.10.4","-package-id","extra-1.7.9-571a09e70f314735c99178141e8a2ebf2d4644936f946bcfc2cd0e7777e09555","-package-id","hspec-2.8.2-3ce639e1fa969dfc1ada09a851a6961f4e99bb644a4ce16f8ea4f912163a7a75","-package-id","mtl-2.2.2","-package-id","syb-0.7.2.1-559a6f2024a3655710057dfbe3eb2b3c714c5bcb36eb70cff940439a0e7edb63","-package-id","template-haskell-2.16.0.0","-package-id","unliftio-0.2.18-a5414d5dbf26d39b6046754f17e0545de8b880e3c59d20fffdf52bacd17c02cf","-XHaskell2010","test/Main.hs","Classes","Core","Demo","DocTests.All","DocTests.Test.HMock.Multiplicity","DocTests.Test.HMock.Predicates","ExpectSet","Extras","QuasiMock","QuasiMockBase","TH","Util.DeriveRecursive","-Wall","-Wcompat","-Wincomplete-uni-patterns","-Wno-orphans","-hide-all-packages"], componentRoot = "/home/cdsmith/HMock", componentDependencies = ["HMock.cabal","cabal.project","cabal.project.local"]},"/home/cdsmith/.ghcup/ghc/8.10.5/lib/ghc-8.10.5")
2021-07-18 16:40:50.5324795 [ThreadId 30] INFO hls:     Using interface files cache dir: /home/cdsmith/.cache/ghcide/main-a2a669a836d6311eaea87e1680d9b68ac25618ed
2021-07-18 16:40:50.5330364 [ThreadId 30] INFO hls:     Making new HscEnv[main]
2021-07-18 16:40:50.5431831 [ThreadId 30] DEBUG hls:    New Component Cache HscEnvEq: (([],Just HscEnvEq 5),fromList [("HMock.cabal",Just 2021-06-30 05:25:15.9 UTC),("cabal.project",Just 2021-07-03 08:33:53.51 UTC),("cabal.project.local",Nothing)])
2021-07-18 16:40:50.5719155 [ThreadId 30] DEBUG hls:    Known files updated: fromList [(TargetModule Extras,fromList ["/home/cdsmith/HMock/test/Extras.hs"]),(TargetModule Core,fromList ["/home/cdsmith/HMock/test/Core.hs"]),(TargetModule QuasiMockBase,fromList ["/home/cdsmith/HMock/test/QuasiMockBase.hs"]),(TargetModule DocTests.Test.HMock.Multiplicity,fromList ["/home/cdsmith/HMock/test/DocTests/Test/HMock/Multiplicity.hs"]),(TargetModule QuasiMock,fromList ["/home/cdsmith/HMock/test/QuasiMock.hs"]),(TargetFile NormalizedFilePath "/home/cdsmith/HMock/test/DocTests/All.hs",fromList ["/home/cdsmith/HMock/test/DocTests/All.hs"]),(TargetFile NormalizedFilePath "/home/cdsmith/HMock/test/Main.hs",fromList ["/home/cdsmith/HMock/test/Main.hs"]),(TargetModule Classes,fromList ["/home/cdsmith/HMock/test/Classes.hs"]),(TargetModule ExpectSet,fromList ["/home/cdsmith/HMock/test/ExpectSet.hs"]),(TargetModule DocTests.Test.HMock.Predicates,fromList ["/home/cdsmith/HMock/test/DocTests/Test/HMock/Predicates.hs"]),(TargetModule Demo,fromList ["/home/cdsmith/HMock/test/Demo.hs"]),(TargetModule TH,fromList ["/home/cdsmith/HMock/test/TH.hs"]),(TargetModule DocTests.All,fromList ["/home/cdsmith/HMock/test/DocTests/All.hs"]),(TargetModule Util.DeriveRecursive,fromList ["/home/cdsmith/HMock/test/Util/DeriveRecursive.hs"])]
2021-07-18 16:40:50.5734485 [ThreadId 17] DEBUG hls:    Finishing build session(exception: AsyncCancelled)
2021-07-18 16:40:50.5735846 [ThreadId 30] DEBUG hls:    Restarting build session for keys [GhcSessionIO; ] (aborting the previous one took 0.00s)
2021-07-18 16:40:50.5934962 [ThreadId 63] DEBUG hls:    hlint:getIdeas:file:NormalizedFilePath "/home/cdsmith/HMock/test/Demo.hs"
2021-07-18 16:40:50.5935161 [ThreadId 62] DEBUG hls:    hlint:getIdeas:file:NormalizedFilePath "/home/cdsmith/HMock/src/Test/HMock/Multiplicity.hs"
2021-07-18 16:40:50.5935631 [ThreadId 61] DEBUG hls:    hlint:getIdeas:file:NormalizedFilePath "/home/cdsmith/HMock/src/Test/HMock/Internal/ExpectSet.hs"
2021-07-18 16:40:50.5941567 [ThreadId 61] DEBUG hls:    hlint:getIdeas:file:NormalizedFilePath "/home/cdsmith/HMock/src/Test/HMock/Predicates.hs"
2021-07-18 16:40:50.5942065 [ThreadId 68] DEBUG hls:    hlint:getIdeas:file:NormalizedFilePath "/home/cdsmith/HMock/test/QuasiMock.hs"
2021-07-18 16:40:50.5943025 [ThreadId 66] DEBUG hls:    hlint:getIdeas:file:NormalizedFilePath "/home/cdsmith/HMock/test/Extras.hs"
2021-07-18 16:40:50.59435 [ThreadId 61] DEBUG hls:      hlint:getIdeas:file:NormalizedFilePath "/home/cdsmith/HMock/src/Test/HMock/TH.hs"
2021-07-18 16:40:50.5944524 [ThreadId 62] DEBUG hls:    hlint:getIdeas:file:NormalizedFilePath "/home/cdsmith/HMock/test/PolysemyTest.hs"
2021-07-18 16:40:50.5947162 [ThreadId 63] DEBUG hls:    hlint:getIdeas:file:NormalizedFilePath "/home/cdsmith/HMock/src/Test/HMock/MockMethod.hs"
2021-07-18 16:40:50.5949197 [ThreadId 66] DEBUG hls:    hlint:getIdeas:file:NormalizedFilePath "/home/cdsmith/HMock/test/ExpectSet.hs"
2021-07-18 16:40:50.5950296 [ThreadId 68] DEBUG hls:    hlint:getIdeas:file:NormalizedFilePath "/home/cdsmith/HMock/test/DocTests/All.hs"
2021-07-18 16:40:50.5950737 [ThreadId 65] DEBUG hls:    hlint:getIdeas:file:NormalizedFilePath "/home/cdsmith/HMock/src/Test/HMock/ExpectContext.hs"
2021-07-18 16:40:50.5951946 [ThreadId 67] DEBUG hls:    hlint:getIdeas:file:NormalizedFilePath "/home/cdsmith/HMock/test/Classes.hs"
2021-07-18 16:40:50.5955051 [ThreadId 63] DEBUG hls:    hlint:getIdeas:file:NormalizedFilePath "/home/cdsmith/HMock/src/Test/HMock/Internal/Rule.hs"
2021-07-18 16:40:50.5958859 [ThreadId 61] DEBUG hls:    hlint:getIdeas:file:NormalizedFilePath "/home/cdsmith/HMock/test/TH.hs"
2021-07-18 16:40:50.5960119 [ThreadId 65] DEBUG hls:    hlint:getIdeas:file:NormalizedFilePath "/home/cdsmith/HMock/test/Core.hs"
2021-07-18 16:40:50.5961931 [ThreadId 68] DEBUG hls:    hlint:getIdeas:file:NormalizedFilePath "/home/cdsmith/HMock/test/DocTests/Test/HMock/Predicates.hs"
2021-07-18 16:40:50.5964806 [ThreadId 61] DEBUG hls:    hlint:getIdeas:file:NormalizedFilePath "/home/cdsmith/HMock/test/Main.hs"
2021-07-18 16:40:50.5972068 [ThreadId 66] DEBUG hls:    hlint:getIdeas:file:NormalizedFilePath "/home/cdsmith/HMock/src/Test/HMock/Internal/Step.hs"
2021-07-18 16:40:50.5983439 [ThreadId 66] DEBUG hls:    hlint:getIdeas:file:NormalizedFilePath "/home/cdsmith/HMock/src/Test/HMock/MockT.hs"
2021-07-18 16:40:50.5984734 [ThreadId 65] DEBUG hls:    hlint:getIdeas:file:NormalizedFilePath "/home/cdsmith/HMock/test/QuasiMockBase.hs"
2021-07-18 16:40:50.5994882 [ThreadId 66] DEBUG hls:    hlint:getIdeas:file:NormalizedFilePath "/home/cdsmith/HMock/src/Test/HMock/Internal/Util.hs"
2021-07-18 16:40:50.5995677 [ThreadId 65] DEBUG hls:    hlint:getIdeas:file:NormalizedFilePath "/home/cdsmith/HMock/test/DocTests/Test/HMock/Multiplicity.hs"
2021-07-18 16:40:50.6004368 [ThreadId 65] DEBUG hls:    hlint:getIdeas:file:NormalizedFilePath "/home/cdsmith/HMock/test/Util/DeriveRecursive.hs"
2021-07-18 16:40:50.6008045 [ThreadId 67] DEBUG hls:    hlint:getIdeas:file:NormalizedFilePath "/home/cdsmith/HMock/src/Test/HMock/Internal/State.hs"
2021-07-18 16:40:50.6032138 [ThreadId 96] INFO hls:     Consulting the cradle for "src/Test/HMock.hs"
2021-07-18 16:40:50.6033653 [ThreadId 96] WARNING hls:  No [cradle](https://github.com/mpickering/hie-bios#hie-bios) found for src/Test/HMock.hs.
 Proceeding with [implicit cradle](https://hackage.haskell.org/package/implicit-hie).
You should ignore this message, unless you see a 'Multi Cradle: No prefixes matched' error.
Output from setting up the cradle Cradle {cradleRootDir = "/home/cdsmith/HMock", cradleOptsProg = CradleAction: Cabal}
> Build profile: -w ghc-8.10.5 -O1
> In order, the following will be built (use -v for more details):
>  - HMock-0.3.0.0 (first run)
> Preprocessing library for HMock-0.3.0.0..
2021-07-18 16:40:50.9220347 [ThreadId 96] DEBUG hls:    Session loading result: Right (ComponentOptions {componentOptions = ["-fbuilding-cabal-package","-O0","-outputdir","/home/cdsmith/.cache/hie-bios/dist-HMock-04009d03445c31c0f45ca41bf23065e2/build/x86_64-linux/ghc-8.10.5/HMock-0.3.0.0/build","-odir","/home/cdsmith/.cache/hie-bios/dist-HMock-04009d03445c31c0f45ca41bf23065e2/build/x86_64-linux/ghc-8.10.5/HMock-0.3.0.0/build","-hidir","/home/cdsmith/.cache/hie-bios/dist-HMock-04009d03445c31c0f45ca41bf23065e2/build/x86_64-linux/ghc-8.10.5/HMock-0.3.0.0/build","-stubdir","/home/cdsmith/.cache/hie-bios/dist-HMock-04009d03445c31c0f45ca41bf23065e2/build/x86_64-linux/ghc-8.10.5/HMock-0.3.0.0/build","-i","-i/home/cdsmith/.cache/hie-bios/dist-HMock-04009d03445c31c0f45ca41bf23065e2/build/x86_64-linux/ghc-8.10.5/HMock-0.3.0.0/build","-isrc","-i/home/cdsmith/.cache/hie-bios/dist-HMock-04009d03445c31c0f45ca41bf23065e2/build/x86_64-linux/ghc-8.10.5/HMock-0.3.0.0/build/autogen","-i/home/cdsmith/.cache/hie-bios/dist-HMock-04009d03445c31c0f45ca41bf23065e2/build/x86_64-linux/ghc-8.10.5/HMock-0.3.0.0/build/global-autogen","-I/home/cdsmith/.cache/hie-bios/dist-HMock-04009d03445c31c0f45ca41bf23065e2/build/x86_64-linux/ghc-8.10.5/HMock-0.3.0.0/build/autogen","-I/home/cdsmith/.cache/hie-bios/dist-HMock-04009d03445c31c0f45ca41bf23065e2/build/x86_64-linux/ghc-8.10.5/HMock-0.3.0.0/build/global-autogen","-I/home/cdsmith/.cache/hie-bios/dist-HMock-04009d03445c31c0f45ca41bf23065e2/build/x86_64-linux/ghc-8.10.5/HMock-0.3.0.0/build","-optP-include","-optP/home/cdsmith/.cache/hie-bios/dist-HMock-04009d03445c31c0f45ca41bf23065e2/build/x86_64-linux/ghc-8.10.5/HMock-0.3.0.0/build/autogen/cabal_macros.h","-this-unit-id","HMock-0.3.0.0-inplace","-hide-all-packages","-Wmissing-home-modules","-no-user-package-db","-package-db","/home/cdsmith/.cabal/store/ghc-8.10.5/package.db","-package-db","/home/cdsmith/.cache/hie-bios/dist-HMock-04009d03445c31c0f45ca41bf23065e2/packagedb/ghc-8.10.5","-package-db","/home/cdsmith/.cache/hie-bios/dist-HMock-04009d03445c31c0f45ca41bf23065e2/build/x86_64-linux/ghc-8.10.5/HMock-0.3.0.0/package.conf.inplace","-package-id","base-4.14.2.0","-package-id","constraints-0.13-5130a9dc6c2560dfef23a468bffc662bb5b987d2fcedb687a660959940f95e52","-package-id","containers-0.6.4.1","-package-id","data-default-0.7.1.1-e9214c32cba8d74e97e12c3469e0b7cd2485c9252af051da64a45e4832225b32","-package-id","exceptions-0.10.4","-package-id","extra-1.7.9-571a09e70f314735c99178141e8a2ebf2d4644936f946bcfc2cd0e7777e09555","-package-id","monad-control-1.0.2.3-936a91a3f9c703087c89ea4d0624cc0989ef375bf4b123d5fa04be0b6b17c5f9","-package-id","mono-traversable-1.0.15.1-48c36024137b12c236a26a2a53a9784a7460b7e3d8dddf865f2a83b1a7389b62","-package-id","mtl-2.2.2","-package-id","regex-tdfa-1.3.1.1-c7a19a26cdcd95cecc96824d8f83495eb85dd48b064b819947d17a69cd04e82e","-package-id","stm-2.5.0.1","-package-id","syb-0.7.2.1-559a6f2024a3655710057dfbe3eb2b3c714c5bcb36eb70cff940439a0e7edb63","-package-id","template-haskell-2.16.0.0","-package-id","transformers-base-0.4.5.2-963506f3329d725b0ea5a14c482601f08d9858f061e9f97caef3d08c84c8beca","-package-id","unliftio-0.2.18-a5414d5dbf26d39b6046754f17e0545de8b880e3c59d20fffdf52bacd17c02cf","-XHaskell2010","Test.HMock","Test.HMock.ExpectContext","Test.HMock.Mockable","Test.HMock.MockMethod","Test.HMock.MockT","Test.HMock.Multiplicity","Test.HMock.Predicates","Test.HMock.Rule","Test.HMock.TH","Test.HMock.Internal.ExpectSet","Test.HMock.Internal.Rule","Test.HMock.Internal.State","Test.HMock.Internal.Step","Test.HMock.Internal.TH","Test.HMock.Internal.Util","-Wall","-Wcompat","-Wincomplete-uni-patterns","-hide-all-packages"], componentRoot = "/home/cdsmith/HMock", componentDependencies = ["HMock.cabal","cabal.project","cabal.project.local"]},"/home/cdsmith/.ghcup/ghc/8.10.5/lib/ghc-8.10.5")
2021-07-18 16:40:50.9951689 [ThreadId 96] INFO hls:     Using interface files cache dir: /home/cdsmith/.cache/ghcide/HMock-0.3.0.0-inplace-fa2cbee9dfefba9d5975af48b22229e852bf4eea
2021-07-18 16:40:50.9956104 [ThreadId 96] INFO hls:     Using interface files cache dir: /home/cdsmith/.cache/ghcide/main-ab504d377e339180c71d2346f15ae80a840f9a16
2021-07-18 16:40:50.995886 [ThreadId 96] INFO hls:      Making new HscEnv[HMock-0.3.0.0-inplace,main]
2021-07-18 16:40:51.0069704 [ThreadId 96] DEBUG hls:    New Component Cache HscEnvEq: (([],Just HscEnvEq 7),fromList [("HMock.cabal",Just 2021-06-30 05:25:15.9 UTC),("cabal.project",Just 2021-07-03 08:33:53.51 UTC),("cabal.project.local",Nothing)])
2021-07-18 16:40:51.0448292 [ThreadId 96] DEBUG hls:    New Component Cache HscEnvEq: (([],Just HscEnvEq 8),fromList [("HMock.cabal",Just 2021-06-30 05:25:15.9 UTC),("cabal.project",Just 2021-07-03 08:33:53.51 UTC),("cabal.project.local",Nothing)])
2021-07-18 16:40:51.1394373 [ThreadId 96] DEBUG hls:    Known files updated: fromList [(TargetModule Extras,fromList ["/home/cdsmith/HMock/test/Extras.hs"]),(TargetModule Test.HMock.Rule,fromList ["/home/cdsmith/HMock/src/Test/HMock/Rule.hs"]),(TargetModule Test.HMock.TH,fromList ["/home/cdsmith/HMock/src/Test/HMock/TH.hs"]),(TargetModule Test.HMock.Multiplicity,fromList ["/home/cdsmith/HMock/src/Test/HMock/Multiplicity.hs"]),(TargetModule Test.HMock.MockT,fromList ["/home/cdsmith/HMock/src/Test/HMock/MockT.hs"]),(TargetFile NormalizedFilePath "/home/cdsmith/HMock/src/Test/HMock.hs",fromList ["/home/cdsmith/HMock/src/Test/HMock.hs"]),(TargetModule Core,fromList ["/home/cdsmith/HMock/test/Core.hs"]),(TargetModule Test.HMock.Internal.State,fromList ["/home/cdsmith/HMock/src/Test/HMock/Internal/State.hs","/home/cdsmith/HMock/src/Test/HMock/Internal/State.hs-boot"]),(TargetModule Test.HMock.MockMethod,fromList ["/home/cdsmith/HMock/src/Test/HMock/MockMethod.hs"]),(TargetModule QuasiMockBase,fromList ["/home/cdsmith/HMock/test/QuasiMockBase.hs"]),(TargetModule DocTests.Test.HMock.Multiplicity,fromList ["/home/cdsmith/HMock/test/DocTests/Test/HMock/Multiplicity.hs"]),(TargetModule QuasiMock,fromList ["/home/cdsmith/HMock/test/QuasiMock.hs"]),(TargetFile NormalizedFilePath "/home/cdsmith/HMock/test/DocTests/All.hs",fromList ["/home/cdsmith/HMock/test/DocTests/All.hs"]),(TargetFile NormalizedFilePath "/home/cdsmith/HMock/test/Main.hs",fromList ["/home/cdsmith/HMock/test/Main.hs"]),(TargetModule Test.HMock,fromList ["/home/cdsmith/HMock/src/Test/HMock.hs"]),(TargetModule Test.HMock.Internal.Rule,fromList ["/home/cdsmith/HMock/src/Test/HMock/Internal/Rule.hs"]),(TargetModule Classes,fromList ["/home/cdsmith/HMock/test/Classes.hs"]),(TargetModule Test.HMock.Mockable,fromList ["/home/cdsmith/HMock/src/Test/HMock/Mockable.hs"]),(TargetModule ExpectSet,fromList ["/home/cdsmith/HMock/test/ExpectSet.hs"]),(TargetModule Test.HMock.Internal.Util,fromList ["/home/cdsmith/HMock/src/Test/HMock/Internal/Util.hs"]),(TargetModule DocTests.Test.HMock.Predicates,fromList ["/home/cdsmith/HMock/test/DocTests/Test/HMock/Predicates.hs"]),(TargetModule Demo,fromList ["/home/cdsmith/HMock/test/Demo.hs"]),(TargetModule TH,fromList ["/home/cdsmith/HMock/test/TH.hs"]),(TargetModule DocTests.All,fromList ["/home/cdsmith/HMock/test/DocTests/All.hs"]),(TargetModule Test.HMock.Internal.Step,fromList ["/home/cdsmith/HMock/src/Test/HMock/Internal/Step.hs"]),(TargetModule Test.HMock.Internal.ExpectSet,fromList ["/home/cdsmith/HMock/src/Test/HMock/Internal/ExpectSet.hs"]),(TargetModule Test.HMock.Internal.TH,fromList ["/home/cdsmith/HMock/src/Test/HMock/Internal/TH.hs"]),(TargetModule Test.HMock.Predicates,fromList ["/home/cdsmith/HMock/src/Test/HMock/Predicates.hs"]),(TargetModule Util.DeriveRecursive,fromList ["/home/cdsmith/HMock/test/Util/DeriveRecursive.hs"]),(TargetModule Test.HMock.ExpectContext,fromList ["/home/cdsmith/HMock/src/Test/HMock/ExpectContext.hs"])]
2021-07-18 16:40:51.1441245 [ThreadId 50] DEBUG hls:    Finishing build session(exception: AsyncCancelled)
2021-07-18 16:40:51.144266 [ThreadId 96] DEBUG hls:     Restarting build session for keys [GhcSessionIO; ] (aborting the previous one took 0.00s)
2021-07-18 16:40:51.1603008 [ThreadId 133] DEBUG hls:   hlint:getIdeas:file:NormalizedFilePath "/home/cdsmith/HMock/test/QuasiMock.hs"
2021-07-18 16:40:51.1603335 [ThreadId 134] DEBUG hls:   hlint:getIdeas:file:NormalizedFilePath "/home/cdsmith/HMock/test/DocTests/Test/HMock/Predicates.hs"
2021-07-18 16:40:51.1603859 [ThreadId 135] DEBUG hls:   hlint:getIdeas:file:NormalizedFilePath "/home/cdsmith/HMock/src/Test/HMock/Internal/State.hs"
2021-07-18 16:40:51.1604507 [ThreadId 130] DEBUG hls:   hlint:getIdeas:file:NormalizedFilePath "/home/cdsmith/HMock/test/DocTests/Test/HMock/Multiplicity.hs"
2021-07-18 16:40:51.1604826 [ThreadId 129] DEBUG hls:   hlint:getIdeas:file:NormalizedFilePath "/home/cdsmith/HMock/test/Extras.hs"
2021-07-18 16:40:51.1605581 [ThreadId 128] DEBUG hls:   hlint:getIdeas:file:NormalizedFilePath "/home/cdsmith/HMock/test/DocTests/All.hs"
2021-07-18 16:40:51.1606113 [ThreadId 132] DEBUG hls:   hlint:getIdeas:file:NormalizedFilePath "/home/cdsmith/HMock/src/Test/HMock/Predicates.hs"
2021-07-18 16:40:51.1607266 [ThreadId 133] DEBUG hls:   hlint:getIdeas:file:NormalizedFilePath "/home/cdsmith/HMock/test/QuasiMockBase.hs"
2021-07-18 16:40:51.1607738 [ThreadId 134] DEBUG hls:   hlint:getIdeas:file:NormalizedFilePath "/home/cdsmith/HMock/src/Test/HMock/Internal/ExpectSet.hs"
2021-07-18 16:40:51.1609341 [ThreadId 135] DEBUG hls:   hlint:getIdeas:file:NormalizedFilePath "/home/cdsmith/HMock/src/Test/HMock/Rule.hs"
2021-07-18 16:40:51.1609837 [ThreadId 130] DEBUG hls:   hlint:getIdeas:file:NormalizedFilePath "/home/cdsmith/HMock/src/Test/HMock/Internal/Step.hs"
2021-07-18 16:40:51.1611338 [ThreadId 129] DEBUG hls:   hlint:getIdeas:file:NormalizedFilePath "/home/cdsmith/HMock/test/TH.hs"
2021-07-18 16:40:51.1612039 [ThreadId 128] DEBUG hls:   hlint:getIdeas:file:NormalizedFilePath "/home/cdsmith/HMock/src/Test/HMock/Internal/Util.hs"
2021-07-18 16:40:51.1613376 [ThreadId 132] DEBUG hls:   hlint:getIdeas:file:NormalizedFilePath "/home/cdsmith/HMock/src/Test/HMock/ExpectContext.hs"
2021-07-18 16:40:51.1616096 [ThreadId 134] DEBUG hls:   hlint:getIdeas:file:NormalizedFilePath "/home/cdsmith/HMock/test/Util/DeriveRecursive.hs"
2021-07-18 16:40:51.161515 [ThreadId 133] DEBUG hls:    hlint:getIdeas:file:NormalizedFilePath "/home/cdsmith/HMock/src/Test/HMock/Multiplicity.hs"
2021-07-18 16:40:51.161707 [ThreadId 135] DEBUG hls:    hlint:getIdeas:file:NormalizedFilePath "/home/cdsmith/HMock/src/Test/HMock/MockT.hs"
2021-07-18 16:40:51.1620329 [ThreadId 130] DEBUG hls:   hlint:getIdeas:file:NormalizedFilePath "/home/cdsmith/HMock/src/Test/HMock/TH.hs"
2021-07-18 16:40:51.1622243 [ThreadId 129] DEBUG hls:   hlint:getIdeas:file:NormalizedFilePath "/home/cdsmith/HMock/src/Test/HMock/MockMethod.hs"
2021-07-18 16:40:51.1624963 [ThreadId 128] DEBUG hls:   hlint:getIdeas:file:NormalizedFilePath "/home/cdsmith/HMock/src/Test/HMock/Internal/TH.hs"
2021-07-18 16:40:51.1625379 [ThreadId 134] DEBUG hls:   hlint:getIdeas:file:NormalizedFilePath "/home/cdsmith/HMock/src/Test/HMock/Mockable.hs"
2021-07-18 16:40:51.1625772 [ThreadId 133] DEBUG hls:   hlint:getIdeas:file:NormalizedFilePath "/home/cdsmith/HMock/test/PolysemyTest.hs"
2021-07-18 16:40:51.1626239 [ThreadId 132] DEBUG hls:   hlint:getIdeas:file:NormalizedFilePath "/home/cdsmith/HMock/test/Demo.hs"
2021-07-18 16:40:51.1626319 [ThreadId 135] DEBUG hls:   hlint:getIdeas:file:NormalizedFilePath "/home/cdsmith/HMock/src/Test/HMock/Internal/Rule.hs"
2021-07-18 16:40:51.1627745 [ThreadId 130] DEBUG hls:   hlint:getIdeas:file:NormalizedFilePath "/home/cdsmith/HMock/test/Main.hs"
2021-07-18 16:40:51.2626239 [ThreadId 130] DEBUG hls:   hlint:getIdeas:file:NormalizedFilePath "/home/cdsmith/HMock/src/Test/HMock.hs"
2021-07-18 16:40:51.4284184 [ThreadId 328] INFO hls:    Consulting the cradle for "test/PolysemyTest.hs"
2021-07-18 16:40:51.4286104 [ThreadId 328] WARNING hls: No [cradle](https://github.com/mpickering/hie-bios#hie-bios) found for test/PolysemyTest.hs.
 Proceeding with [implicit cradle](https://hackage.haskell.org/package/implicit-hie).
You should ignore this message, unless you see a 'Multi Cradle: No prefixes matched' error.
Output from setting up the cradle Cradle {cradleRootDir = "/home/cdsmith/HMock", cradleOptsProg = CradleAction: Cabal}
> Build profile: -w ghc-8.10.5 -O1
> In order, the following will be built (use -v for more details):
>  - HMock-0.3.0.0 (first run)
2021-07-18 16:40:51.6498831 [ThreadId 132] DEBUG hls:   hlint:getIdeas:file:NormalizedFilePath "/home/cdsmith/HMock/test/Core.hs"
> Preprocessing library for HMock-0.3.0.0..
> Building library for HMock-0.3.0.0..
2021-07-18 16:40:51.9311625 [ThreadId 132] DEBUG hls:   hlint:getIdeas:file:NormalizedFilePath "/home/cdsmith/HMock/test/Classes.hs"
2021-07-18 16:40:52.9066906 [ThreadId 132] DEBUG hls:   hlint:getIdeas:file:NormalizedFilePath "/home/cdsmith/HMock/test/ExpectSet.hs"
> Preprocessing test suite 'tests' for HMock-0.3.0.0..
2021-07-18 16:40:53.184282 [ThreadId 328] DEBUG hls:    Session loading result: Right (ComponentOptions {componentOptions = ["-fbuilding-cabal-package","-O0","-outputdir","/home/cdsmith/.cache/hie-bios/dist-HMock-04009d03445c31c0f45ca41bf23065e2/build/x86_64-linux/ghc-8.10.5/HMock-0.3.0.0/build/tests/tests-tmp","-odir","/home/cdsmith/.cache/hie-bios/dist-HMock-04009d03445c31c0f45ca41bf23065e2/build/x86_64-linux/ghc-8.10.5/HMock-0.3.0.0/build/tests/tests-tmp","-hidir","/home/cdsmith/.cache/hie-bios/dist-HMock-04009d03445c31c0f45ca41bf23065e2/build/x86_64-linux/ghc-8.10.5/HMock-0.3.0.0/build/tests/tests-tmp","-stubdir","/home/cdsmith/.cache/hie-bios/dist-HMock-04009d03445c31c0f45ca41bf23065e2/build/x86_64-linux/ghc-8.10.5/HMock-0.3.0.0/build/tests/tests-tmp","-i","-i/home/cdsmith/.cache/hie-bios/dist-HMock-04009d03445c31c0f45ca41bf23065e2/build/x86_64-linux/ghc-8.10.5/HMock-0.3.0.0/build/tests/tests-tmp","-itest","-i/home/cdsmith/.cache/hie-bios/dist-HMock-04009d03445c31c0f45ca41bf23065e2/build/x86_64-linux/ghc-8.10.5/HMock-0.3.0.0/build/tests/autogen","-i/home/cdsmith/.cache/hie-bios/dist-HMock-04009d03445c31c0f45ca41bf23065e2/build/x86_64-linux/ghc-8.10.5/HMock-0.3.0.0/build/global-autogen","-I/home/cdsmith/.cache/hie-bios/dist-HMock-04009d03445c31c0f45ca41bf23065e2/build/x86_64-linux/ghc-8.10.5/HMock-0.3.0.0/build/tests/autogen","-I/home/cdsmith/.cache/hie-bios/dist-HMock-04009d03445c31c0f45ca41bf23065e2/build/x86_64-linux/ghc-8.10.5/HMock-0.3.0.0/build/global-autogen","-I/home/cdsmith/.cache/hie-bios/dist-HMock-04009d03445c31c0f45ca41bf23065e2/build/x86_64-linux/ghc-8.10.5/HMock-0.3.0.0/build/tests/tests-tmp","-optP-include","-optP/home/cdsmith/.cache/hie-bios/dist-HMock-04009d03445c31c0f45ca41bf23065e2/build/x86_64-linux/ghc-8.10.5/HMock-0.3.0.0/build/tests/autogen/cabal_macros.h","-hide-all-packages","-Wmissing-home-modules","-no-user-package-db","-package-db","/home/cdsmith/.cabal/store/ghc-8.10.5/package.db","-package-db","/home/cdsmith/.cache/hie-bios/dist-HMock-04009d03445c31c0f45ca41bf23065e2/packagedb/ghc-8.10.5","-package-db","/home/cdsmith/.cache/hie-bios/dist-HMock-04009d03445c31c0f45ca41bf23065e2/build/x86_64-linux/ghc-8.10.5/HMock-0.3.0.0/package.conf.inplace","-package-id","HMock-0.3.0.0-inplace","-package-id","QuickCheck-2.14.2-53d6748340330bac60c9b6bef913982af886a818987d7b13c07fbdf6a1cbb15f","-package-id","base-4.14.2.0","-package-id","containers-0.6.4.1","-package-id","data-default-0.7.1.1-e9214c32cba8d74e97e12c3469e0b7cd2485c9252af051da64a45e4832225b32","-package-id","deepseq-1.4.4.0","-package-id","directory-1.3.6.0","-package-id","doctest-exitcode-stdio-0.0-fa9815f7c975c8b8de658a68d690604c6bb6a01e5b5d6b33712fca038d0e6788","-package-id","doctest-lib-0.1-64ff08016658f7fcaee7a19d0ca829a76f92eda7dadf7fc80fc559a1fb1f5c98","-package-id","exceptions-0.10.4","-package-id","extra-1.7.9-571a09e70f314735c99178141e8a2ebf2d4644936f946bcfc2cd0e7777e09555","-package-id","hspec-2.8.2-3ce639e1fa969dfc1ada09a851a6961f4e99bb644a4ce16f8ea4f912163a7a75","-package-id","mtl-2.2.2","-package-id","syb-0.7.2.1-559a6f2024a3655710057dfbe3eb2b3c714c5bcb36eb70cff940439a0e7edb63","-package-id","template-haskell-2.16.0.0","-package-id","unliftio-0.2.18-a5414d5dbf26d39b6046754f17e0545de8b880e3c59d20fffdf52bacd17c02cf","-XHaskell2010","test/Main.hs","Classes","Core","Demo","DocTests.All","DocTests.Test.HMock.Multiplicity","DocTests.Test.HMock.Predicates","ExpectSet","Extras","QuasiMock","QuasiMockBase","TH","Util.DeriveRecursive","-Wall","-Wcompat","-Wincomplete-uni-patterns","-Wno-orphans","-hide-all-packages"], componentRoot = "/home/cdsmith/HMock", componentDependencies = ["HMock.cabal","cabal.project","cabal.project.local"]},"/home/cdsmith/.ghcup/ghc/8.10.5/lib/ghc-8.10.5")
2021-07-18 16:40:53.2345827 [ThreadId 328] INFO hls:    Using interface files cache dir: /home/cdsmith/.cache/ghcide/main-b73696ee4d347f335df96aef2f48f412b6ab493e
2021-07-18 16:40:53.2349543 [ThreadId 328] INFO hls:    Using interface files cache dir: /home/cdsmith/.cache/ghcide/HMock-0.3.0.0-inplace-a2a669a836d6311eaea87e1680d9b68ac25618ed
2021-07-18 16:40:53.2352595 [ThreadId 328] INFO hls:    Using interface files cache dir: /home/cdsmith/.cache/ghcide/main-b73696ee4d347f335df96aef2f48f412b6ab493e
2021-07-18 16:40:53.2355195 [ThreadId 328] INFO hls:    Making new HscEnv[main,HMock-0.3.0.0-inplace,main]
2021-07-18 16:40:53.2432048 [ThreadId 328] DEBUG hls:   New Component Cache HscEnvEq: (([],Just HscEnvEq 13),fromList [("HMock.cabal",Just 2021-06-30 05:25:15.9 UTC),("cabal.project",Just 2021-07-03 08:33:53.51 UTC),("cabal.project.local",Nothing)])
2021-07-18 16:40:53.2540265 [ThreadId 328] DEBUG hls:   New Component Cache HscEnvEq: (([],Just HscEnvEq 14),fromList [("HMock.cabal",Just 2021-06-30 05:25:15.9 UTC),("cabal.project",Just 2021-07-03 08:33:53.51 UTC),("cabal.project.local",Nothing)])
2021-07-18 16:40:53.2704824 [ThreadId 328] DEBUG hls:   New Component Cache HscEnvEq: (([],Just HscEnvEq 15),fromList [("HMock.cabal",Just 2021-06-30 05:25:15.9 UTC),("cabal.project",Just 2021-07-03 08:33:53.51 UTC),("cabal.project.local",Nothing)])
2021-07-18 16:40:53.2852907 [ThreadId 129] INFO hls:    File:     /home/cdsmith/HMock/src/Test/HMock/TH.hs
Hidden:   no
Range:    493:35-493:47
Source:   hlint
Severity: DsInfo
Message: 
  Use tuple-section
  Found:
  \ x -> (i, x)
  Why not:
  (i,)
  may require `{-# LANGUAGE TupleSections #-}` adding to the top of the file
2021-07-18 16:40:53.3247239 [ThreadId 328] DEBUG hls:   Known files updated: fromList [(TargetModule Extras,fromList ["/home/cdsmith/HMock/test/Extras.hs"]),(TargetModule Test.HMock.Rule,fromList ["/home/cdsmith/HMock/src/Test/HMock/Rule.hs"]),(TargetModule Test.HMock.TH,fromList ["/home/cdsmith/HMock/src/Test/HMock/TH.hs"]),(TargetModule Test.HMock.Multiplicity,fromList ["/home/cdsmith/HMock/src/Test/HMock/Multiplicity.hs"]),(TargetModule Test.HMock.MockT,fromList ["/home/cdsmith/HMock/src/Test/HMock/MockT.hs"]),(TargetFile NormalizedFilePath "/home/cdsmith/HMock/src/Test/HMock.hs",fromList ["/home/cdsmith/HMock/src/Test/HMock.hs"]),(TargetModule Core,fromList ["/home/cdsmith/HMock/test/Core.hs"]),(TargetModule Test.HMock.Internal.State,fromList ["/home/cdsmith/HMock/src/Test/HMock/Internal/State.hs","/home/cdsmith/HMock/src/Test/HMock/Internal/State.hs-boot"]),(TargetModule Test.HMock.MockMethod,fromList ["/home/cdsmith/HMock/src/Test/HMock/MockMethod.hs"]),(TargetModule QuasiMockBase,fromList ["/home/cdsmith/HMock/test/QuasiMockBase.hs"]),(TargetModule DocTests.Test.HMock.Multiplicity,fromList ["/home/cdsmith/HMock/test/DocTests/Test/HMock/Multiplicity.hs"]),(TargetModule QuasiMock,fromList ["/home/cdsmith/HMock/test/QuasiMock.hs"]),(TargetFile NormalizedFilePath "/home/cdsmith/HMock/test/DocTests/All.hs",fromList ["/home/cdsmith/HMock/test/DocTests/All.hs"]),(TargetFile NormalizedFilePath "/home/cdsmith/HMock/test/Main.hs",fromList ["/home/cdsmith/HMock/test/Main.hs"]),(TargetModule Test.HMock,fromList ["/home/cdsmith/HMock/src/Test/HMock.hs"]),(TargetModule Test.HMock.Internal.Rule,fromList ["/home/cdsmith/HMock/src/Test/HMock/Internal/Rule.hs"]),(TargetModule Classes,fromList ["/home/cdsmith/HMock/test/Classes.hs"]),(TargetModule Test.HMock.Mockable,fromList ["/home/cdsmith/HMock/src/Test/HMock/Mockable.hs"]),(TargetModule ExpectSet,fromList ["/home/cdsmith/HMock/test/ExpectSet.hs"]),(TargetModule Test.HMock.Internal.Util,fromList ["/home/cdsmith/HMock/src/Test/HMock/Internal/Util.hs"]),(TargetModule DocTests.Test.HMock.Predicates,fromList ["/home/cdsmith/HMock/test/DocTests/Test/HMock/Predicates.hs"]),(TargetModule Demo,fromList ["/home/cdsmith/HMock/test/Demo.hs"]),(TargetFile NormalizedFilePath "/home/cdsmith/HMock/test/PolysemyTest.hs",fromList ["/home/cdsmith/HMock/test/PolysemyTest.hs"]),(TargetModule TH,fromList ["/home/cdsmith/HMock/test/TH.hs"]),(TargetModule DocTests.All,fromList ["/home/cdsmith/HMock/test/DocTests/All.hs"]),(TargetModule Test.HMock.Internal.Step,fromList ["/home/cdsmith/HMock/src/Test/HMock/Internal/Step.hs"]),(TargetModule Test.HMock.Internal.ExpectSet,fromList ["/home/cdsmith/HMock/src/Test/HMock/Internal/ExpectSet.hs"]),(TargetModule Test.HMock.Internal.TH,fromList ["/home/cdsmith/HMock/src/Test/HMock/Internal/TH.hs"]),(TargetModule Test.HMock.Predicates,fromList ["/home/cdsmith/HMock/src/Test/HMock/Predicates.hs"]),(TargetModule Util.DeriveRecursive,fromList ["/home/cdsmith/HMock/test/Util/DeriveRecursive.hs"]),(TargetModule Test.HMock.ExpectContext,fromList ["/home/cdsmith/HMock/src/Test/HMock/ExpectContext.hs"])]
2021-07-18 16:40:53.3287407 [ThreadId 117] DEBUG hls:   Finishing build session(exception: AsyncCancelled)
2021-07-18 16:40:53.3289077 [ThreadId 328] DEBUG hls:   Restarting build session for keys [GhcSessionIO; ] (aborting the previous one took 0.00s)
2021-07-18 16:40:53.3340067 [ThreadId 539] DEBUG hls:   hlint:getIdeas:file:NormalizedFilePath "/home/cdsmith/HMock/src/Test/HMock/MockT.hs"
2021-07-18 16:40:53.3464416 [ThreadId 542] DEBUG hls:   hlint:getIdeas:file:NormalizedFilePath "/home/cdsmith/HMock/src/Test/HMock/Internal/Step.hs"
2021-07-18 16:40:53.3627294 [ThreadId 541] DEBUG hls:   hlint:getIdeas:file:NormalizedFilePath "/home/cdsmith/HMock/src/Test/HMock/Internal/Rule.hs"
2021-07-18 16:40:53.3811794 [ThreadId 539] DEBUG hls:   hlint:getIdeas:file:NormalizedFilePath "/home/cdsmith/HMock/src/Test/HMock/Predicates.hs"
2021-07-18 16:40:53.3979691 [ThreadId 538] DEBUG hls:   hlint:getIdeas:file:NormalizedFilePath "/home/cdsmith/HMock/test/Core.hs"
2021-07-18 16:40:53.4577203 [ThreadId 536] DEBUG hls:   hlint:getIdeas:file:NormalizedFilePath "/home/cdsmith/HMock/src/Test/HMock/Internal/Util.hs"
2021-07-18 16:40:53.4595967 [ThreadId 541] DEBUG hls:   hlint:getIdeas:file:NormalizedFilePath "/home/cdsmith/HMock/src/Test/HMock/Internal/ExpectSet.hs"
2021-07-18 16:40:53.4692462 [ThreadId 542] DEBUG hls:   hlint:getIdeas:file:NormalizedFilePath "/home/cdsmith/HMock/test/Extras.hs"
2021-07-18 16:40:53.4945538 [ThreadId 540] DEBUG hls:   hlint:getIdeas:file:NormalizedFilePath "/home/cdsmith/HMock/test/DocTests/All.hs"
2021-07-18 16:40:53.4966935 [ThreadId 540] DEBUG hls:   hlint:getIdeas:file:NormalizedFilePath "/home/cdsmith/HMock/src/Test/HMock/Mockable.hs"
2021-07-18 16:40:53.4998292 [ThreadId 536] DEBUG hls:   hlint:getIdeas:file:NormalizedFilePath "/home/cdsmith/HMock/src/Test/HMock.hs"
2021-07-18 16:40:53.5046336 [ThreadId 536] DEBUG hls:   hlint:getIdeas:file:NormalizedFilePath "/home/cdsmith/HMock/test/DocTests/Test/HMock/Predicates.hs"
2021-07-18 16:40:53.5280533 [ThreadId 540] DEBUG hls:   hlint:getIdeas:file:NormalizedFilePath "/home/cdsmith/HMock/test/Demo.hs"
2021-07-18 16:40:53.5786621 [ThreadId 534] DEBUG hls:   hlint:getIdeas:file:NormalizedFilePath "/home/cdsmith/HMock/test/Classes.hs"
2021-07-18 16:40:53.7718264 [ThreadId 540] DEBUG hls:   hlint:getIdeas:file:NormalizedFilePath "/home/cdsmith/HMock/test/QuasiMockBase.hs"
2021-07-18 16:40:53.7744751 [ThreadId 541] DEBUG hls:   hlint:getIdeas:file:NormalizedFilePath "/home/cdsmith/HMock/test/ExpectSet.hs"
2021-07-18 16:40:53.8623783 [ThreadId 540] DEBUG hls:   hlint:getIdeas:file:NormalizedFilePath "/home/cdsmith/HMock/src/Test/HMock/MockMethod.hs"
2021-07-18 16:40:53.9483651 [ThreadId 542] DEBUG hls:   hlint:getIdeas:file:NormalizedFilePath "/home/cdsmith/HMock/test/DocTests/Test/HMock/Multiplicity.hs"
2021-07-18 16:40:54.1249706 [ThreadId 542] DEBUG hls:   hlint:getIdeas:file:NormalizedFilePath "/home/cdsmith/HMock/src/Test/HMock/Internal/State.hs"
2021-07-18 16:40:54.2360381 [ThreadId 540] DEBUG hls:   hlint:getIdeas:file:NormalizedFilePath "/home/cdsmith/HMock/src/Test/HMock/TH.hs"
2021-07-18 16:40:54.283041 [ThreadId 541] DEBUG hls:    hlint:getIdeas:file:NormalizedFilePath "/home/cdsmith/HMock/src/Test/HMock/Rule.hs"
2021-07-18 16:40:54.3574097 [ThreadId 541] DEBUG hls:   hlint:getIdeas:file:NormalizedFilePath "/home/cdsmith/HMock/test/QuasiMock.hs"
2021-07-18 16:40:54.4934575 [ThreadId 539] DEBUG hls:   hlint:getIdeas:file:NormalizedFilePath "/home/cdsmith/HMock/src/Test/HMock/Multiplicity.hs"
2021-07-18 16:40:54.5170036 [ThreadId 542] DEBUG hls:   hlint:getIdeas:file:NormalizedFilePath "/home/cdsmith/HMock/test/Util/DeriveRecursive.hs"
2021-07-18 16:40:54.5268081 [ThreadId 541] DEBUG hls:   hlint:getIdeas:file:NormalizedFilePath "/home/cdsmith/HMock/test/PolysemyTest.hs"
2021-07-18 16:40:54.5474015 [ThreadId 541] DEBUG hls:   hlint:getIdeas:file:NormalizedFilePath "/home/cdsmith/HMock/test/TH.hs"
2021-07-18 16:40:54.5759465 [ThreadId 534] DEBUG hls:   hlint:getIdeas:file:NormalizedFilePath "/home/cdsmith/HMock/src/Test/HMock/Internal/TH.hs"
2021-07-18 16:40:54.6242596 [ThreadId 542] DEBUG hls:   hlint:getIdeas:file:NormalizedFilePath "/home/cdsmith/HMock/src/Test/HMock/ExpectContext.hs"
2021-07-18 16:40:54.6359543 [ThreadId 539] DEBUG hls:   hlint:getIdeas:file:NormalizedFilePath "/home/cdsmith/HMock/test/Main.hs"
2021-07-18 16:40:54.7243375 [ThreadId 539] INFO hls:    File:     /home/cdsmith/HMock/test/PolysemyTest.hs
Hidden:   no
Range:    1:1-2:1
Source:   pragmas
Severity: DsError
Message: 
  Unexpected usage error
  Could not find module ‘Polysemy.Plugin’
  Use -v (or `:set -v` in ghci) to see a list of the files searched for.
GHC error in desugarer lookup in Ghci1:
  attempting to use module ‘main:Core’ (/home/cdsmith/HMock/test/Core.hs) which is not loaded
GHC error in desugarer lookup in Ghci1:
  Can't find interface-file declaration for variable $tcSocketHandle
    Probable cause: bug in .hi-boot file, or inconsistent .hi file
    Use -ddump-if-trace to get an idea of which file caused the error
GHC error in desugarer lookup in Ghci1:
  Can't find interface-file declaration for variable $tcSocketHandle
    Probable cause: bug in .hi-boot file, or inconsistent .hi file
    Use -ddump-if-trace to get an idea of which file caused the error
2021-07-18 16:40:57.182536 [ThreadId 1283] INFO hls:    File:     /home/cdsmith/HMock/test/Classes.hs
Hidden:   no
Range:    1:1-1:1
Source:   typecheck
Severity: DsError
Message: 
  Exception when trying to run compile-time code:
  /home/cdsmith/HMock/test/Classes.hs:282:1: error:
  • Variable not in scope:
  makeMockableType
  :: Language.Haskell.TH.Lib.Internal.TypeQ
  -> Language.Haskell.TH.Lib.Internal.DecsQ
  • Perhaps you meant ‘makeMockable’ (imported from Test.HMock)
  (deferred type error)
  Code: makeMockableType_aBNh [t| MonadFDSpecialized String |]
2021-07-18 16:40:57.183603 [ThreadId 1323] INFO hls:    finish: User TypeCheck (took 3.85s)
2021-07-18 16:40:57.1847207 [ThreadId 1326] INFO hls:   finish: GetHie (took 0.00s)
Files that failed:
2021-07-18 16:40:57.1856186 [ThreadId 1335] INFO hls:   finish: GenerateCore (took 0.00s)
 * /home/cdsmith/HMock/test/Classes.hs
 * /home/cdsmith/HMock/test/Main.hs
 * /home/cdsmith/HMock/test/PolysemyTest.hs

Completed (26 files worked, 3 files failed)
haskell-language-server-8.10.5~1.2.0: allocatestack.c:384: advise_stack_range: Assertion `freesize < size' failed.
Aborted

</details>

Paste the logs from the lsp-client, e.g. for VS Code

<details> <summary> LSP logs: </summary>

<paste your logs here>

</details>

created time in 18 days

issue commentcdsmith/HMock

Work out how to use HMock with servant-client

See #4

cdsmith

comment created time in 18 days

issue openedcdsmith/HMock

Work out how to use HMock with servant-client

servant-client generates actions that run directly in a ClientM monad. There should be some kind of story about the right way to integrate servant-client with HMock.

One idea is to write a new library, such as servant-classy-client, that uses TH to generate an MTL-style class from a servant API type.

Another idea is to generate a server implementation that delegates everything to mockMethod using withMockT, and then allow the tests to serialize everything but point them at an in-process HTTP server. So you'd expect the server methods, not the client methods. This requires generalizing Mockable a but so that it doesn't require an MTL-style class, but I want to do that anyway.

created time in 18 days

issue commentcdsmith/HMock

Consider supporting the log-and-verify approach

The semantics here are unclear. A few options:

  1. Verify the full action sequence against the expect set passed to verify. In a complex test, though, it's unlikely that you want to verify the full action sequence each time.
  2. Verify that some subset of the action sequence matches. Aside from possible exponential blowup of matching, though, this leaves no way to say "this was never called", since verify will always match the subsequence that ignores that action.
  3. Mockito's verification is per-method, and non-matching methods are ignored. The equivalent here would be to ignore unmentioned methods. This is the "uninteresting" trick again, but applied only within the scope of verify. It has some of the same compositionality problems, but they are mitigated by the fact that you can call verify multiple times for independent expectations.
cdsmith

comment created time in 19 days

push eventcdsmith/HMock

Chris Smith

commit sha 2b36600b9e5f7b995ce236724c9122f5fe1ad4ae

Fix README outline

view details

push time in 19 days

issue openedcdsmith/HMock

Consider supporting the log-and-verify approach

There are two different approaches to modern mocking. Libraries like gMock are plan-and-test, where you first declare an execution plan, then run the test and the execution plan is verified during and after the test run. Libraries like Mockito are log-and-verify, where the test runs first and then assertions are made about the logged call list.

Currently, HMock follows the plan-and-test approach. I think there are advantages to doing it this way, because the desired response to actions is usually tied to why those actions are expected in the first place. So the log-and-verify approach sometimes requires repeating yourself to declare a return value at the beginning and then verify the actual call at the end. There are two different languages for this (Mockito's when versus verify)

HMock can do both, though. It can keep a log of actions as the test runs, and also allow the user to verify that call log against another set of expectations after the test has completed. Verification can just be another ExpectContext instance, so that the same primitives are available for verification as for advance expectation.

For example:

runMockT $ do
  expectAny $ ReadFile_ anything |-> "contents"
  expectAny $ WriteFile anything anything

  copyFile "foo.txt" "bar.txt"

  verify $ inSequence [
    ReadFile "foo.txt",
    WriteFile "bar.txt" "contents"
    ]

The idea is that the user can choose to be very permissive when setting up responses, but then run a more specific verification (maybe even several of them!) after the fact. If the verify block has return values, it should fail at runtime. (We cannot compare, because we don't have Eq instances.)

created time in 19 days

push eventcdsmith/HMock

Chris Smith

commit sha c78afd147eb2c371151210411059940bde696afb

Add README docs for severity (fix #9)

view details

push time in 20 days