Opened 5 months ago

Closed 5 months ago

#15041 closed bug (fixed)

rnIfaceBndr implementation in RnModIface looks incorrect

Reported by: mpickering Owned by:
Priority: normal Milestone: 8.6.1
Component: Compiler Version: 8.2.2
Keywords: backpack Cc: ezyang
Operating System: Unknown/Multiple Architecture: Unknown/Multiple
Type of failure: None/Unknown Test Case:
Blocked By: Blocking:
Related Tickets: Differential Rev(s):
Wiki Page:

Description

rnIfaceBndr :: Rename IfaceBndr
rnIfaceBndr (IfaceIdBndr (fs, ty)) = IfaceIdBndr <$> ((,) fs <$> rnIfaceType ty)
rnIfaceBndr (IfaceTvBndr tv_bndr) = IfaceIdBndr <$> rnIfaceTvBndr tv_bndr

This is the implementation currently. Notice in the second branch that an IfaceTvBndr is converted to an IfaceIdBndr. Should it instead be IfaceTvBndr?

Change History (4)

comment:2 Changed 5 months ago by simonpj

Bizarre. Seems so egregiously wrong that I'm astonished it ever worked.

This code is only used by Backpack, however. Copying Edward.

comment:3 Changed 5 months ago by Ben Gamari <ben@…>

In 698db813/ghc:

Fix implementation of rnIfaceBndr

Reviewers: ezyang, bgamari

Reviewed By: bgamari

Subscribers: thomie, carter

GHC Trac Issues: #15041

Differential Revision: https://phabricator.haskell.org/D4600

comment:4 Changed 5 months ago by bgamari

Resolution: fixed
Status: newclosed
Note: See TracTickets for help on using tickets.