From 75435ecb4a2ac0ee519861ecc4e9114ace2c967b Mon Sep 17 00:00:00 2001
From: Robbert van der Helm <mail@robbertvanderhelm.nl>
Date: Sat, 5 Feb 2022 20:15:09 +0100
Subject: [PATCH] Don't require a Drop bound on Editor

On second thought, unless you're implementing something completely from
scratch this will already be part of the library you're using.
---
 src/plugin.rs | 9 ++-------
 1 file changed, 2 insertions(+), 7 deletions(-)

diff --git a/src/plugin.rs b/src/plugin.rs
index e7843975..176cdf07 100644
--- a/src/plugin.rs
+++ b/src/plugin.rs
@@ -149,13 +149,8 @@ pub trait Vst3Plugin: Plugin {
     const VST3_CATEGORIES: &'static str;
 }
 
-/// An editor for a [Plugin]. The [Drop] implementation gets called when the host closes the editor.
-//
-// XXX: Requiring a [Drop] bound is a bit unorthodox, but together with [Plugin::create_editor] it
-//      encodes the lifecycle of an editor perfectly as you cannot have duplicate (or missing)
-//      initialize and close calls. Maybe think this over again later.
-#[allow(drop_bounds)]
-pub trait Editor: Drop + Send + Sync {
+/// An editor for a [Plugin]. This object gets dropped when the host closes the editor.
+pub trait Editor: Send + Sync {
     /// Return the (currnent) size of the editor in pixels as a `(width, height)` pair.
     fn size(&self) -> (u32, u32);