Skip to content
Snippets Groups Projects
Commit c5bf36b0 authored by Jorge Aparicio's avatar Jorge Aparicio
Browse files

resource data must be Send

parent df99278f
No related branches found
No related tags found
No related merge requests found
...@@ -21,7 +21,7 @@ pub use static_ref::Static; ...@@ -21,7 +21,7 @@ pub use static_ref::Static;
/// A resource, a mechanism to share data between tasks /// A resource, a mechanism to share data between tasks
pub unsafe trait Resource { pub unsafe trait Resource {
/// The data protected by the resource /// The data protected by the resource
type Data; type Data: Send;
/// Borrows the resource data for the duration of a critical section /// Borrows the resource data for the duration of a critical section
/// ///
...@@ -50,7 +50,10 @@ pub unsafe trait Resource { ...@@ -50,7 +50,10 @@ pub unsafe trait Resource {
F: FnOnce(&mut Static<Self::Data>, &mut Threshold) -> R; F: FnOnce(&mut Static<Self::Data>, &mut Threshold) -> R;
} }
unsafe impl<T> Resource for Static<T> { unsafe impl<T> Resource for Static<T>
where
T: Send,
{
type Data = T; type Data = T;
fn borrow<'cs>(&'cs self, _cs: &'cs Threshold) -> &'cs Static<T> { fn borrow<'cs>(&'cs self, _cs: &'cs Threshold) -> &'cs Static<T> {
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment