Ticket #188 (closed defect: fixed)

Opened 3 years ago

Last modified 9 months ago

Haddock reorders multiple declarations on one line

Reported by: DavidAmos Owned by: Fūzetsu
Priority: minor Milestone:
Version: 2.14.0 Keywords:
Cc:

Description

I have a source file containing the line:

i,j,k :: Num k => Quaternion k

The relevant line of the Haddock documentation comes out as:

i, k, j :: Num k => Quaternion k

(Note the reordering.)

Although not strictly incorrect, this distorts the semantic intent of the documentation.

The reordering also happens in other cases, eg: http://hackage.haskell.org/packages/archive/HaskellForMaths/0.4.1/doc/html/Math-Algebras-Quaternions.html http://hackage.haskell.org/packages/archive/HaskellForMaths/0.4.1/doc/html/Math-Algebras-Octonions.html

Change History

Changed 2 years ago by anonymous

  • milestone 2.10.0 deleted

Milestone 2.10.0 deleted

Changed 9 months ago by Fūzetsu

  • owner set to Fūzetsu
  • status changed from new to assigned
  • version changed from 2.9.2 to 2.14.0

Below is a similar case. The functions are rendered in the reverse order from what is expected but the (+++) function is still rendered first.

module Foo where

infixl 7 +++
infixl 7 ++++
infixl 7 +++++
infixl 7 ++++++
infixl 7 +++++++
infixl 7 ++++++++
infixl 7 +++++++++
infixl 7 ++++++++++
infixl 7 +++++++++++
infixl 7 ++++++++++++
infixl 7 +++++++++++++
infixl 7 ++++++++++++++
infixl 7 +++++++++++++++
infixl 7 ++++++++++++++++

(+++) = undefined
(++++) = undefined
(+++++) = undefined
(++++++) = undefined
(+++++++) = undefined
(++++++++) = undefined
(+++++++++) = undefined
(++++++++++) = undefined
(+++++++++++) = undefined
(++++++++++++) = undefined
(+++++++++++++) = undefined
(++++++++++++++) = undefined
(+++++++++++++++) = undefined
(++++++++++++++++) = undefined

Changed 9 months ago by Fūzetsu

Chased it down to GHC bug, see https://ghc.haskell.org/trac/ghc/ticket/8945

Changed 9 months ago by Fūzetsu

  • status changed from assigned to closed
  • resolution set to fixed

Fixed upstream, tests added

Note: See TracTickets for help on using tickets.