on develop help sign in
Merge pull request #389 from reflex-frp/fix-profiled-infinite-recursion-for-merge-incremental
4491490John Ericson
ChangeLog.md+8
@@ -1,5 +1,13 @@
1# Revision history for reflex
1# Revision history for reflex
2
2
3+## 0.6.5
4+
5+* Fix a bug in the Reflex Profiled transformer where
6+ `Reflex.Class.mergeIncrementalG` and
7+ `Reflex.Class.mergeIncrementalWithMoveG` implementations referenced
8+ itself instead of the inner transformed timeline, causing an
9+ infinite loop.
10+
3## 0.6.4
11## 0.6.4
4
12
5* Support GHC 8.8
13* Support GHC 8.8
src/Reflex/Profiled.hs+2−2
@@ -147,8 +147,8 @@ instance Reflex t => Reflex (ProfiledTimeline t) where
147 updated (Dynamic_Profiled d) = coerce $ profileEvent $ updated d
147 updated (Dynamic_Profiled d) = coerce $ profileEvent $ updated d
148 unsafeBuildDynamic (ProfiledM a0) (Event_Profiled a') = coerce $ unsafeBuildDynamic a0 a'
148 unsafeBuildDynamic (ProfiledM a0) (Event_Profiled a') = coerce $ unsafeBuildDynamic a0 a'
149 unsafeBuildIncremental (ProfiledM a0) (Event_Profiled a') = coerce $ unsafeBuildIncremental a0 a'
149 unsafeBuildIncremental (ProfiledM a0) (Event_Profiled a') = coerce $ unsafeBuildIncremental a0 a'
150− mergeIncrementalG nt = (Event_Profiled . coerce) #. mergeIncrementalG nt
150+ mergeIncrementalG nt res = Event_Profiled $ mergeIncrementalG (coerce nt) (coerce res)
151− mergeIncrementalWithMoveG nt = (Event_Profiled . coerce) #. mergeIncrementalWithMoveG nt
151+ mergeIncrementalWithMoveG nt res = Event_Profiled $ mergeIncrementalWithMoveG (coerce nt) (coerce res)
152 currentIncremental (Incremental_Profiled i) = coerce $ currentIncremental i
152 currentIncremental (Incremental_Profiled i) = coerce $ currentIncremental i
153 updatedIncremental (Incremental_Profiled i) = coerce $ profileEvent $ updatedIncremental i
153 updatedIncremental (Incremental_Profiled i) = coerce $ profileEvent $ updatedIncremental i
154 incrementalToDynamic (Incremental_Profiled i) = coerce $ incrementalToDynamic i
154 incrementalToDynamic (Incremental_Profiled i) = coerce $ incrementalToDynamic i