File tree Expand file tree Collapse file tree 4 files changed +25
-9
lines changed Expand file tree Collapse file tree 4 files changed +25
-9
lines changed Original file line number Diff line number Diff line change @@ -12,6 +12,10 @@ rust-version = "1.45"
1212[lib ]
1313doctest = false
1414
15+ [features ]
16+ default = [" std" ]
17+ std = []
18+
1519[[test ]]
1620name = " tests"
1721harness = false
@@ -26,8 +30,8 @@ tester = "0.9"
2630serde_json = " 1.0"
2731
2832[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 }
3135
3236[[bench ]]
3337name = " all"
Original file line number Diff line number Diff line change 3131//! > This document specifies a mechanism
3232//! > that minimizes the impact of this transition for client software,
3333//! > 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;
3440
3541#[ cfg( test) ]
3642#[ macro_use]
3743extern crate assert_matches;
3844
45+ use alloc:: string:: String ;
46+
3947pub mod punycode;
4048mod uts46;
4149
Original file line number Diff line number Diff line change 1313//! `encode_str` and `decode_to_string` provide convenience wrappers
1414//! that convert from and to Rust’s UTF-8 based `str` and `String` types.
1515
16- use std:: char;
17- use std:: u32;
16+ use alloc:: { string:: String , vec:: Vec } ;
17+ use core:: char;
18+ use core:: u32;
1819
1920// Bootstring parameters for Punycode
2021static BASE : u32 = 36 ;
@@ -168,7 +169,7 @@ impl Decoder {
168169}
169170
170171pub ( crate ) struct Decode < ' a > {
171- base : std :: str:: Chars < ' a > ,
172+ base : core :: str:: Chars < ' a > ,
172173 pub ( crate ) insertions : & ' a [ ( usize , char ) ] ,
173174 inserted : usize ,
174175 position : usize ,
Original file line number Diff line number Diff line change 1111
1212use self :: Mapping :: * ;
1313use crate :: punycode;
14- use std:: { error:: Error as StdError , fmt} ;
14+
15+ use alloc:: string:: String ;
16+ use core:: fmt;
1517use unicode_bidi:: { bidi_class, BidiClass } ;
1618use unicode_normalization:: char:: is_combining_mark;
1719use unicode_normalization:: { is_nfc, UnicodeNormalization } ;
@@ -70,10 +72,10 @@ fn find_char(codepoint: char) -> &'static Mapping {
7072}
7173
7274struct Mapper < ' a > {
73- chars : std :: str:: Chars < ' a > ,
75+ chars : core :: str:: Chars < ' a > ,
7476 config : Config ,
7577 errors : & ' a mut Errors ,
76- slice : Option < std :: str:: Chars < ' static > > ,
78+ slice : Option < core :: str:: Chars < ' static > > ,
7779}
7880
7981impl < ' a > Iterator for Mapper < ' a > {
@@ -697,7 +699,8 @@ impl From<Errors> for Result<(), Errors> {
697699 }
698700}
699701
700- impl StdError for Errors { }
702+ #[ cfg( feature = "std" ) ]
703+ impl std:: error:: Error for Errors { }
701704
702705impl fmt:: Display for Errors {
703706 fn fmt ( & self , f : & mut fmt:: Formatter < ' _ > ) -> fmt:: Result {
You can’t perform that action at this time.
0 commit comments