Bytes: only the vec repr is not shared (#100)

The shared debug_assert is to ensure that the internal Bytes
representation is such that offset views are supported. The only
representation that does not support offset views is vec.

Fixes #97
This commit is contained in:
Carl Lerche
2017-03-30 14:49:30 -07:00
committed by GitHub
parent 627864187c
commit 9aa24ebea1
2 changed files with 11 additions and 2 deletions
+2 -2
View File
@@ -1890,8 +1890,8 @@ impl Inner {
#[inline]
fn is_shared(&mut self) -> bool {
match self.kind() {
KIND_INLINE | KIND_ARC => true,
_ => false,
KIND_VEC => false,
_ => true,
}
}
+9
View File
@@ -363,6 +363,15 @@ fn extend() {
assert_eq!(*bytes, LONG[..]);
}
#[test]
fn from_static() {
let mut a = Bytes::from_static(b"ab");
let b = a.split_off(1);
assert_eq!(a, b"a"[..]);
assert_eq!(b, b"b"[..]);
}
#[test]
// Only run these tests on little endian systems. CI uses qemu for testing
// little endian... and qemu doesn't really support threading all that well.