E0277E0277 — Тип не реалізує Send
Тип, що не реалізує Send, використовується в контексті, який вимагає потокобезпечності.
Що спричиняє цю помилку
Ви намагаєтеся передати тип, що не є Send, через межі потоків (spawn, async-задачі). Типи, що містять Rc, Cell або сирі вказівники, не є Send, оскільки вони не є потокобезпечними.
Як виправити
Використовуйте Arc замість Rc для спільного володіння між потоками. Використовуйте Mutex або RwLock для мутабельного доступу. Переконайтеся, що всі типи всередині структури реалізують Send. Використовуйте thread-local storage для типів, що не є Send.
Пов'язані коди помилок
E0308E0308 — Невідповідність типів
Очікуваний тип не збігається з фактично наданим типом.
E0106E0106 — Відсутній специфікатор часу життя
У підписі функції або структурі посиланню бракує параметра часу життя.
E0463E0463 — Крейт не знайдено
Вказаний крейт не може бути знайдений компілятором.
E0405E0405 — Трейт не знайдено в поточній області видимості
Ім'я трейта використано, але його не визначено або не імпортовано в поточній області видимості.
E0271E0271 — Невідповідність типів у асоційованому типі
Асоційований тип у реалізації трейту не відповідає очікуваному типу.
clippy::single_matchClippy — Одиночний match можна замінити на if let
Вираз match лише з одним значущим рукавом можна спростити до if let.