Implement type applications in patterns

The haddock submodule is also updated so that it understands the changes
to patterns.

Add documentation for type applications in patterns with an example

Disable Scopes test

Fix invalid scopes error

Add a bit more documentation and a few additional examples.

Remove ErrTypeAppInPat as it is no longer relevant.

Apply suggestion to docs/users_guide/exts/type_applications.rst

Apply suggestion to docs/users_guide/exts/type_applications.rst

Apply suggestion to docs/users_guide/exts/type_applications.rst

Apply suggestion to libraries/template-haskell/changelog.md

Add should-fail test for the case of a misplaced type application in a pattern.

Add comments/haddock for rnImplicitTvOccs and rnImplicitTvBndrs helping to contrast them.

Add a backwards-compatibility conP to Language.Haskell.TH.Lib

Implement toHie for Void with absurd.

Split Scopes test into working and expected-failing part.
34 jobs for !2464 with cg-tyapp-pat in 40 minutes and 23 seconds (queued for 3 seconds)
detached
Status Job ID Name Coverage
  Tool Lint
passed #499763
lint
ghc-linters

00:00:15

passed #499764
lint
lint-linters

00:00:14

canceled #500209
lint allowed to fail
lint-submods

00:00:13

passed #499765
lint
lint-testsuite

00:00:16

passed #499767
lint
typecheck-testsuite

00:00:15

failed #499739
lint
ghc-linters

00:00:09

failed #499740
lint
lint-linters

00:00:07

failed #499743
lint allowed to fail
lint-submods

00:00:06

failed #499741
lint
lint-testsuite

00:00:06

failed #499742
lint
typecheck-testsuite

00:00:07

passed #499766
lint
typecheck-testsuite

00:00:15

 
  Quick Build
passed #499846
x86_64-linux
hadrian-ghc-in-ghci

00:13:19

failed #499744
x86_64-linux
hadrian-ghc-in-ghci

00:00:02

failed #499769
x86_64-linux
hadrian-ghc-in-ghci

00:00:02

 
  Lint
passed #499768
lint
lint-base

00:14:42

failed #499745
lint
lint-base

00:00:06

 
  Build
passed #499746
x86_64-linux
stack-hadrian-build

00:11:35

canceled #500210
x86_64-linux
validate-x86_64-linux-deb9-hadrian

failed #499747
x86_64-linux
validate-x86_64-linux-deb9-hadrian

01:57:54

 
  Full Build
canceled #499750
aarch64-linux allowed to fail
validate-aarch64-linux-deb10

canceled #499751
armv7-linux allowed to fail
validate-armv7-linux-deb10

canceled #499752
x86_64-linux
validate-i386-linux-deb9

canceled #499749
x86_64-darwin
validate-x86_64-darwin

canceled #499753
x86_64-linux
validate-x86_64-linux-deb9-debug

canceled #499756
x86_64-linux
validate-x86_64-linux-deb9-dwarf

canceled #499754
x86_64-linux
validate-x86_64-linux-deb9-integer-simple

canceled #499755
x86_64-linux allowed to fail manual
validate-x86_64-linux-deb9-tsan

canceled #499748
x86_64-linux
validate-x86_64-linux-deb9-unreg-hadrian

canceled #499757
x86_64-linux
validate-x86_64-linux-fedora27

canceled #499758
new-x86_64-windows test
validate-x86_64-windows-hadrian

 
  Packaging
canceled #499759
x86_64-linux allowed to fail
doc-tarball

 
  Testing
manual #499760
x86_64-linux allowed to fail manual
hackage
canceled #499762
x86_64-linux-perf
perf

canceled #499761
x86_64-linux
perf-nofib