By: Tom Sydney Kerckhove <syd@cs-syd.eu>
ical-recurrence: test that the recurrence set has no two instances with the same start recurEvents unions sets of EventOccurrence, which deduplicates on (start, end) pairs rather than on the start alone. A period-valued RDATE whose start coincides with an instance the RRULE generates therefore yields two instances at the same instant with different ends. RFC 5545 says the period-valued form of RDATE is how the duration of a specific recurrence is modified, so the RDATE should win here. The same can happen without any RDATE at all: recurEvents inserts the DTSTART occurrence with the original end while the rule separately regenerates it through resolveEndOrDurationDate, and those two agree only when unresolveUTCTimeR . resolveLocalTimeR round-trips, which it does not for a DTEND whose local time falls in a daylight saving time gap.
| Time to Start | Worker time | Duration | Time to finish | Idle | |
| Config | 21s | 1s | 1s | 23s | 21s |
| Eval | 4m19s | 11s | 11s | 4m31s | 3m56s |
| Build | 1h45m33s | 2m44s | - | - | 1h41m54s |
| Suite | 21s | 2m57s | - | - | 4h27m33s |