Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
20 changes: 15 additions & 5 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

4 changes: 2 additions & 2 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -132,7 +132,7 @@ async = ["async-trait"]
toml = ["dep:toml"]

[dependencies]
serde = "1.0"
serde_core = "1.0"

async-trait = { version = "0.1", optional = true }
toml = { version = "0.9", optional = true, default-features = false, features = ["parse", "serde"] }
Expand All @@ -148,7 +148,7 @@ winnow = "0.7.0"
serde-untagged = { version = "0.1.8", optional = true }

[dev-dependencies]
serde_derive = "1.0"
serde = { version = "1.0", features = ["derive"] }
float-cmp = "0.10"
chrono = { version = "0.4", features = ["serde"] }
tokio = { version = "1", features = ["rt-multi-thread", "macros", "fs", "io-util", "time"]}
Expand Down
2 changes: 1 addition & 1 deletion examples/custom_file_format/main.rs
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ use std::io::{Error, ErrorKind};
use config::{Config, File, FileStoredFormat, Format, Map, Value, ValueKind};

/// The private and public key sources will be read into their associated variable:
#[derive(serde_derive::Deserialize, Clone, Debug)]
#[derive(serde::Deserialize, Clone, Debug)]
pub struct Settings {
pub private_key: Option<String>,
pub public_key: Option<String>,
Expand Down
2 changes: 1 addition & 1 deletion examples/env-list/main.rs
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
use config::Config;
#[derive(Debug, Default, serde_derive::Deserialize, PartialEq, Eq)]
#[derive(Debug, Default, serde::Deserialize, PartialEq, Eq)]
struct AppConfig {
list: Vec<String>,
}
Expand Down
2 changes: 1 addition & 1 deletion examples/hierarchical-env/settings.rs
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
use std::env;

use config::{Config, ConfigError, Environment, File};
use serde_derive::Deserialize;
use serde::Deserialize;

#[derive(Debug, Deserialize)]
#[allow(unused)]
Expand Down
4 changes: 2 additions & 2 deletions src/config.rs
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
use std::fmt::Debug;

use serde::de::Deserialize;
use serde::ser::Serialize;
use serde_core::de::Deserialize;
use serde_core::ser::Serialize;

use crate::builder::{ConfigBuilder, DefaultState};
use crate::error::{ConfigError, Result};
Expand Down
6 changes: 3 additions & 3 deletions src/de.rs
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ use std::collections::VecDeque;
use std::convert::TryInto;
use std::iter::Enumerate;

use serde::de;
use serde_core::de;

use crate::config::Config;
use crate::error::{ConfigError, Result, Unexpected};
Expand Down Expand Up @@ -164,7 +164,7 @@ impl<'de> de::Deserializer<'de> for Value {
})
}

