Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

remove 'IntoListReader' trait #349

Open
wants to merge 1 commit into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
6 changes: 3 additions & 3 deletions capnp/src/any_pointer_list.rs
Original file line number Diff line number Diff line change
Expand Up @@ -95,9 +95,9 @@ impl<'a> FromPointerReader<'a> for Reader<'a> {
}
}

impl<'a> crate::traits::IntoInternalListReader<'a> for Reader<'a> {
fn into_internal_list_reader(self) -> ListReader<'a> {
self.reader
impl<'a> From<Reader<'a>> for ListReader<'a> {
fn from(value: Reader<'a>) -> Self {
value.reader
}
}

Expand Down
6 changes: 3 additions & 3 deletions capnp/src/data_list.rs
Original file line number Diff line number Diff line change
Expand Up @@ -93,9 +93,9 @@ impl<'a> Reader<'a> {
}
}

impl<'a> crate::traits::IntoInternalListReader<'a> for Reader<'a> {
fn into_internal_list_reader(self) -> ListReader<'a> {
self.reader
impl<'a> From<Reader<'a>> for ListReader<'a> {
fn from(value: Reader<'a>) -> Self {
value.reader
}
}

Expand Down
6 changes: 3 additions & 3 deletions capnp/src/enum_list.rs
Original file line number Diff line number Diff line change
Expand Up @@ -102,12 +102,12 @@ impl<'a, T: FromU16> Reader<'a, T> {
}
}

impl<'a, T> crate::traits::IntoInternalListReader<'a> for Reader<'a, T>
impl<'a, T> From<Reader<'a, T>> for ListReader<'a>
where
T: PrimitiveElement,
{
fn into_internal_list_reader(self) -> ListReader<'a> {
self.reader
fn from(value: Reader<'a, T>) -> Self {
value.reader
}
}

Expand Down
11 changes: 5 additions & 6 deletions capnp/src/list_list.rs
Original file line number Diff line number Diff line change
Expand Up @@ -129,12 +129,12 @@ where
}
}

impl<'a, T> crate::traits::IntoInternalListReader<'a> for Reader<'a, T>
impl<'a, T> From<Reader<'a, T>> for ListReader<'a>
where
T: crate::traits::Owned,
{
fn into_internal_list_reader(self) -> ListReader<'a> {
self.reader
fn from(value: Reader<'a, T>) -> Self {
value.reader
}
}

Expand Down Expand Up @@ -234,13 +234,12 @@ where

pub fn set<'b>(&self, index: u32, value: T::Reader<'a>) -> Result<()>
where
T::Reader<'a>: crate::traits::IntoInternalListReader<'b>,
T::Reader<'a>: Into<ListReader<'b>>,
{
use crate::traits::IntoInternalListReader;
assert!(index < self.len());
self.builder
.get_pointer_element(index)
.set_list(&value.into_internal_list_reader(), false)
.set_list(&value.into(), false)
}
}

Expand Down
6 changes: 3 additions & 3 deletions capnp/src/primitive_list.rs
Original file line number Diff line number Diff line change
Expand Up @@ -120,12 +120,12 @@ impl<'a, T: PrimitiveElement> Reader<'a, T> {
}
}

impl<'a, T> crate::traits::IntoInternalListReader<'a> for Reader<'a, T>
impl<'a, T> From<Reader<'a, T>> for ListReader<'a>
where
T: PrimitiveElement,
{
fn into_internal_list_reader(self) -> ListReader<'a> {
self.reader
fn from(value: Reader<'a, T>) -> Self {
value.reader
}
}

Expand Down
14 changes: 7 additions & 7 deletions capnp/src/raw.rs
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@

//! Functions providing low level access to encoded data.

use crate::traits::{IntoInternalListReader, IntoInternalStructReader};
use crate::{private::layout::ListReader, traits::IntoInternalStructReader};

/// Gets a slice view of the data section of a struct.
pub fn get_struct_data_section<'a, T>(value: T) -> &'a [u8]
Expand All @@ -47,23 +47,23 @@ where
/// Gets the size of the elements in a list.
pub fn get_list_element_size<'a, T>(value: T) -> crate::private::layout::ElementSize
where
T: IntoInternalListReader<'a>,
T: Into<ListReader<'a>>,
{
value.into_internal_list_reader().get_element_size()
value.into().get_element_size()
}

/// Gets the number of bits between successive elements in a list.
pub fn get_list_step_size_in_bits<'a, T>(value: T) -> u32
where
T: IntoInternalListReader<'a>,
T: Into<ListReader<'a>>,
{
value.into_internal_list_reader().get_step_size_in_bits()
value.into().get_step_size_in_bits()
}

/// Gets a slice view of a list, excluding any tag word.
pub fn get_list_bytes<'a, T>(value: T) -> &'a [u8]
where
T: IntoInternalListReader<'a>,
T: Into<ListReader<'a>>,
{
value.into_internal_list_reader().into_raw_bytes()
value.into().into_raw_bytes()
}
6 changes: 3 additions & 3 deletions capnp/src/struct_list.rs
Original file line number Diff line number Diff line change
Expand Up @@ -144,12 +144,12 @@ where
}
}

impl<'a, T> crate::traits::IntoInternalListReader<'a> for Reader<'a, T>
impl<'a, T> From<Reader<'a, T>> for ListReader<'a>
where
T: crate::traits::OwnedStruct,
{
fn into_internal_list_reader(self) -> ListReader<'a> {
self.reader
fn from(value: Reader<'a, T>) -> Self {
value.reader
}
}

Expand Down
6 changes: 3 additions & 3 deletions capnp/src/text_list.rs
Original file line number Diff line number Diff line change
Expand Up @@ -93,9 +93,9 @@ impl<'a> Reader<'a> {
}
}

impl<'a> crate::traits::IntoInternalListReader<'a> for Reader<'a> {
fn into_internal_list_reader(self) -> ListReader<'a> {
self.reader
impl<'a> From<Reader<'a>> for ListReader<'a> {
fn from(value: Reader<'a>) -> Self {
value.reader
}
}

Expand Down
6 changes: 1 addition & 5 deletions capnp/src/traits.rs
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@
// THE SOFTWARE.

use crate::private::layout::{
CapTable, ListReader, PointerBuilder, PointerReader, StructBuilder, StructReader, StructSize,
CapTable, PointerBuilder, PointerReader, StructBuilder, StructReader, StructSize,
};
use crate::Result;

Expand All @@ -42,10 +42,6 @@ pub trait FromStructBuilder<'a> {
fn new(struct_builder: StructBuilder<'a>) -> Self;
}

pub trait IntoInternalListReader<'a> {
fn into_internal_list_reader(self) -> ListReader<'a>;
}

pub trait FromPointerReader<'a>: Sized {
fn get_from_pointer(
reader: &PointerReader<'a>,
Expand Down