Skip to content

Deny common lints by default for lib{std,extra} #7113

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
wants to merge 1 commit into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
13 changes: 11 additions & 2 deletions mk/target.mk
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,15 @@
# 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
Expand All @@ -39,15 +48,15 @@ $$(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) \
$$(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_LIBSYNTAX_$(3)): \
$$(LIBSYNTAX_CRATE) $$(LIBSYNTAX_INPUTS) \
Expand Down
14 changes: 7 additions & 7 deletions src/libextra/term.rs
Original file line number Diff line number Diff line change
Expand Up @@ -15,12 +15,12 @@
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.

Expand Down Expand Up @@ -122,10 +122,10 @@ impl Terminal {
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) {
Expand Down
2 changes: 1 addition & 1 deletion src/libstd/libc.rs
Original file line number Diff line number Diff line change
Expand Up @@ -568,7 +568,7 @@ pub mod types {
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;
Expand Down
21 changes: 8 additions & 13 deletions src/libstd/os.rs
Original file line number Diff line number Diff line change
Expand Up @@ -33,9 +33,8 @@ use io;
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::*;
Expand Down Expand Up @@ -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
Expand Down Expand Up @@ -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))
}
}
}
Expand Down Expand Up @@ -540,7 +538,7 @@ pub fn homedir() -> 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 {
Expand Down Expand Up @@ -647,9 +645,7 @@ pub fn make_dir(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)
}
}
Expand All @@ -659,7 +655,7 @@ pub fn make_dir(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)
}
}
}
Expand Down Expand Up @@ -732,7 +728,6 @@ pub fn list_dir(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::{
Expand Down Expand Up @@ -961,7 +956,7 @@ pub fn 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...
}
Expand Down Expand Up @@ -1329,7 +1324,7 @@ pub fn glob(pattern: &str) -> ~[Path] {

/// 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")
}

Expand Down
4 changes: 2 additions & 2 deletions src/libstd/rt/thread_local_storage.rs
Original file line number Diff line number Diff line change
Expand Up @@ -60,13 +60,13 @@ pub type Key = DWORD;
#[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)]
Expand Down
5 changes: 2 additions & 3 deletions src/libstd/run.rs
Original file line number Diff line number Diff line change
Expand Up @@ -12,11 +12,10 @@

#[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};
Expand Down Expand Up @@ -465,7 +464,6 @@ fn spawn_process_os(prog: &str, args: &[~str],
use libc::funcs::extra::msvcrt::get_osfhandle;

use sys;
use uint;

unsafe {

Expand Down Expand Up @@ -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;
Expand Down
2 changes: 1 addition & 1 deletion src/libstd/task/spawn.rs
Original file line number Diff line number Diff line change
Expand Up @@ -91,7 +91,7 @@ use uint;
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;
Expand Down
4 changes: 2 additions & 2 deletions src/libstd/to_str.rs
Original file line number Diff line number Diff line change
Expand Up @@ -17,8 +17,8 @@ The `ToStr` trait for converting to strings
use str::OwnedStr;
use hashmap::HashMap;
use hashmap::HashSet;
use iterator::IteratorUtil;
use hash::Hash;
use iterator::IteratorUtil;
use cmp::Eq;
use vec::ImmutableVector;

Expand Down Expand Up @@ -177,7 +177,7 @@ impl<A:ToStr> ToStr for @[A] {
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");
Expand Down
3 changes: 1 addition & 2 deletions src/libstd/unstable/dynamic_lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -164,7 +164,6 @@ mod dl {
use libc;
use path;
use ptr;
use str;
use task;
use result::*;

Expand All @@ -175,7 +174,7 @@ mod dl {
}

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
}
Expand Down