Skip to content

Commit fcb8b62

Browse files
derive as feature in diffus
1 parent 1173304 commit fcb8b62

File tree

5 files changed

+21
-19
lines changed

5 files changed

+21
-19
lines changed

diffus-derive-test/Cargo.toml

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -18,13 +18,12 @@ edition = "2018"
1818

1919

2020
[dependencies]
21-
diffus = { path = "../diffus" }
22-
diffus-derive = { path = "../diffus-derive" }
21+
diffus = { path = "../diffus", features = [ "derive" ]}
2322

2423
serde = { version = "1.0", features = [ "derive" ], optional = true }
2524
serde_json = { version = "1.0", optional = true }
2625

2726
[features]
2827
default = []
2928

30-
serialize-impl = [ "diffus-derive/serialize-impl", "serde", "serde_json" ]
29+
serialize-impl = [ "diffus/serialize-impl", "serde", "serde_json" ]

diffus-derive-test/src/lib.rs

Lines changed: 10 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,7 @@
22
#[allow(unused_variables)]
33
#[allow(dead_code)]
44
mod test {
5-
use diffus_derive::Diffus;
6-
7-
use diffus::{self, edit, Diffable};
5+
use diffus::{self, edit, Diffable, Diffus, Same};
86

97
mod hide {
108
use super::*;
@@ -43,7 +41,7 @@ mod test {
4341
value: u32,
4442
}
4543

46-
impl diffus::Same for Identified {
44+
impl Same for Identified {
4745
fn same(&self, other: &Self) -> bool {
4846
self.id == other.id
4947
}
@@ -71,7 +69,7 @@ mod test {
7169

7270
let diff = left.diff(&right);
7371

74-
use diffus::edit::{self, collection};
72+
use edit::{self, collection};
7573

7674
if let edit::Edit::Change(diff) = diff {
7775
let diff = diff.into_iter().collect::<Vec<_>>();
@@ -141,7 +139,7 @@ mod test {
141139
/*
142140
* Verify that the visibility of the Edited version is inherited.
143141
*/
144-
use diffus_derive::Diffus;
142+
use diffus::Diffus;
145143

146144
#[derive(Diffus)]
147145
pub struct VisTestStructUnit;
@@ -173,11 +171,10 @@ mod test {
173171

174172
let diff = left.diff(&right);
175173

176-
if let diffus::edit::enm::Edit::AssociatedChanged(EditedNestedTest::T { test }) =
174+
if let edit::enm::Edit::AssociatedChanged(EditedNestedTest::T { test }) =
177175
diff.change().unwrap()
178176
{
179-
if let diffus::edit::enm::Edit::AssociatedChanged(EditedTest::C { x }) =
180-
test.change().unwrap()
177+
if let edit::enm::Edit::AssociatedChanged(EditedTest::C { x }) = test.change().unwrap()
181178
{
182179
assert_eq!(x.change(), Some(&(&32, &43)));
183180
} else {
@@ -220,9 +217,8 @@ mod test {
220217
x: 42,
221218
y: "Frodo Baggins".to_owned(),
222219
};
223-
if let diffus::edit::Edit::Change(diffus::edit::enm::Edit::AssociatedChanged(
224-
EditedTest::Cd { x, y },
225-
)) = left.diff(&right)
220+
if let edit::Edit::Change(edit::enm::Edit::AssociatedChanged(EditedTest::Cd { x, y })) =
221+
left.diff(&right)
226222
{
227223
assert!(x.is_copy());
228224
assert!(y.is_change());
@@ -238,9 +234,7 @@ mod test {
238234
y: "Bilbo Baggins".to_owned(),
239235
};
240236
let right = Test::B("Frodo Baggins".to_owned());
241-
if let diffus::edit::Edit::Change(diffus::edit::enm::Edit::VariantChanged(l, r)) =
242-
left.diff(&right)
243-
{
237+
if let edit::Edit::Change(edit::enm::Edit::VariantChanged(l, r)) = left.diff(&right) {
244238
assert_eq!(&left, l);
245239
assert_eq!(&right, r);
246240
} else {
@@ -385,7 +379,7 @@ mod test {
385379
let diff = a.diff(&ap);
386380
let actual = diff.change().unwrap().a.change().unwrap();
387381

388-
use diffus::edit::string;
382+
use edit::string;
389383

390384
assert_eq!(
391385
actual,

diffus/Cargo.toml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,10 +37,14 @@ snake_case = { version = "0.2", optional = true }
3737

3838
serde = { version = "1.0", features = [ "derive" ], optional = true }
3939

40+
diffus-derive = { version = "0.7.0", path = "../diffus-derive", optional = true }
41+
4042

4143
[features]
4244
default = []
4345

46+
derive = [ "diffus-derive" ]
47+
4448
indexmap-impl = [ "indexmap" ]
4549
uuid-impl = [ "uuid" ]
4650
snake_case-impl = [ "snake_case" ]

diffus/src/lib.rs

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,3 +13,7 @@ pub trait Diffable<'a> {
1313
pub trait Same {
1414
fn same(&self, other: &Self) -> bool;
1515
}
16+
17+
#[cfg(feature = "derive")]
18+
#[doc(hidden)]
19+
pub use diffus_derive::*;

publish.sh

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,7 @@ cargo_publish () {
4242
-iname Cargo.toml \
4343
-not -path "./target/*" \
4444
-exec sed -i 's/^version = .*$/version = "'"${VERSION}"'"/g' '{}' \; \
45+
-exec sed -i 's/^\(diffus-derive = { version = "\)\([0-9]*\.[0-9]*\.[0-9]*\)\(".*\)$/\1'"${VERSION}"'\3/g' '{}' \;
4546
-exec git add '{}' \;
4647

4748
git diff origin/master

0 commit comments

Comments
 (0)