Ticket #37 (new defect)

Opened 5 years ago

Fix closure trimming of data types containing functions.

Reported by: benl Owned by:
Priority: normal Milestone:
Component: Source Type Inferencer Version:
Keywords: Cc:

Description

When trimming a closure term containing:

 x : Thing a0 a1 %r2

We don't know whether or not to keep %r2, without looking at the definition. Don't know if (Thing a0 a1 %r2) actually contains a region %r2

data Thing a a1 %r2
  = C1 (Int %r2 -> Int %r2)   -- nope
  | C2 (Int %r2)              -- yep

We should attach definitions to type constructors so we have this information at trimming time.

Note: See TracTickets for help on using tickets.