Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //#![feature(nll)]
- use std::marker::PhantomData;
- struct Handler<'a> {
- _marker: PhantomData<&'a u32>,
- }
- impl<'a> Handler<'a> {
- pub fn on_change<T>(&self, data: &'a mut T)
- where T: 'a,
- {
- println!("{:?}", data as *mut _)
- }
- }
- fn main() {
- //let mut foo = 1; // this line should be valid
- let handler = Handler { _marker: PhantomData };
- {
- let mut foo = 1; // this line should be illegal
- handler.on_change(&mut foo);
- }
- }
Add Comment
Please, Sign In to add comment