[GHC] #11329: Visible type applications: failing tests with WAY=hpc

#11329: Visible type applications: failing tests with WAY=hpc -------------------------------------+------------------------------------- Reporter: thomie | Owner: Type: bug | Status: new Priority: normal | Milestone: 8.0.1 Component: Compiler | Version: 7.11 Keywords: | Operating System: Unknown/Multiple Architecture: | Type of failure: None/Unknown Unknown/Multiple | Test Case: | Blocked By: Blocking: | Related Tickets: Differential Rev(s): | Wiki Page: -------------------------------------+------------------------------------- {{{ $ ghc-head --info | grep Project [("Project name","The Glorious Glasgow Haskell Compilation System") ,("Project version","8.1.20151231") ,("Project Git commit id","8afeaad919dc67643b4eff14efafb48b59039b2b") }}} {{{ $ make slowtest TEST='VtaParse Vta1 Vta2' VERBOSE=2 TEST_HC=ghc-head ... =====> VtaParse(normal) 1 of 3 [0, 0, 0] =====> VtaParse(hpc) 1 of 3 [0, 0, 0] Compile failed (status 256) errors were: ghc: panic! (the 'impossible' happened) (GHC version 8.1.20151231 for x86_64-unknown-linux): dsExpr:HsTypeOut Please report this as a GHC bug: http://www.haskell.org/ghc/reportabug *** unexpected failure for VtaParse(hpc) =====> VtaParse(optasm) 1 of 3 [0, 1, 0] =====> Vta1(normal) 2 of 3 [0, 1, 0] =====> Vta1(hpc) 2 of 3 [0, 1, 0] Compile failed (status 256) errors were: ghc: panic! (the 'impossible' happened) (GHC version 8.1.20151231 for x86_64-unknown-linux): dsExpr:HsTypeOut Please report this as a GHC bug: http://www.haskell.org/ghc/reportabug *** unexpected failure for Vta1(hpc) =====> Vta1(optasm) 2 of 3 [0, 2, 0] =====> Vta2(normal) 3 of 3 [0, 2, 0] =====> Vta2(hpc) 3 of 3 [0, 2, 0] Compile failed (status 256) errors were: ghc: panic! (the 'impossible' happened) (GHC version 8.1.20151231 for x86_64-unknown-linux): dsExpr:HsTypeOut Please report this as a GHC bug: http://www.haskell.org/ghc/reportabug *** unexpected failure for Vta2(hpc) =====> Vta2(optasm) 3 of 3 [0, 3, 0] Unexpected results from: TEST="Vta1 Vta2 VtaParse" }}} Tests added in commit 2db18b8135335da2da9918b722699df684097be9. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/11329 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#11329: Visible type applications: failing tests with WAY=hpc -------------------------------------+------------------------------------- Reporter: thomie | Owner: Type: bug | Status: new Priority: high | Milestone: 8.0.1 Component: Compiler | Version: 7.11 Resolution: | Keywords: Operating System: Unknown/Multiple | Architecture: | Unknown/Multiple Type of failure: None/Unknown | Test Case: | parser/should_compile/VtaParse | typecheck/should_compile/Vta1 | typecheck/should_compile/Vta2 Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Wiki Page: | -------------------------------------+------------------------------------- Changes (by thomie): * testcase: => parser/should_compile/VtaParse typecheck/should_compile/Vta1 typecheck/should_compile/Vta2 * priority: normal => high Comment: Panic's are bad, raising priority. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/11329#comment:1 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#11329: Visible type applications: failing tests with WAY=hpc -------------------------------------+------------------------------------- Reporter: thomie | Owner: Type: bug | Status: new Priority: high | Milestone: 8.0.1 Component: Compiler | Version: 7.11 Resolution: | Keywords: | TypeApplications Operating System: Unknown/Multiple | Architecture: | Unknown/Multiple Type of failure: None/Unknown | Test Case: | parser/should_compile/VtaParse | typecheck/should_compile/Vta1 | typecheck/should_compile/Vta2 Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Wiki Page: | -------------------------------------+------------------------------------- Changes (by simonpj): * keywords: => TypeApplications -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/11329#comment:2 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#11329: Visible type applications: failing tests with WAY=hpc -------------------------------------+------------------------------------- Reporter: thomie | Owner: Type: bug | Status: new Priority: highest | Milestone: 8.0.1 Component: Compiler | Version: 7.11 Resolution: | Keywords: | TypeApplications Operating System: Unknown/Multiple | Architecture: | Unknown/Multiple Type of failure: None/Unknown | Test Case: | parser/should_compile/VtaParse | typecheck/should_compile/Vta1 | typecheck/should_compile/Vta2 Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Wiki Page: | -------------------------------------+------------------------------------- Changes (by bgamari): * priority: high => highest Comment: Indeed, we really shouldn't release with `hpc` being broken, even if it is just with type applications. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/11329#comment:3 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#11329: Visible type applications: failing tests with WAY=hpc -------------------------------------+------------------------------------- Reporter: thomie | Owner: Type: bug | Status: new Priority: highest | Milestone: 8.0.1 Component: Compiler | Version: 7.11 Resolution: | Keywords: | TypeApplications Operating System: Unknown/Multiple | Architecture: | Unknown/Multiple Type of failure: None/Unknown | Test Case: | parser/should_compile/VtaParse | typecheck/should_compile/Vta1 | typecheck/should_compile/Vta2 Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Wiki Page: | -------------------------------------+------------------------------------- Comment (by rwbarton): So in an expression like `print @Double 3` the type argument is getting a tick, so that the ticked expression looks like `tick print (tick @Double) (tick 3)`. Then `dsExpr`'s `HsApp` case no longer recognizes the construction `tick print (tick @Double)` as a type application, due to the second `tick`, and later tries and fails to desugar the argument `@Double`. One solution would be to look through ticks in `isLHsTypeExpr`, so that `dsExpr`'s `HsApp` case would still recognize a type application even if there are ticks in it. That would be simple and the type argument is then thrown away at that point anyways. But maybe it's better not to introduce a tick around a type argument in the first place, since that makes no sense. `Coverage.addTickHsExpr` has a case {{{ addTickHsExpr e@(HsTypeOut _) = return e }}} but it doesn't work as intended because `addTickHsExpr` only controls what ticks are added to the body of an expression. Whether to add a tick around the whole expression is controlled by `addTickLHsExpr` and a number of similar functions. I'm building a fix that recognizes type applications in `addTickHsExpr` and will post it on Phab when ready. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/11329#comment:4 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#11329: Visible type applications: failing tests with WAY=hpc -------------------------------------+------------------------------------- Reporter: thomie | Owner: Type: bug | Status: new Priority: highest | Milestone: 8.0.1 Component: Compiler | Version: 7.11 Resolution: | Keywords: | TypeApplications Operating System: Unknown/Multiple | Architecture: | Unknown/Multiple Type of failure: None/Unknown | Test Case: | parser/should_compile/VtaParse | typecheck/should_compile/Vta1 | typecheck/should_compile/Vta2 Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Phab:D1824 Wiki Page: | -------------------------------------+------------------------------------- Changes (by rwbarton): * differential: => Phab:D1824 -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/11329#comment:5 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#11329: Visible type applications: failing tests with WAY=hpc
-------------------------------------+-------------------------------------
Reporter: thomie | Owner:
Type: bug | Status: new
Priority: highest | Milestone: 8.0.1
Component: Compiler | Version: 7.11
Resolution: | Keywords:
| TypeApplications
Operating System: Unknown/Multiple | Architecture:
| Unknown/Multiple
Type of failure: None/Unknown | Test Case:
| parser/should_compile/VtaParse
| typecheck/should_compile/Vta1
| typecheck/should_compile/Vta2
Blocked By: | Blocking:
Related Tickets: | Differential Rev(s): Phab:D1824
Wiki Page: |
-------------------------------------+-------------------------------------
Comment (by Reid Barton

#11329: Visible type applications: failing tests with WAY=hpc -------------------------------------+------------------------------------- Reporter: thomie | Owner: goldfire Type: bug | Status: new Priority: highest | Milestone: 8.0.1 Component: Compiler | Version: 7.11 Resolution: | Keywords: | TypeApplications Operating System: Unknown/Multiple | Architecture: | Unknown/Multiple Type of failure: None/Unknown | Test Case: | parser/should_compile/VtaParse | typecheck/should_compile/Vta1 | typecheck/should_compile/Vta2 Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Phab:D1824 Wiki Page: | -------------------------------------+------------------------------------- Changes (by simonpj): * owner: => goldfire -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/11329#comment:7 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#11329: Visible type applications: failing tests with WAY=hpc -------------------------------------+------------------------------------- Reporter: thomie | Owner: goldfire Type: bug | Status: new Priority: highest | Milestone: 8.0.1 Component: Compiler | Version: 7.11 Resolution: | Keywords: | TypeApplications Operating System: Unknown/Multiple | Architecture: | Unknown/Multiple Type of failure: None/Unknown | Test Case: | parser/should_compile/VtaParse | typecheck/should_compile/Vta1 | typecheck/should_compile/Vta2 Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Phab:D1824 Wiki Page: | -------------------------------------+------------------------------------- Comment (by rwbarton): The status here is currently: * Visible type applications with -fhpc are fixed by the above patch for HEAD * Merged to 8.0 by d56d11ffff419875a1fc08e2ff470a5c8bd8785f * Richard is looking into redesigning the representation of visible type applications in HsExpr, I believe. Not absolutely critical for 8.0, but for the sake of GHC API users, better to change HsExpr once, than now and again in 8.2. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/11329#comment:8 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#11329: Visible type applications: failing tests with WAY=hpc -------------------------------------+------------------------------------- Reporter: thomie | Owner: goldfire Type: bug | Status: new Priority: high | Milestone: 8.0.1 Component: Compiler | Version: 7.11 Resolution: | Keywords: | TypeApplications Operating System: Unknown/Multiple | Architecture: | Unknown/Multiple Type of failure: None/Unknown | Test Case: | parser/should_compile/VtaParse | typecheck/should_compile/Vta1 | typecheck/should_compile/Vta2 Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Phab:D1824 Wiki Page: | -------------------------------------+------------------------------------- Changes (by simonpj): * priority: highest => high Comment: Not a release blocker -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/11329#comment:9 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#11329: Visible type applications: failing tests with WAY=hpc -------------------------------------+------------------------------------- Reporter: thomie | Owner: goldfire Type: bug | Status: new Priority: high | Milestone: 8.0.1 Component: Compiler | Version: 7.11 Resolution: | Keywords: | TypeApplications Operating System: Unknown/Multiple | Architecture: | Unknown/Multiple Type of failure: None/Unknown | Test Case: | parser/should_compile/VtaParse | typecheck/should_compile/Vta1 | typecheck/should_compile/Vta2 Blocked By: | Blocking: Related Tickets: #11456 | Differential Rev(s): Phab:D1824 Wiki Page: | -------------------------------------+------------------------------------- Changes (by goldfire): * related: => #11456 -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/11329#comment:10 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#11329: Visible type applications: failing tests with WAY=hpc
-------------------------------------+-------------------------------------
Reporter: thomie | Owner: goldfire
Type: bug | Status: new
Priority: high | Milestone: 8.0.1
Component: Compiler | Version: 7.11
Resolution: | Keywords:
| TypeApplications
Operating System: Unknown/Multiple | Architecture:
| Unknown/Multiple
Type of failure: None/Unknown | Test Case:
| parser/should_compile/VtaParse
| typecheck/should_compile/Vta1
| typecheck/should_compile/Vta2
Blocked By: | Blocking:
Related Tickets: #11456 | Differential Rev(s): Phab:D1824
Wiki Page: |
-------------------------------------+-------------------------------------
Comment (by Richard Eisenberg

#11329: Visible type applications: failing tests with WAY=hpc -------------------------------------+------------------------------------- Reporter: thomie | Owner: goldfire Type: bug | Status: merge Priority: high | Milestone: 8.0.1 Component: Compiler | Version: 7.11 Resolution: | Keywords: | TypeApplications Operating System: Unknown/Multiple | Architecture: | Unknown/Multiple Type of failure: None/Unknown | Test Case: | parser/should_compile/VtaParse | typecheck/should_compile/Vta1 | typecheck/should_compile/Vta2 | ghci/scripts/T11456 Blocked By: | Blocking: Related Tickets: #11456 | Differential Rev(s): Phab:D1824 Wiki Page: | -------------------------------------+------------------------------------- Changes (by goldfire): * status: new => merge * testcase: parser/should_compile/VtaParse typecheck/should_compile/Vta1 typecheck/should_compile/Vta2 => parser/should_compile/VtaParse typecheck/should_compile/Vta1 typecheck/should_compile/Vta2 ghci/scripts/T11456 -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/11329#comment:12 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#11329: Visible type applications: failing tests with WAY=hpc -------------------------------------+------------------------------------- Reporter: thomie | Owner: goldfire Type: bug | Status: closed Priority: high | Milestone: 8.0.1 Component: Compiler | Version: 7.11 Resolution: fixed | Keywords: | TypeApplications Operating System: Unknown/Multiple | Architecture: | Unknown/Multiple Type of failure: None/Unknown | Test Case: | parser/should_compile/VtaParse | typecheck/should_compile/Vta1 | typecheck/should_compile/Vta2 | ghci/scripts/T11456 Blocked By: | Blocking: Related Tickets: #11456 | Differential Rev(s): Phab:D1824 Wiki Page: | -------------------------------------+------------------------------------- Changes (by bgamari): * status: merge => closed * resolution: => fixed Comment: Refactoring of comment:11 merged as 729320938b17a101c4a6b43c824edace9ebb53f6.. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/11329#comment:13 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler
participants (1)
-
GHC