Skip to content
This repository was archived by the owner on Feb 26, 2020. It is now read-only.

Commit 1aa0980

Browse files
committed
Small change to HidDevice to use PhantomData instead of an unused pointer
1 parent aa75746 commit 1aa0980

File tree

1 file changed

+5
-4
lines changed

1 file changed

+5
-4
lines changed

src/lib.rs

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ extern crate libc;
2222
mod ffi;
2323

2424
use std::ffi::{CStr};
25+
use std::marker::PhantomData;
2526
use libc::{wchar_t, size_t};
2627
pub use libc::{c_ushort, c_int};
2728

@@ -89,7 +90,7 @@ impl HidApi {
8990
if device.is_null() {
9091
Err("Cannot open hid device")
9192
} else {
92-
Ok(HidDevice {_hid_device: device, _read_buffer: [0; 512], api: self})
93+
Ok(HidDevice {_hid_device: device, _read_buffer: [0; 512], phantom: PhantomData})
9394
}
9495
}
9596

@@ -99,7 +100,7 @@ impl HidApi {
99100
if device.is_null() {
100101
Err("Cannot open hid device")
101102
} else {
102-
Ok(HidDevice {_hid_device: device, _read_buffer: [0; 512], api: self})
103+
Ok(HidDevice {_hid_device: device, _read_buffer: [0; 512], phantom: PhantomData})
103104
}
104105
}
105106
}
@@ -211,8 +212,8 @@ impl HidDeviceInfo {
211212
pub struct HidDevice<'a> {
212213
_hid_device: *mut ffi::HidDevice,
213214
_read_buffer: [u8; 512],
214-
#[allow(dead_code)]
215-
api: &'a HidApi, // Just to keep everything safe.
215+
/// Prevents this from outliving the api instance that created it
216+
phantom: PhantomData<&'a ()>
216217
}
217218

218219
impl<'a> Drop for HidDevice<'a> {

0 commit comments

Comments
 (0)