Skip to content

Commit 64efce4

Browse files
authored
Merge pull request #7 from tomoikey/a
A
2 parents 5c85f08 + 66a4434 commit 64efce4

File tree

6 files changed

+3
-43
lines changed

6 files changed

+3
-43
lines changed

Cargo.toml

+2-3
Original file line numberDiff line numberDiff line change
@@ -6,11 +6,10 @@ repository = "https://github.com/tomoikey/refined-type"
66
readme = "README.md"
77
categories = ["development-tools"]
88
license = "MIT"
9-
version = "0.3.5"
9+
version = "0.3.6"
1010
edition = "2021"
1111

1212
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
1313

1414
[dependencies]
15-
regex = "1.10.2"
16-
paste = "1.0.14"
15+
regex = "1.10.3"

src/refined.rs

+1-11
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,7 @@ where
7171
mod test {
7272
use crate::refined::Refined;
7373
use crate::result::Error;
74-
use crate::rule::{ClosedAlgebraic, NonEmptyStringRule};
74+
use crate::rule::NonEmptyStringRule;
7575

7676
#[test]
7777
fn test_refined_non_empty_string_ok() -> Result<(), Error<String>> {
@@ -93,14 +93,4 @@ mod test {
9393
assert_eq!(format!("{}", non_empty_string), "Hello");
9494
Ok(())
9595
}
96-
97-
#[test]
98-
fn test_refined_plus_non_empty_string() -> Result<(), Error<String>> {
99-
let non_empty_string_1 = Refined::<NonEmptyStringRule>::new("Hello".to_string())?;
100-
let non_empty_string_2 = Refined::<NonEmptyStringRule>::new("World".to_string())?;
101-
let nonempty_string = non_empty_string_1.plus(non_empty_string_2);
102-
103-
assert_eq!(nonempty_string.into_value(), "HelloWorld");
104-
Ok(())
105-
}
10696
}

src/rule.rs

-2
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,9 @@
1-
mod closed_algebraic;
21
pub mod composer;
32
mod empty;
43
mod non_empty;
54
mod string;
65

76
use crate::result::Error;
8-
pub use closed_algebraic::ClosedAlgebraic;
97
pub use empty::*;
108
pub use non_empty::*;
119
pub use string::*;

src/rule/closed_algebraic.rs

-3
This file was deleted.

src/rule/non_empty/non_empty_string.rs

-9
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,11 @@
11
use crate::refined::Refined;
2-
use crate::rule::closed_algebraic::ClosedAlgebraic;
32
use crate::rule::NonEmpty;
43

54
/// This is a predicate type representing a non-empty string
65
pub type NonEmptyString = Refined<NonEmptyStringRule>;
76

87
pub type NonEmptyStringRule = NonEmpty<String>;
98

10-
/// # Math Theory
11-
/// NonEmpty + NonEmpty = NonEmpty
12-
impl ClosedAlgebraic for NonEmptyString {
13-
fn plus(self, that: NonEmptyString) -> NonEmptyString {
14-
Refined::new(format!("{}{}", self.into_value(), that.into_value())).unwrap()
15-
}
16-
}
17-
189
#[cfg(test)]
1910
mod test {
2011
use crate::rule::{NonEmptyStringRule, Rule};

src/rule/non_empty/non_empty_vec.rs

-15
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,9 @@
1-
use crate::rule::closed_algebraic::ClosedAlgebraic;
21
use crate::rule::NonEmpty;
32
use crate::Refined;
4-
use std::fmt::Debug;
53

64
pub type NonEmptyVec<T> = Refined<NonEmptyVecRule<T>>;
75
pub type NonEmptyVecRule<T> = NonEmpty<Vec<T>>;
86

9-
/// # Math Theory
10-
/// NonEmptyVec + NonEmptyVec = NonEmptyVec
11-
impl<T> ClosedAlgebraic for NonEmptyVec<T>
12-
where
13-
T: Debug,
14-
{
15-
fn plus(self, that: NonEmptyVec<T>) -> NonEmptyVec<T> {
16-
let mut result = self.into_value();
17-
result.append(&mut that.into_value());
18-
Refined::new(result).unwrap()
19-
}
20-
}
21-
227
#[cfg(test)]
238
mod test {
249
use crate::rule::non_empty::NonEmptyVecRule;

0 commit comments

Comments
 (0)