serde::forward_to_deserialize_any! {
serde_core::forward_to_deserialize_any! {
char seq
bytes byte_buf map struct unit
identifier ignored_any unit_struct tuple_struct tuple
Expand All @@ -181,7 +181,7 @@ impl<'de> de::Deserializer<'de> for StrDeserializer<'_> {
visitor.visit_str(self.0)
}

serde::forward_to_deserialize_any! {
serde_core::forward_to_deserialize_any! {
bool u8 u16 u32 u64 i8 i16 i32 i64 f32 f64 char str string seq
bytes byte_buf map struct unit enum newtype_struct
identifier ignored_any unit_struct tuple_struct tuple option
Expand Down
4 changes: 2 additions & 2 deletions src/error.rs
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,8 @@ use std::error::Error;
use std::fmt;
use std::result;

use serde::de;
use serde::ser;
use serde_core::de;
use serde_core::ser;

#[allow(unnameable_types)] // Unsure if/how to expose this
#[derive(Debug)]
Expand Down
4 changes: 2 additions & 2 deletions src/file/format/json5.rs
Original file line number Diff line number Diff line change
Expand Up @@ -15,10 +15,10 @@ pub(crate) enum Val {
Object(Map<String, Self>),
}

impl<'de> serde::de::Deserialize<'de> for Val {
impl<'de> serde_core::de::Deserialize<'de> for Val {
fn deserialize<D>(d: D) -> Result<Self, D::Error>
where
D: serde::de::Deserializer<'de>,
D: serde_core::de::Deserializer<'de>,
{
serde_untagged::UntaggedEnumVisitor::new()
.bool(|value| Ok(Self::Boolean(value)))
Expand Down
6 changes: 3 additions & 3 deletions src/ser.rs
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
use std::fmt::Display;
use std::fmt::Write as _;

use serde::ser;
use serde_core::ser;

use crate::error::{ConfigError, Result};
use crate::value::{Value, ValueKind};
Expand Down Expand Up @@ -149,7 +149,7 @@ impl<'a> ser::Serializer for &'a mut ConfigSerializer {
}

fn serialize_bytes(self, v: &[u8]) -> Result<Self::Ok> {
use serde::ser::SerializeSeq;
use serde_core::ser::SerializeSeq;
let mut seq = self.serialize_seq(Some(v.len()))?;
for byte in v {
seq.serialize_element(byte)?;
Expand Down Expand Up @@ -676,7 +676,7 @@ impl ser::SerializeStructVariant for Unreachable {

#[cfg(test)]
mod test {
use serde_derive::{Deserialize, Serialize};
use serde::{Deserialize, Serialize};

use super::*;

Expand Down
16 changes: 8 additions & 8 deletions src/value.rs
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ use std::convert::TryInto;
use std::fmt;
use std::fmt::Display;

use serde::de::{Deserialize, Deserializer, Visitor};
use serde_core::de::{Deserialize, Deserializer, Visitor};

use crate::error::{ConfigError, Result, Unexpected};
use crate::map::Map;
Expand Down Expand Up @@ -770,22 +770,22 @@ impl<'de> Deserialize<'de> for Value {
#[inline]
fn visit_u64<E>(self, value: u64) -> ::std::result::Result<Value, E>
where
E: ::serde::de::Error,
E: ::serde_core::de::Error,
{
let num: i64 = value.try_into().map_err(|_| {
E::invalid_type(::serde::de::Unexpected::Unsigned(value), &self)
E::invalid_type(::serde_core::de::Unexpected::Unsigned(value), &self)
})?;
Ok(num.into())
}

#[inline]
fn visit_u128<E>(self, value: u128) -> ::std::result::Result<Value, E>
where
E: ::serde::de::Error,
E: ::serde_core::de::Error,
{
let num: i128 = value.try_into().map_err(|_| {
E::invalid_type(
::serde::de::Unexpected::Other(
::serde_core::de::Unexpected::Other(
format!("integer `{value}` as u128").as_str(),
),
&self,
Expand All @@ -802,7 +802,7 @@ impl<'de> Deserialize<'de> for Value {
#[inline]
fn visit_str<E>(self, value: &str) -> ::std::result::Result<Value, E>
where
E: ::serde::de::Error,
E: ::serde_core::de::Error,
{
self.visit_string(String::from(value))
}
Expand Down Expand Up @@ -833,7 +833,7 @@ impl<'de> Deserialize<'de> for Value {
#[inline]
fn visit_seq<V>(self, mut visitor: V) -> ::std::result::Result<Value, V::Error>
where
V: ::serde::de::SeqAccess<'de>,
V: ::serde_core::de::SeqAccess<'de>,
{
let mut vec = Array::new();

Expand All @@ -846,7 +846,7 @@ impl<'de> Deserialize<'de> for Value {

fn visit_map<V>(self, mut visitor: V) -> ::std::result::Result<Value, V::Error>
where
V: ::serde::de::MapAccess<'de>,
V: ::serde_core::de::MapAccess<'de>,
{
let mut values = Table::new();

Expand Down
2 changes: 1 addition & 1 deletion tests/testsuite/case.rs
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
use serde_derive::Deserialize;
use serde::Deserialize;

use config::{Config, File, FileFormat};

Expand Down
2 changes: 1 addition & 1 deletion tests/testsuite/defaults.rs
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
use config::Config;
use serde_derive::{Deserialize, Serialize};
use serde::{Deserialize, Serialize};

#[derive(Debug, Serialize, Deserialize)]
#[serde(default)]
Expand Down
2 changes: 1 addition & 1 deletion tests/testsuite/empty.rs
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
use config::Config;
use serde_derive::{Deserialize, Serialize};
use serde::{Deserialize, Serialize};

#[derive(Debug, Serialize, Deserialize)]
struct Settings {
Expand Down
2 changes: 1 addition & 1 deletion tests/testsuite/env.rs
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
use serde_derive::Deserialize;
use serde::Deserialize;
use snapbox::{assert_data_eq, str};

use config::{Config, Environment, Source};
Expand Down
2 changes: 1 addition & 1 deletion tests/testsuite/errors.rs
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
use serde_derive::Deserialize;
use serde::Deserialize;
use snapbox::{assert_data_eq, str};

use config::{Config, ConfigError, File, FileFormat, Map, Value};
Expand Down
2 changes: 1 addition & 1 deletion tests/testsuite/file_ini.rs
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
#![cfg(feature = "ini")]

use chrono::{DateTime, TimeZone, Utc};
use serde_derive::Deserialize;
use serde::Deserialize;
use snapbox::{assert_data_eq, str};

use config::{Config, File, FileFormat};
Expand Down
2 changes: 1 addition & 1 deletion tests/testsuite/file_json.rs
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

use chrono::{DateTime, TimeZone, Utc};
use float_cmp::ApproxEqUlps;
use serde_derive::Deserialize;
use serde::Deserialize;
use snapbox::{assert_data_eq, str};

use config::{Config, File, FileFormat, Map, Value};
Expand Down
2 changes: 1 addition & 1 deletion tests/testsuite/file_json5.rs
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

use chrono::{DateTime, TimeZone, Utc};
use float_cmp::ApproxEqUlps;
use serde_derive::Deserialize;
use serde::Deserialize;
use snapbox::{assert_data_eq, str};

use config::{Config, File, FileFormat, Map, Value};
Expand Down
2 changes: 1 addition & 1 deletion tests/testsuite/file_ron.rs
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

use chrono::{DateTime, TimeZone, Utc};
use float_cmp::ApproxEqUlps;
use serde_derive::Deserialize;
use serde::Deserialize;
use snapbox::{assert_data_eq, str};

use config::{Config, File, FileFormat, Map, Value};
Expand Down
2 changes: 1 addition & 1 deletion tests/testsuite/file_toml.rs
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

use chrono::{DateTime, TimeZone, Utc};
use float_cmp::ApproxEqUlps;
use serde_derive::Deserialize;
use serde::Deserialize;
use snapbox::{assert_data_eq, str};

use config::{Config, File, FileFormat, Map, Value};
Expand Down
2 changes: 1 addition & 1 deletion tests/testsuite/file_yaml.rs
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ use std::collections::HashMap;

use chrono::{DateTime, TimeZone, Utc};
use float_cmp::ApproxEqUlps;
use serde_derive::Deserialize;
use serde::Deserialize;
use snapbox::{assert_data_eq, str};

use config::{Config, File, FileFormat, Map, Value};
Expand Down
2 changes: 1 addition & 1 deletion tests/testsuite/get.rs
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
use std::collections::HashSet;

use float_cmp::ApproxEqUlps;
use serde_derive::Deserialize;
use serde::Deserialize;
use snapbox::{assert_data_eq, str};

use config::{Config, File, FileFormat, Map, Value};
Expand Down
2 changes: 1 addition & 1 deletion tests/testsuite/main.rs
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
#[macro_use]
extern crate serde_derive;
extern crate serde;

pub mod async_builder;
pub mod case;
Expand Down
2 changes: 1 addition & 1 deletion tests/testsuite/ron_enum.rs
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
#![cfg(feature = "ron")]

use config::{Config, File, FileFormat};
use serde_derive::Deserialize;
use serde::Deserialize;

#[derive(Debug, Deserialize)]
#[serde(untagged)]
Expand Down
4 changes: 2 additions & 2 deletions tests/testsuite/unsigned_int.rs
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
#![cfg(feature = "preserve_order")]

#[derive(serde_derive::Deserialize, Eq, PartialEq, Debug)]
#[derive(serde::Deserialize, Eq, PartialEq, Debug)]
struct Container<T> {
inner: T,
}

#[derive(serde_derive::Deserialize, Eq, PartialEq, Debug)]
#[derive(serde::Deserialize, Eq, PartialEq, Debug)]
struct Unsigned {
unsigned: u16,
}
Expand Down
4 changes: 2 additions & 2 deletions tests/testsuite/unsigned_int_hm.rs
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
#![cfg(not(feature = "preserve_order"))]

#[derive(serde_derive::Deserialize, Eq, PartialEq, Debug)]
#[derive(serde::Deserialize, Eq, PartialEq, Debug)]
struct Container<T> {
inner: T,
}

#[derive(serde_derive::Deserialize, Eq, PartialEq, Debug)]
#[derive(serde::Deserialize, Eq, PartialEq, Debug)]
struct Unsigned {
unsigned: u16,
}
Expand Down
4 changes: 2 additions & 2 deletions tests/testsuite/weird_keys.rs
Original file line number Diff line number Diff line change
Expand Up @@ -3,14 +3,14 @@
//!
//! Please don't be offended!

use serde_derive::{Deserialize, Serialize};
use serde::{Deserialize, Serialize};

use config::{File, FileFormat};

/// Helper fn to test the different deserializations
fn test_config_as<'a, T>(config: &str, format: FileFormat) -> T
where
T: serde::Deserialize<'a> + std::fmt::Debug,
T: Deserialize<'a> + std::fmt::Debug,
{
let cfg = config::Config::builder()
.add_source(File::from_str(config, format))
Expand Down
Loading