]> git.lizzy.rs Git - rust.git/commitdiff
Deny common lints by default for lib{std,extra}
authorAlex Crichton <alex@alexcrichton.com>
Wed, 26 Jun 2013 00:02:03 +0000 (17:02 -0700)
committerAlex Crichton <alex@alexcrichton.com>
Wed, 26 Jun 2013 00:39:43 +0000 (17:39 -0700)
mk/target.mk
src/libextra/term.rs
src/libstd/libc.rs
src/libstd/os.rs
src/libstd/rt/thread_local_storage.rs
src/libstd/run.rs
src/libstd/task/spawn.rs
src/libstd/to_str.rs
src/libstd/unstable/dynamic_lib.rs

index 737b3b82c00dedefbd70368b6fc56f2740db5183..47ab7c867282cfe9f4115272766f4153aebb9252 100644 (file)
 # this exists can be found on issue #2400
 export CFG_COMPILER_TRIPLE
 
+# The standard libraries should be held up to a higher standard than any old
+# code, make sure that these common warnings are denied by default. These can
+# be overridden during development temporarily. For stage0, we allow all these
+# to suppress warnings which may be bugs in stage0 (should be fixed in stage1+)
+# NOTE: add "-A warnings" after snapshot to WFLAGS_ST0
+WFLAGS_ST0 = -A unrecognized-lint
+WFLAGS_ST1 = -D warnings
+WFLAGS_ST2 = -D warnings
+
 # TARGET_STAGE_N template: This defines how target artifacts are built
 # for all stage/target architecture combinations. The arguments:
 # $(1) is the stage
@@ -39,7 +48,7 @@ $$(TLIB$(1)_T_$(2)_H_$(3))/$(CFG_STDLIB_$(2)): \
                $$(TSREQ$(1)_T_$(2)_H_$(3)) \
                | $$(TLIB$(1)_T_$(2)_H_$(3))/
        @$$(call E, compile_and_link: $$@)
-       $$(STAGE$(1)_T_$(2)_H_$(3)) -o $$@ $$< && touch $$@
+       $$(STAGE$(1)_T_$(2)_H_$(3)) $$(WFLAGS_ST$(1)) -o $$@ $$< && touch $$@
 
 $$(TLIB$(1)_T_$(2)_H_$(3))/$(CFG_EXTRALIB_$(2)): \
                $$(EXTRALIB_CRATE) $$(EXTRALIB_INPUTS) \
@@ -47,7 +56,7 @@ $$(TLIB$(1)_T_$(2)_H_$(3))/$(CFG_EXTRALIB_$(2)): \
                $$(TSREQ$(1)_T_$(2)_H_$(3)) \
                | $$(TLIB$(1)_T_$(2)_H_$(3))/
        @$$(call E, compile_and_link: $$@)
-       $$(STAGE$(1)_T_$(2)_H_$(3)) -o $$@ $$< && touch $$@
+       $$(STAGE$(1)_T_$(2)_H_$(3)) $$(WFLAGS_ST$(1)) -o $$@ $$< && touch $$@
 
 $$(TLIB$(1)_T_$(2)_H_$(3))/$(CFG_LIBSYNTAX_$(3)): \
                 $$(LIBSYNTAX_CRATE) $$(LIBSYNTAX_INPUTS) \
index 17d80ded47f81b09825d5aa95e8e538911e56709..782a73deadf9a9938032aac73024c063bf699729 100644 (file)
 use core::prelude::*;
 
 use core::io;
-use core::os;
 
-use terminfo::*;
-use terminfo::searcher::open;
-use terminfo::parser::compiled::parse;
-use terminfo::parm::{expand, Number, Variables};
+#[cfg(not(target_os = "win32"))] use core::os;
+#[cfg(not(target_os = "win32"))] use terminfo::*;
+#[cfg(not(target_os = "win32"))] use terminfo::searcher::open;
+#[cfg(not(target_os = "win32"))] use terminfo::parser::compiled::parse;
+#[cfg(not(target_os = "win32"))] use terminfo::parm::{expand, Number, Variables};
 
 // FIXME (#2807): Windows support.
 
@@ -122,10 +122,10 @@ pub fn new(out: @io::Writer) -> Result<Terminal, ~str> {
         return Ok(Terminal {out: out, color_supported: false});
     }
 
