@@ -116,7 +116,7 @@ pub fn get_clipboard_provider() -> Box<dyn ClipboardProvider> {
116116 }
117117 } else {
118118 #[cfg(target_os = "windows")]
119− return Box::new(provider::WindowsProvider::new());
119+ return Box::new(provider::WindowsProvider::default());
120120
121121 #[cfg(not(target_os = "windows"))]
122122 return Box::new(provider::NopProvider::new());
@@ -145,15 +145,15 @@ mod provider {
145145 use anyhow::{bail, Context as _, Result};
146146 use std::borrow::Cow;
147147
148+ #[cfg(not(target_os = "windows"))]
148149 #[derive(Debug)]
149150 pub struct NopProvider {
150151 buf: String,
151152 primary_buf: String,
152153 }
153154
155+ #[cfg(not(target_os = "windows"))]
154156 impl NopProvider {
155− #[allow(dead_code)]
156− // Only dead_code on Windows.
157157 pub fn new() -> Self {
158158 Self {
159159 buf: String::new(),
@@ -162,6 +162,7 @@ mod provider {
162162 }
163163 }
164164
165+ #[cfg(not(target_os = "windows"))]
165166 impl ClipboardProvider for NopProvider {
166167 fn name(&self) -> Cow<str> {
167168 Cow::Borrowed("none")
@@ -186,19 +187,8 @@ mod provider {
186187 }
187188
188189 #[cfg(target_os = "windows")]
189− #[derive(Debug)]
190− pub struct WindowsProvider {
191− selection_buf: String,
192− }
193−
194− #[cfg(target_os = "windows")]
195− impl WindowsProvider {
196− pub fn new() -> Self {
197− Self {
198− selection_buf: String::new(),
199− }
200− }
201− }
190+ #[derive(Default, Debug)]
191+ pub struct WindowsProvider;
202192
203193 #[cfg(target_os = "windows")]
204194 impl ClipboardProvider for WindowsProvider {