diff --git a/vulkano/src/buffer/device_local.rs b/vulkano/src/buffer/device_local.rs
index 7a85fb0e..d7cb862f 100644
--- a/vulkano/src/buffer/device_local.rs
+++ b/vulkano/src/buffer/device_local.rs
@@ -164,7 +164,7 @@ pub struct DeviceLocalBufferAccess
(P);
unsafe impl Buffer for Arc>
where T: 'static + Send + Sync,
- A: MemoryPool
+ A: MemoryPool + 'static
{
type Access = DeviceLocalBufferAccess>>;
@@ -181,7 +181,7 @@ unsafe impl Buffer for Arc>
unsafe impl TypedBuffer for Arc>
where T: 'static + Send + Sync,
- A: MemoryPool
+ A: MemoryPool + 'static
{
type Content = T;
}
@@ -189,7 +189,7 @@ unsafe impl TypedBuffer for Arc>
unsafe impl BufferAccess for DeviceLocalBufferAccess
where P: SafeDeref>,
T: 'static + Send + Sync,
- A: MemoryPool
+ A: MemoryPool + 'static
{
#[inline]
fn inner(&self) -> BufferInner {
@@ -220,7 +220,7 @@ unsafe impl BufferAccess for DeviceLocalBufferAccess
unsafe impl
TypedBufferAccess for DeviceLocalBufferAccess
where P: SafeDeref>,
T: 'static + Send + Sync,
- A: MemoryPool
+ A: MemoryPool + 'static
{
type Content = T;
}
@@ -228,7 +228,7 @@ unsafe impl TypedBufferAccess for DeviceLocalBufferAccess
unsafe impl
DeviceOwned for DeviceLocalBufferAccess
where P: SafeDeref>,
T: 'static + Send + Sync,
- A: MemoryPool
+ A: MemoryPool + 'static
{
#[inline]
fn device(&self) -> &Arc {
diff --git a/vulkano/src/memory/pool/mod.rs b/vulkano/src/memory/pool/mod.rs
index 66490efe..6fe3fefd 100644
--- a/vulkano/src/memory/pool/mod.rs
+++ b/vulkano/src/memory/pool/mod.rs
@@ -24,8 +24,7 @@ mod non_host_visible;
mod pool;
/// Pool of GPU-visible memory that can be allocated from.
-// TODO: remove 'static + Send + Sync
-pub unsafe trait MemoryPool: 'static + Send + Sync {
+pub unsafe trait MemoryPool {
/// Object that represents a single allocation. Its destructor should free the chunk.
type Alloc: MemoryPoolAlloc;
@@ -49,8 +48,7 @@ pub unsafe trait MemoryPool: 'static + Send + Sync {
}
/// Object that represents a single allocation. Its destructor should free the chunk.
-// TODO: remove 'static + Send + Sync
-pub unsafe trait MemoryPoolAlloc: 'static + Send + Sync {
+pub unsafe trait MemoryPoolAlloc {
/// Returns the memory object from which this is allocated. Returns `None` if the memory is
/// not mapped.
fn mapped_memory(&self) -> Option<&MappedDeviceMemory>;