error[E0605]: non-primitive cast: `*const isize` as `&isize`
  --> $DIR/issue-2995.rs:2:22
   |
LL |     let _q: &isize = p as &isize;
   |                      ^^^^^^^^^^^ invalid cast
   |
help: consider borrowing the value
   |
LL -     let _q: &isize = p as &isize;
LL +     let _q: &isize = &*p;
   |

error: aborting due to 1 previous error

For more information about this error, try `rustc --explain E0605`.
