@@ -149,7 +149,15 @@ impl TcpStream {
149149 port,
150150 ) ,
151151 Ipv6 ( ref addr) => SocketAddr :: new (
152- IpAddr :: V6 ( Ipv6Addr :: new ( addr. 0 ) ) ,
152+ IpAddr :: V6 ( Ipv6Addr :: new (
153+ ( ( addr. 0 [ 0 ] as u16 ) << 8 ) | addr. 0 [ 1 ] as u16 ,
154+ ( ( addr. 0 [ 2 ] as u16 ) << 8 ) | addr. 0 [ 3 ] as u16 ,
155+ ( ( addr. 0 [ 4 ] as u16 ) << 8 ) | addr. 0 [ 5 ] as u16 ,
156+ ( ( addr. 0 [ 6 ] as u16 ) << 8 ) | addr. 0 [ 7 ] as u16 ,
157+ ( ( addr. 0 [ 8 ] as u16 ) << 8 ) | addr. 0 [ 9 ] as u16 ,
158+ ( ( addr. 0 [ 10 ] as u16 ) << 8 ) | addr. 0 [ 11 ] as u16 ,
159+ ( ( addr. 0 [ 12 ] as u16 ) << 8 ) | addr. 0 [ 13 ] as u16 ,
160+ ( ( addr. 0 [ 14 ] as u16 ) << 8 ) | addr. 0 [ 15 ] as u16 ) ) ,
153161 port,
154162 ) ,
155163 _ => {
@@ -232,7 +240,15 @@ impl TcpListener {
232240 port,
233241 ) ,
234242 Ipv6 ( ref addr) => SocketAddr :: new (
235- IpAddr :: V6 ( Ipv6Addr :: new ( addr. 0 ) ) ,
243+ IpAddr :: V6 ( Ipv6Addr :: new (
244+ ( ( addr. 0 [ 0 ] as u16 ) << 8 ) | addr. 0 [ 1 ] as u16 ,
245+ ( ( addr. 0 [ 2 ] as u16 ) << 8 ) | addr. 0 [ 3 ] as u16 ,
246+ ( ( addr. 0 [ 4 ] as u16 ) << 8 ) | addr. 0 [ 5 ] as u16 ,
247+ ( ( addr. 0 [ 6 ] as u16 ) << 8 ) | addr. 0 [ 7 ] as u16 ,
248+ ( ( addr. 0 [ 8 ] as u16 ) << 8 ) | addr. 0 [ 9 ] as u16 ,
249+ ( ( addr. 0 [ 10 ] as u16 ) << 8 ) | addr. 0 [ 11 ] as u16 ,
250+ ( ( addr. 0 [ 12 ] as u16 ) << 8 ) | addr. 0 [ 13 ] as u16 ,
251+ ( ( addr. 0 [ 14 ] as u16 ) << 8 ) | addr. 0 [ 15 ] as u16 ) ) ,
236252 port,
237253 ) ,
238254 _ => {
0 commit comments