File tree 4 files changed +25
-10
lines changed
4 files changed +25
-10
lines changed Original file line number Diff line number Diff line change @@ -12,6 +12,10 @@ rust-version = "1.45"
12
12
[lib ]
13
13
doctest = false
14
14
15
+ [features ]
16
+ default = [" std" ]
17
+ std = []
18
+
15
19
[[test ]]
16
20
name = " tests"
17
21
harness = false
@@ -26,8 +30,8 @@ tester = "0.9"
26
30
serde_json = " 1.0"
27
31
28
32
[dependencies ]
29
- unicode-bidi = " 0.3"
30
- unicode-normalization = " 0.1.17"
33
+ unicode-bidi = { version = " 0.3.7 " , default-features = false }
34
+ unicode-normalization = { version = " 0.1.17" , default-features = false }
31
35
32
36
[[bench ]]
33
37
name = " all"
Original file line number Diff line number Diff line change 31
31
//! > This document specifies a mechanism
32
32
//! > that minimizes the impact of this transition for client software,
33
33
//! > allowing client software to access domains that are valid under either system.
34
+ #![ no_std]
35
+
36
+ extern crate alloc;
37
+
38
+ #[ cfg( feature = "std" ) ]
39
+ extern crate std;
34
40
35
- #[ cfg( test) ]
36
41
#[ macro_use]
37
42
extern crate assert_matches;
38
43
44
+ use alloc:: string:: String ;
45
+
39
46
pub mod punycode;
40
47
mod uts46;
41
48
Original file line number Diff line number Diff line change 13
13
//! `encode_str` and `decode_to_string` provide convenience wrappers
14
14
//! that convert from and to Rust’s UTF-8 based `str` and `String` types.
15
15
16
- use std:: char;
17
- use std:: u32;
16
+ use alloc:: { string:: String , vec:: Vec } ;
17
+ use core:: char;
18
+ use core:: u32;
18
19
19
20
// Bootstring parameters for Punycode
20
21
static BASE : u32 = 36 ;
@@ -168,7 +169,7 @@ impl Decoder {
168
169
}
169
170
170
171
pub ( crate ) struct Decode < ' a > {
171
- base : std :: str:: Chars < ' a > ,
172
+ base : core :: str:: Chars < ' a > ,
172
173
pub ( crate ) insertions : & ' a [ ( usize , char ) ] ,
173
174
inserted : usize ,
174
175
position : usize ,
Original file line number Diff line number Diff line change 11
11
12
12
use self :: Mapping :: * ;
13
13
use crate :: punycode;
14
- use std:: { error:: Error as StdError , fmt} ;
14
+
15
+ use alloc:: string:: String ;
16
+ use core:: fmt;
15
17
use unicode_bidi:: { bidi_class, BidiClass } ;
16
18
use unicode_normalization:: char:: is_combining_mark;
17
19
use unicode_normalization:: { is_nfc, UnicodeNormalization } ;
@@ -70,10 +72,10 @@ fn find_char(codepoint: char) -> &'static Mapping {
70
72
}
71
73
72
74
struct Mapper < ' a > {
73
- chars : std :: str:: Chars < ' a > ,
75
+ chars : core :: str:: Chars < ' a > ,
74
76
config : Config ,
75
77
errors : & ' a mut Errors ,
76
- slice : Option < std :: str:: Chars < ' static > > ,
78
+ slice : Option < core :: str:: Chars < ' static > > ,
77
79
}
78
80
79
81
impl < ' a > Iterator for Mapper < ' a > {
@@ -697,7 +699,8 @@ impl From<Errors> for Result<(), Errors> {
697
699
}
698
700
}
699
701
700
- impl StdError for Errors { }
702
+ #[ cfg( feature = "std" ) ]
703
+ impl std:: error:: Error for Errors { }
701
704
702
705
impl fmt:: Display for Errors {
703
706
fn fmt ( & self , f : & mut fmt:: Formatter < ' _ > ) -> fmt:: Result {
You can’t perform that action at this time.
0 commit comments