From 839311c76b5727504858f019994c6471a45eb62e Mon Sep 17 00:00:00 2001 From: Simonas Kazlauskas Date: Mon, 16 Feb 2015 12:15:30 +0200 Subject: Implement ExactSizeIterator for Args and ArgsOs Fixes #22343 --- src/libstd/sys/windows/os.rs | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'src/libstd/sys/windows/os.rs') diff --git a/src/libstd/sys/windows/os.rs b/src/libstd/sys/windows/os.rs index 7e684c52341..6aa1ac04ca9 100644 --- a/src/libstd/sys/windows/os.rs +++ b/src/libstd/sys/windows/os.rs @@ -303,6 +303,10 @@ impl Iterator for Args { fn size_hint(&self) -> (usize, Option) { self.range.size_hint() } } +impl ExactSizeIterator for Args { + fn len(&self) -> usize { self.range.len() } +} + impl Drop for Args { fn drop(&mut self) { unsafe { c::LocalFree(self.cur as *mut c_void); } -- cgit 1.4.1-3-g733a5 From 10f51fc412b36ac4456be01d549d7ecd247a517b Mon Sep 17 00:00:00 2001 From: Manish Goregaokar Date: Tue, 17 Feb 2015 20:32:22 +0530 Subject: fix windows --- src/libstd/sys/windows/os.rs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'src/libstd/sys/windows/os.rs') diff --git a/src/libstd/sys/windows/os.rs b/src/libstd/sys/windows/os.rs index 6aa1ac04ca9..502d70d4e1a 100644 --- a/src/libstd/sys/windows/os.rs +++ b/src/libstd/sys/windows/os.rs @@ -18,7 +18,7 @@ use os::windows::*; use error::Error as StdError; use ffi::{OsString, OsStr, AsOsStr}; use fmt; -use iter::Range; +use ops::Range; use libc::types::os::arch::extra::LPWCH; use libc::{self, c_int, c_void}; use mem; @@ -319,7 +319,7 @@ pub fn args() -> Args { let lpCmdLine = c::GetCommandLineW(); let szArgList = c::CommandLineToArgvW(lpCmdLine, &mut nArgs); - Args { cur: szArgList, range: range(0, nArgs as isize) } + Args { cur: szArgList, range: 0..(nArgs as isize) } } } -- cgit 1.4.1-3-g733a5