-    pub fn fg(&self, color: u8) {
+    pub fn fg(&self, _color: u8) {
     }
 
-    pub fn bg(&self, color: u8) {
+    pub fn bg(&self, _color: u8) {
     }
 
     pub fn reset(&self) {
index 523645e69a52ae16af6436b3959c48816ca089cf..3c2ae93b65637694196b592d1f8497b7c3a497ee 100644 (file)
@@ -568,7 +568,7 @@ pub mod extra {
     pub mod os {
         pub mod common {
             pub mod posix01 {
-                use libc::types::os::arch::c95::{c_int, c_short};
+                use libc::types::os::arch::c95::c_short;
                 use libc::types::os::arch::extra::{int64, time64_t};
                 use libc::types::os::arch::posix88::{dev_t, ino_t};
                 use libc::types::os::arch::posix88::mode_t;
index e6b92c0ccc3f933eddf9c5b9371e0c711a641f78..112540c405da7cda900d0eafc0f2f6e5b59cf599 100644 (file)
@@ -33,9 +33,8 @@
 use iterator::IteratorUtil;
 use libc;
 use libc::{c_char, c_void, c_int, size_t};
-use libc::{mode_t, FILE};
+use libc::FILE;
 use local_data;
-use option;
 use option::{Some, None};
 use os;
 use prelude::*;
@@ -181,7 +180,6 @@ pub fn env() -> ~[(~str,~str)] {
     unsafe {
         #[cfg(windows)]
         unsafe fn get_env_pairs() -> ~[~str] {
-            use libc::types::os::arch::extra::LPTCH;
             use libc::funcs::extra::kernel32::{
                 GetEnvironmentStringsA,
                 FreeEnvironmentStringsA
@@ -248,10 +246,10 @@ pub fn getenv(n: &str) -> Option<~str> {
         do with_env_lock {
             let s = str::as_c_str(n, |s| libc::getenv(s));
             if ptr::null::<u8>() == cast::transmute(s) {
-                option::None::<~str>
+                None::<~str>
             } else {
                 let s = cast::transmute(s);
-                option::Some::<~str>(str::raw::from_buf(s))
+                Some::<~str>(str::raw::from_buf(s))
             }
         }
     }
@@ -540,7 +538,7 @@ fn secondary() -> Option<Path> {
 
     #[cfg(windows)]
     fn secondary() -> Option<Path> {
-        do getenv(~"USERPROFILE").chain |p| {
+        do getenv("USERPROFILE").chain |p| {
             if !p.is_empty() {
                 Some(Path(p))
             } else {
@@ -647,9 +645,7 @@ fn mkdir(p: &Path, _mode: c_int) -> bool {
             use os::win32::as_utf16_p;
             // FIXME: turn mode into something useful? #2623
             do as_utf16_p(p.to_str()) |buf| {
-                libc::CreateDirectoryW(buf, unsafe {
-                    cast::transmute(0)
-                })
+                libc::CreateDirectoryW(buf, cast::transmute(0))
                     != (0 as libc::BOOL)
             }
         }
@@ -659,7 +655,7 @@ fn mkdir(p: &Path, _mode: c_int) -> bool {
     fn mkdir(p: &Path, mode: c_int) -> bool {
         unsafe {
             do as_c_charp(p.to_str()) |c| {
-                libc::mkdir(c, mode as mode_t) == (0 as c_int)
+                libc::mkdir(c, mode as libc::mode_t) == (0 as c_int)
             }
         }
     }
@@ -732,7 +728,6 @@ unsafe fn get_list(p: &Path) -> ~[~str] {
         }
         #[cfg(windows)]
         unsafe fn get_list(p: &Path) -> ~[~str] {
-            use libc::types::os::arch::extra::{LPCTSTR, HANDLE, BOOL};
             use libc::consts::os::extra::INVALID_HANDLE_VALUE;
             use libc::wcslen;
             use libc::funcs::extra::kernel32::{
@@ -961,7 +956,7 @@ fn do_copy_file(from: &Path, to: &Path) -> bool {
 
             // Give the new file the old file's permissions
             if do str::as_c_str(to.to_str()) |to_buf| {
-                libc::chmod(to_buf, from_mode as mode_t)
+                libc::chmod(to_buf, from_mode as libc::mode_t)
             } != 0 {
                 return false; // should be a condition...
             }
@@ -1329,7 +1324,7 @@ fn default_glob_t () -> libc::glob_t {
 
 /// Returns a vector of Path objects that match the given glob pattern
 #[cfg(target_os = "win32")]
-pub fn glob(pattern: &str) -> ~[Path] {
+pub fn glob(_pattern: &str) -> ~[Path] {
     fail!("glob() is unimplemented on Windows")
 }
 
index 7187d2db41cac492f2ad33b2539b9d10b891ce8e..5041b559ecbff8bb67b710f73012358920b19c08 100644 (file)
@@ -60,13 +60,13 @@ pub unsafe fn get(key: Key) -> *mut c_void {
 #[cfg(windows)]
 pub unsafe fn create(key: &mut Key) {
     static TLS_OUT_OF_INDEXES: DWORD = 0xFFFFFFFF;
-    *key = unsafe { TlsAlloc() };
+    *key = TlsAlloc();
     assert!(*key != TLS_OUT_OF_INDEXES);
 }
 
 #[cfg(windows)]
 pub unsafe fn set(key: Key, value: *mut c_void) {
-    unsafe { assert!(0 != TlsSetValue(key, value)) }
+    assert!(0 != TlsSetValue(key, value))
 }
 
 #[cfg(windows)]
index c965af7c10ce2d98b9006f91fb64539729556b22..32368312e15932607b6f8f1139ebd7a4bfb395b9 100644 (file)
 
 #[allow(missing_doc)];
 
-use iterator::IteratorUtil;
 use cast;
 use comm::{stream, SharedChan, GenericChan, GenericPort};
-use int;
 use io;
+use iterator::IteratorUtil;
 use libc::{pid_t, c_void, c_int};
 use libc;
 use option::{Some, None};
@@ -465,7 +464,6 @@ fn spawn_process_os(prog: &str, args: &[~str],
     use libc::funcs::extra::msvcrt::get_osfhandle;
 
     use sys;
-    use uint;
 
     unsafe {
 
@@ -638,6 +636,7 @@ fn spawn_process_os(prog: &str, args: &[~str],
 
     use libc::funcs::posix88::unistd::{fork, dup2, close, chdir, execvp};
     use libc::funcs::bsd44::getdtablesize;
+    use int;
 
     mod rustrt {
         use libc::c_void;
index 77053f39677936bbb1f873ecda7002418776440c..94349c75af91f44099e652a3222105418b5d4517 100644 (file)
@@ -91,7 +91,7 @@
 use util;
 use unstable::sync::{Exclusive, exclusive};
 use rt::local::Local;
-use iterator::{IteratorUtil};
+use iterator::IteratorUtil;
 
 #[cfg(test)] use task::default_task_opts;
 #[cfg(test)] use comm;
index 4d5bc0f8842f7ac5d41821f45effcf4710d0b6c6..ea0e212b14f791ebcd85d20a5f9c645911449d80 100644 (file)
@@ -17,8 +17,8 @@
 use str::OwnedStr;
 use hashmap::HashMap;
 use hashmap::HashSet;
-use iterator::IteratorUtil;
 use hash::Hash;
+use iterator::IteratorUtil;
 use cmp::Eq;
 use vec::ImmutableVector;
 
@@ -177,7 +177,7 @@ fn to_str(&self) -> ~str {
 mod tests {
     use hashmap::HashMap;
     use hashmap::HashSet;
-    use container::{Set,Map};
+    use container::{Set, Map};
     #[test]
     fn test_simple_types() {
         assert_eq!(1i.to_str(), ~"1");
index 64dd5bba6bcf828de6f19e2443ce64e7c9fa3412..61793977e7a80975a6e05d9f903177998be2b389 100644 (file)
@@ -164,7 +164,6 @@ mod dl {
     use libc;
     use path;
     use ptr;
-    use str;
     use task;
     use result::*;
 
@@ -175,7 +174,7 @@ pub unsafe fn open_external(filename: &path::Path) -> *libc::c_void {
     }
 
     pub unsafe fn open_internal() -> *libc::c_void {
-        let mut handle = ptr::null();
+        let handle = ptr::null();
         GetModuleHandleExW(0 as libc::DWORD, ptr::null(), &handle as **libc::c_void);
         handle
     }