java package com.google.common.collect.Range<LocalDate> intersection returns 一个错误的交叉点

java package com.google.common.collect.Range< LocalDate > intersection returns a wrong intersection

我有这个代码:

private Range<LocalDate> datesRange;

intersection = !this.datesRange.isConnected(otherConditionBl.datesRange) ?
                    null :
                    this.datesRange.intersection(otherConditionBl.datesRange);

这个输入怎么会有交集?

this.datesRange = {Range@5802} "[2017-04-11..2017-04-12)"
otherConditionBl.datesRange = {Range@5801} "[2017-04-12..2017-04-14]"
this.datesRange.intersection(otherConditionBl.datesRange) = {Range@7036} "[2017-04-12..2017-04-12)"

我在哪里可以报告这个错误?

这是documented behaviour

The resulting range may be empty; for example, [1..5) intersected with [5..7) yields the empty range [5..5)

仔细一看,返回的范围其实是空的。它由所有 x 组成,2017-04-12x < 2017-04-12,这是不可能满足的。