Skip to content

Commit

Permalink
Merge pull request #389 from reflex-frp/fix-profiled-infinite-recursi…
Browse files Browse the repository at this point in the history
…on-for-merge-incremental

Fix Reflex.Profiled infinite recursion for merge incremental
  • Loading branch information
Ericson2314 authored Feb 5, 2020
2 parents fc801a8 + f2e34d4 commit 4491490
Show file tree
Hide file tree
Showing 2 changed files with 10 additions and 2 deletions.
8 changes: 8 additions & 0 deletions ChangeLog.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,13 @@
# Revision history for reflex

## 0.6.5

* Fix a bug in the Reflex Profiled transformer where
`Reflex.Class.mergeIncrementalG` and
`Reflex.Class.mergeIncrementalWithMoveG` implementations referenced
itself instead of the inner transformed timeline, causing an
infinite loop.

## 0.6.4

* Support GHC 8.8
Expand Down
4 changes: 2 additions & 2 deletions src/Reflex/Profiled.hs
Original file line number Diff line number Diff line change
Expand Up @@ -147,8 +147,8 @@ instance Reflex t => Reflex (ProfiledTimeline t) where
updated (Dynamic_Profiled d) = coerce $ profileEvent $ updated d
unsafeBuildDynamic (ProfiledM a0) (Event_Profiled a') = coerce $ unsafeBuildDynamic a0 a'
unsafeBuildIncremental (ProfiledM a0) (Event_Profiled a') = coerce $ unsafeBuildIncremental a0 a'
mergeIncrementalG nt = (Event_Profiled . coerce) #. mergeIncrementalG nt
mergeIncrementalWithMoveG nt = (Event_Profiled . coerce) #. mergeIncrementalWithMoveG nt
mergeIncrementalG nt res = Event_Profiled $ mergeIncrementalG (coerce nt) (coerce res)
mergeIncrementalWithMoveG nt res = Event_Profiled $ mergeIncrementalWithMoveG (coerce nt) (coerce res)
currentIncremental (Incremental_Profiled i) = coerce $ currentIncremental i
updatedIncremental (Incremental_Profiled i) = coerce $ profileEvent $ updatedIncremental i
incrementalToDynamic (Incremental_Profiled i) = coerce $ incrementalToDynamic i
Expand Down

0 comments on commit 4491490

Please # to comment.