@@ -113,6 +113,7 @@ pub struct VarsOs {
113113/// ```
114114///
115115/// [`env::vars_os()`]: vars_os
116+ #[ must_use]
116117#[ stable( feature = "env" , since = "1.0.0" ) ]
117118pub fn vars ( ) -> Vars {
118119 Vars { inner : vars_os ( ) }
@@ -140,6 +141,7 @@ pub fn vars() -> Vars {
140141/// println!("{:?}: {:?}", key, value);
141142/// }
142143/// ```
144+ #[ must_use]
143145#[ stable( feature = "env" , since = "1.0.0" ) ]
144146pub fn vars_os ( ) -> VarsOs {
145147 VarsOs { inner : os_imp:: env ( ) }
@@ -244,6 +246,7 @@ fn _var(key: &OsStr) -> Result<String, VarError> {
244246/// None => println!("{} is not defined in the environment.", key)
245247/// }
246248/// ```
249+ #[ must_use]
247250#[ stable( feature = "env" , since = "1.0.0" ) ]
248251pub fn var_os < K : AsRef < OsStr > > ( key : K ) -> Option < OsString > {
249252 _var_os ( key. as_ref ( ) )
@@ -384,6 +387,7 @@ fn _remove_var(key: &OsStr) {
384387/// documentation for more.
385388///
386389/// [`env::split_paths()`]: split_paths
390+ #[ must_use = "iterators are lazy and do nothing unless consumed" ]
387391#[ stable( feature = "env" , since = "1.0.0" ) ]
388392pub struct SplitPaths < ' a > {
389393 inner : os_imp:: SplitPaths < ' a > ,
@@ -564,6 +568,7 @@ impl Error for JoinPathsError {
564568 reason = "This function's behavior is unexpected and probably not what you want. \
565569 Consider using a crate from crates.io instead."
566570) ]
571+ #[ must_use]
567572#[ stable( feature = "env" , since = "1.0.0" ) ]
568573pub fn home_dir ( ) -> Option < PathBuf > {
569574 os_imp:: home_dir ( )
@@ -603,6 +608,7 @@ pub fn home_dir() -> Option<PathBuf> {
603608/// println!("Temporary directory: {}", dir.display());
604609/// }
605610/// ```
611+ #[ must_use]
606612#[ stable( feature = "env" , since = "1.0.0" ) ]
607613pub fn temp_dir ( ) -> PathBuf {
608614 os_imp:: temp_dir ( )
@@ -690,6 +696,7 @@ pub fn current_exe() -> io::Result<PathBuf> {
690696/// should not be relied upon for security purposes.
691697///
692698/// [`env::args()`]: args
699+ #[ must_use = "iterators are lazy and do nothing unless consumed" ]
693700#[ stable( feature = "env" , since = "1.0.0" ) ]
694701pub struct Args {
695702 inner : ArgsOs ,
@@ -706,6 +713,7 @@ pub struct Args {
706713/// should not be relied upon for security purposes.
707714///
708715/// [`env::args_os()`]: args_os
716+ #[ must_use = "iterators are lazy and do nothing unless consumed" ]
709717#[ stable( feature = "env" , since = "1.0.0" ) ]
710718pub struct ArgsOs {
711719 inner : sys:: args:: Args ,
0 commit comments