message: Variables are hidden and can be taking by a method called on self
diff: @@ -97,7 +97,7 @@ impl<'a, 'b: 'a, S: CdrsSession<T>, T: CdrsTransport + Unpin + 'static> SessionP
  pub struct QueryPager<'a, Q: ToString, P: 'a> {
  pager: &'a mut P,
  - pub pager_state: PagerState,
  + pager_state: PagerState,
  query: Q,
  qv: Option<QueryValues>,
  consistency: Consistency,
  @@ -106,6 +106,10 @@ pub struct QueryPager<'a, Q: ToString, P: 'a> {
  impl<'a, Q: ToString, T: CdrsTransport + Unpin + 'static, S: CdrsSession<T> + Sync + Send>
  QueryPager<'a, Q, SessionPager<'a, S, T>>
  {
  + pub fn into_pager_state(self) -> PagerState {
  + self.pager_state
  + }
  +
  pub async fn next(&mut self) -> error::Result<Vec<Row>> {
  let mut params = QueryParamsBuilder::new()
  .consistency(self.consistency)
  @@ -158,6 +162,10 @@ pub struct ExecPager<'a, P: 'a> {
  impl<'a, T: CdrsTransport + Unpin + 'static, S: CdrsSession<T> + Sync + Send>
  ExecPager<'a, SessionPager<'a, S, T>>
  {
  + pub fn into_pager_state(self) -> PagerState {
  + self.pager_state
  + }
  +
  pub async fn next(&mut self) -> error::Result<Vec<Row>> {
  let mut params = QueryParamsBuilder::new().page_size(self.pager.page_size);
  if self.pager_state.cursor.is_some() {
  @@ -196,7 +204,7 @@ impl<'a, T: CdrsTransport + Unpin + 'static, S: CdrsSession<T> + Sync + Send>
  #[derive(Clone, PartialEq, Debug, Default)]
  pub struct PagerState {
  - pub cursor: Option<CBytes>,
  + cursor: Option<CBytes>,
  has_more_pages: Option<bool>,
  }
  @@ -226,4 +234,8 @@ impl PagerState {
  pub fn get_cursor(&self) -> Option<CBytes> {
  self.cursor.clone()
  }
  +
  + pub fn into_cursor(self) -> Option<CBytes> {
  + self.cursor
  + }
  }
  