refactor(cosmic-config-derive): add support for types with generic parameters

This commit is contained in:
Ashley Wulber 2023-05-21 23:15:08 -04:00
parent b064293632
commit b82b6566f1
No known key found for this signature in database
GPG key ID: 5216D4F46A90A820
4 changed files with 23 additions and 6 deletions

View file

@ -6,7 +6,7 @@ edition = "2021"
[features]
default = ["macro", "subscription"]
macro = ["cosmic-config-derive"]
subscription = ["iced", "iced_futures"]
subscription = ["iced_futures"]
[dependencies]
atomicwrites = "0.4.0"

View file

@ -1,7 +1,7 @@
#[cfg(feature = "subscription")]
use iced::subscription;
#[cfg(feature = "subscription")]
use iced_futures::futures::channel::mpsc;
#[cfg(feature = "subscription")]
use iced_futures::subscription;
use notify::{RecommendedWatcher, Watcher};
use serde::{de::DeserializeOwned, Serialize};
use std::{
@ -277,7 +277,7 @@ pub enum ConfigUpdate<T> {
pub trait CosmicConfigEntry
where
Self: Sized + Default,
Self: Sized,
{
fn write_entry(&self, config: &Config) -> Result<(), crate::Error>;
fn get_entry(config: &Config) -> Result<Self, (Vec<crate::Error>, Self)>;