@@ -195,20 +195,19 @@ extern crate std;
195
195
196
196
#[ cfg( feature = "std" ) ]
197
197
mod ext {
198
-
198
+ use std :: borrow :: Cow ;
199
199
use std:: string:: String ;
200
-
201
200
use super :: * ;
202
201
203
- impl < A : Allocator + ' static > From < ThinString < A > > for std :: borrow :: Cow < ' static , str > {
202
+ impl < A : Allocator + ' static > From < ThinString < A > > for Cow < ' static , str > {
204
203
fn from ( thin_string : ThinString < A > ) -> Self {
205
204
if thin_string. tagged_ptr . tag ( ) == OWNED {
206
- let string = std :: string :: String :: from ( thin_string. as_ref ( ) ) ;
207
- std :: borrow :: Cow :: Owned ( string)
205
+ let string = String :: from ( thin_string. as_ref ( ) ) ;
206
+ Cow :: Owned ( string)
208
207
} else {
209
208
// SAFETY: if the string is borrowed, it lives in static memory.
210
209
let str = unsafe { mem:: transmute :: < & str , & str > ( thin_string. as_ref ( ) ) } ;
211
- std :: borrow :: Cow :: Borrowed ( str)
210
+ Cow :: Borrowed ( str)
212
211
}
213
212
}
214
213
}
@@ -218,6 +217,17 @@ mod ext {
218
217
ThinString :: from_str_in ( string. as_str ( ) , Global )
219
218
}
220
219
}
220
+
221
+ #[ cfg( test) ]
222
+ mod tests {
223
+ use super :: * ;
224
+ #[ test]
225
+ fn test_from_string ( ) {
226
+ let string = String :: from ( "hello world" ) ;
227
+ let thin_string = ThinString :: from ( string) ;
228
+ assert_eq ! ( thin_string. deref( ) , "hello world" ) ;
229
+ }
230
+ }
221
231
}
222
232
223
233
#[ cfg( test) ]
@@ -277,12 +287,4 @@ This is a tribute.
277
287
let thin_string = ThinString :: from ( str) ;
278
288
assert_eq ! ( thin_string. deref( ) , "hello world" ) ;
279
289
}
280
-
281
- #[ cfg( feature = "std" ) ]
282
- #[ test]
283
- fn test_from_string ( ) {
284
- let string = std:: string:: String :: from ( "hello world" ) ;
285
- let thin_string = ThinString :: from ( string) ;
286
- assert_eq ! ( thin_string. deref( ) , "hello world" ) ;
287
- }
288
290
}
0 commit comments