Expand description
Like Cow<'_, B>
, but B
is covariant
Implemented similar to rust#96312
Since std::borrow::Cow
uses associated type, it invariant,
see rust#115799 for details
§Examples
Use std::borrow::Cow
compile-fail case:
ⓘ
use std::borrow::Cow;
fn foo<'a>(_: Cow<'a, [Cow<'a, str>]>) { }
fn bar<'a>(x: Cow<'a, [Cow<'static, str>]>) {
foo(x);
}
Use cow2::Cow
compile-passed case:
use cow2::Cow;
fn foo<'a>(_: Cow<'a, [Cow<'a, str>]>) { }
fn bar<'a>(x: Cow<'a, [Cow<'static, str>]>) {
foo(x);
}
Enums§
Type Aliases§
- Cow
- Like
borrow::Cow<'a, B>
, butB
is covariant