Hi Dave, We had some extensive discussion about this ourselves, but we couldn’t come up with a compelling use case for a negative time interval. Can you describe how you wanted to use it?
- Tony > On Jun 17, 2016, at 2:01 PM, Dave Lyon via swift-corelibs-dev > <swift-corelibs-dev@swift.org> wrote: > > In attempting to use the new DateInterval value type to improve some existing > code, I ran in to an issue where DateIntervals cannot be "reverse" intervals, > which is contrary to how TimeInterval works, and somewhat confusing. > > I would propose that the DateInterval value type should be able to be > properly initialized with any TimeInterval, as a reference date and time > interval are all that is actually required in order to construct a > DateInterval properly. > > The simplest solution might be to change the `startDate:interval:` > initializer to one allows for negative time intervals, such as: > > public init(withInterval: TimeInterval, fromDate: Date) { > self.start = Date(timeInterval: interval, since: fromDate) > self.duration = abs(interval) > } > > I believe in general it is preferable to avoid preconditions that require a > subset of a given input type (in this case, that TimeInterval be positive or > 0), and would prefer to see an API where invalid values are properly > converted from the given input to the documented output. E.g. the old “Be > generous with input, strict with output” idea. > > I hope this is the right place to bring this up, but if not I’m happy to move > the conversation to Radar or elsewhere. > > Thanks! > > _______________________________________________ > swift-corelibs-dev mailing list > swift-corelibs-dev@swift.org > https://lists.swift.org/mailman/listinfo/swift-corelibs-dev
_______________________________________________ swift-corelibs-dev mailing list swift-corelibs-dev@swift.org https://lists.swift.org/mailman/listinfo/swift-corelibs-dev