mirror of
https://github.com/rust-lang/rust-clippy
synced 2024-11-14 00:47:16 +00:00
Make new_without_default ignore const fns; fixes #977
This commit is contained in:
parent
d7df882fa0
commit
bf4ce86e9e
2 changed files with 11 additions and 2 deletions
|
@ -95,7 +95,11 @@ impl LateLintPass for NewWithoutDefault {
|
|||
return;
|
||||
}
|
||||
|
||||
if let FnKind::Method(name, _, _, _) = kind {
|
||||
if let FnKind::Method(name, ref sig, _, _) = kind {
|
||||
if sig.constness == hir::Constness::Const {
|
||||
// can't be implemented by default
|
||||
return;
|
||||
}
|
||||
if decl.inputs.is_empty() && name.as_str() == "new" &&
|
||||
cx.access_levels.is_reachable(id) {
|
||||
let self_ty = cx.tcx.lookup_item_type(cx.tcx.map.local_def_id(
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
#![feature(plugin)]
|
||||
#![feature(plugin, const_fn)]
|
||||
#![plugin(clippy)]
|
||||
|
||||
#![allow(dead_code)]
|
||||
|
@ -70,4 +70,9 @@ impl Private {
|
|||
fn new() -> Private { unimplemented!() } // We don't lint private items
|
||||
}
|
||||
|
||||
struct Const;
|
||||
|
||||
impl Const {
|
||||
pub const fn new() -> Const { Const } // const fns can't be implemented via Default
|
||||
}
|
||||
fn main() {}
|
||||
|
|
Loading…
Reference in a new issue