@@ -781,7 +781,7 @@ impl Url {
781
781
/// # use std::io;
782
782
///
783
783
/// fn connect(url: &Url) -> io::Result<TcpStream> {
784
- /// TcpStream::connect(try!( url.with_default_port(default_port)) )
784
+ /// TcpStream::connect(url.with_default_port(default_port)? )
785
785
/// }
786
786
///
787
787
/// fn default_port(url: &Url) -> Result<u16, ()> {
@@ -797,13 +797,13 @@ impl Url {
797
797
pub fn with_default_port < F > ( & self , f : F ) -> io:: Result < HostAndPort < & str > >
798
798
where F : FnOnce ( & Url ) -> Result < u16 , ( ) > {
799
799
Ok ( HostAndPort {
800
- host : try! ( self . host ( )
801
- . ok_or ( ( ) )
802
- . or_else ( |( ) | io_error ( "URL has no host" ) ) ) ,
803
- port : try! ( self . port_or_known_default ( )
804
- . ok_or ( ( ) )
805
- . or_else ( |( ) | f ( self ) )
806
- . or_else ( |( ) | io_error ( "URL has no port number" ) ) )
800
+ host : self . host ( )
801
+ . ok_or ( ( ) )
802
+ . or_else ( |( ) | io_error ( "URL has no host" ) ) ? ,
803
+ port : self . port_or_known_default ( )
804
+ . ok_or ( ( ) )
805
+ . or_else ( |( ) | f ( self ) )
806
+ . or_else ( |( ) | io_error ( "URL has no port number" ) ) ?
807
807
} )
808
808
}
809
809
@@ -1192,7 +1192,7 @@ impl Url {
1192
1192
if host == "" && SchemeType :: from ( self . scheme ( ) ) . is_special ( ) {
1193
1193
return Err ( ParseError :: EmptyHost ) ;
1194
1194
}
1195
- self . set_host_internal ( try! ( Host :: parse ( host) ) , None )
1195
+ self . set_host_internal ( Host :: parse ( host) ? , None )
1196
1196
} else if self . has_host ( ) {
1197
1197
if SchemeType :: from ( self . scheme ( ) ) . is_special ( ) {
1198
1198
return Err ( ParseError :: EmptyHost )
@@ -1407,7 +1407,7 @@ impl Url {
1407
1407
/// ```
1408
1408
pub fn set_scheme ( & mut self , scheme : & str ) -> Result < ( ) , ( ) > {
1409
1409
let mut parser = Parser :: for_setter ( String :: new ( ) ) ;
1410
- let remaining = try! ( parser. parse_scheme ( parser:: Input :: new ( scheme) ) ) ;
1410
+ let remaining = parser. parse_scheme ( parser:: Input :: new ( scheme) ) ? ;
1411
1411
if !remaining. is_empty ( ) ||
1412
1412
( !self . has_host ( ) && SchemeType :: from ( & parser. serialization ) . is_special ( ) ) {
1413
1413
return Err ( ( ) )
@@ -1458,7 +1458,7 @@ impl Url {
1458
1458
pub fn from_file_path < P : AsRef < Path > > ( path : P ) -> Result < Url , ( ) > {
1459
1459
let mut serialization = "file://" . to_owned ( ) ;
1460
1460
let path_start = serialization. len ( ) as u32 ;
1461
- try! ( path_to_file_url_segments ( path. as_ref ( ) , & mut serialization) ) ;
1461
+ path_to_file_url_segments ( path. as_ref ( ) , & mut serialization) ? ;
1462
1462
Ok ( Url {
1463
1463
serialization : serialization,
1464
1464
scheme_end : "file" . len ( ) as u32 ,
@@ -1491,7 +1491,7 @@ impl Url {
1491
1491
/// Note that `std::path` does not consider trailing slashes significant
1492
1492
/// and usually does not include them (e.g. in `Path::parent()`).
1493
1493
pub fn from_directory_path < P : AsRef < Path > > ( path : P ) -> Result < Url , ( ) > {
1494
- let mut url = try! ( Url :: from_file_path ( path) ) ;
1494
+ let mut url = Url :: from_file_path ( path) ? ;
1495
1495
if !url. serialization . ends_with ( '/' ) {
1496
1496
url. serialization . push ( '/' )
1497
1497
}
@@ -1532,7 +1532,7 @@ impl Url {
1532
1532
use serde:: { Deserialize , Error } ;
1533
1533
let ( serialization, scheme_end, username_end,
1534
1534
host_start, host_end, host, port, path_start,
1535
- query_start, fragment_start) = try! ( Deserialize :: deserialize ( deserializer) ) ;
1535
+ query_start, fragment_start) = Deserialize :: deserialize ( deserializer) ? ;
1536
1536
let url = Url {
1537
1537
serialization : serialization,
1538
1538
scheme_end : scheme_end,
@@ -1546,7 +1546,7 @@ impl Url {
1546
1546
fragment_start : fragment_start
1547
1547
} ;
1548
1548
if cfg ! ( debug_assertions) {
1549
- try! ( url. check_invariants ( ) . map_err ( |ref reason| Error :: invalid_value ( & reason) ) )
1549
+ url. check_invariants ( ) . map_err ( |ref reason| Error :: invalid_value ( & reason) ) ?
1550
1550
}
1551
1551
Ok ( url)
1552
1552
}
@@ -1598,7 +1598,7 @@ impl ToSocketAddrs for Url {
1598
1598
type Iter = SocketAddrs ;
1599
1599
1600
1600
fn to_socket_addrs ( & self ) -> io:: Result < Self :: Iter > {
1601
- try! ( self . with_default_port ( |_| Err ( ( ) ) ) ) . to_socket_addrs ( )
1601
+ self . with_default_port ( |_| Err ( ( ) ) ) ? . to_socket_addrs ( )
1602
1602
}
1603
1603
}
1604
1604
@@ -1707,7 +1707,7 @@ impl rustc_serialize::Encodable for Url {
1707
1707
#[ cfg( feature="rustc-serialize" ) ]
1708
1708
impl rustc_serialize:: Decodable for Url {
1709
1709
fn decode < D : rustc_serialize:: Decoder > ( decoder : & mut D ) -> Result < Url , D :: Error > {
1710
- Url :: parse ( & * try! ( decoder. read_str ( ) ) ) . map_err ( |error| {
1710
+ Url :: parse ( & * decoder. read_str ( ) ? ) . map_err ( |error| {
1711
1711
decoder. error ( & format ! ( "URL parsing error: {}" , error) )
1712
1712
} )
1713
1713
}
@@ -1729,7 +1729,7 @@ impl serde::Serialize for Url {
1729
1729
#[ cfg( feature="serde" ) ]
1730
1730
impl serde:: Deserialize for Url {
1731
1731
fn deserialize < D > ( deserializer : & mut D ) -> Result < Url , D :: Error > where D : serde:: Deserializer {
1732
- let string_representation: String = try! ( serde:: Deserialize :: deserialize ( deserializer) ) ;
1732
+ let string_representation: String = serde:: Deserialize :: deserialize ( deserializer) ? ;
1733
1733
Url :: parse ( & string_representation) . map_err ( |err| {
1734
1734
serde:: Error :: invalid_value ( err. description ( ) )
1735
1735
} )
@@ -1789,7 +1789,7 @@ fn path_to_file_url_segments_windows(path: &Path, serialization: &mut String) ->
1789
1789
for component in components {
1790
1790
if component == Component :: RootDir { continue }
1791
1791
// FIXME: somehow work with non-unicode?
1792
- let component = try! ( component. as_os_str ( ) . to_str ( ) . ok_or ( ( ) ) ) ;
1792
+ let component = component. as_os_str ( ) . to_str ( ) . ok_or ( ( ) ) ? ;
1793
1793
serialization. push ( '/' ) ;
1794
1794
serialization. extend ( percent_encode ( component. as_bytes ( ) , PATH_SEGMENT_ENCODE_SET ) ) ;
1795
1795
}
@@ -1822,7 +1822,7 @@ fn file_url_segments_to_pathbuf(segments: str::Split<char>) -> Result<PathBuf, (
1822
1822
// Build this unconditionally to alleviate https://github.com/servo/rust-url/issues/102
1823
1823
#[ cfg_attr( not( windows) , allow( dead_code) ) ]
1824
1824
fn file_url_segments_to_pathbuf_windows ( mut segments : str:: Split < char > ) -> Result < PathBuf , ( ) > {
1825
- let first = try! ( segments. next ( ) . ok_or ( ( ) ) ) ;
1825
+ let first = segments. next ( ) . ok_or ( ( ) ) ? ;
1826
1826
1827
1827
let mut string = match first. len ( ) {
1828
1828
2 => {
0 commit comments