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

Reply via email to