Opened 3 years ago

Closed 3 years ago

#13281 closed bug (fixed)

Linting join points

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


Core Lint should check the polymorphic invariant on join points. See (4) in Note [Invariants on join point] in CoreSyn, and chekValidJoinPointType.

Change History (2)

comment:1 Changed 3 years ago by Ben Gamari <ben@…>

In e790126/ghc:

Improve Core Lint, mainly for join points

* lintSingleBinding: check that join points have
                     a valid join-point type
  (Trac #13281)

* lintIdBinder: check that a JoinId is bound by
                a non-top-level let
  i.e.  not a top level binder
        not lambda/case binder

* Check for empty Rec [] bindings

* Rename lintIdBndrs to lintLetBndrs

comment:2 Changed 3 years ago by simonpj

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