RangeInclusive
has pub(crate)
fields. This could be pub
.
#67371
Labels
C-feature-request
Category: A feature request, i.e: not implemented / a PR.
T-libs-api
Relevant to the library API team, which will review and decide on the PR/issue.
Hello.
I'm currently writing a library that generalizes all ranges and adds a "range set".
Core
/Std
compatibility is a must and I want to make the crate "feel" as if it would already be part of them. This, of course, requiresFrom
implementations for all range types for myGenericRange<T>
.All cases, for example
Range<T>
are trivial:(note: this requires
PartialOrd
, because upon converting I assert, thatstart <= end
to optimize other code that depends on this requirement)The problem I'm facing now is that I want to keep clones at a minimum, but
RangeInclusive<T>
forces me to commit this atrocity:As mentioned in the doc comment and in the title of this issue,
RangeInclusive<T>
haspub(crate)
fields, which prohibits other users, like me, to correctly take the fields without copying.The crate is
forbid(unsafe_code)
and#![no_std]
and I have thus no other way to implementFrom
other than cloning theRangeBounds
trait results.If there is a reason for this I'm sorry for opening an issue - but I don't see one.
Thanks for taking the time to look at this!
The text was updated successfully, but these errors were encountered: