mirror of
https://github.com/rust-lang/rust-clippy
synced 2024-11-27 07:00:55 +00:00
Cleanup
This commit is contained in:
parent
1ca5903138
commit
d755b1ebe2
3 changed files with 11 additions and 27 deletions
|
@ -71,12 +71,9 @@ impl LintPass for Derive {
|
|||
|
||||
impl LateLintPass for Derive {
|
||||
fn check_item(&mut self, cx: &LateContext, item: &Item) {
|
||||
|
||||
|
||||
if_let_chain! {[
|
||||
let ItemImpl(_, _, _, Some(ref trait_ref), _, _) = item.node
|
||||
], {
|
||||
|
||||
let ty = cx.tcx.lookup_item_type(cx.tcx.map.local_def_id(item.id)).ty;
|
||||
if item.attrs.iter().any(is_automatically_derived) {
|
||||
check_hash_peq(cx, item.span, trait_ref, ty);
|
||||
|
|
|
@ -35,6 +35,17 @@ impl Clone for Qux {
|
|||
fn clone(&self) -> Self { Qux }
|
||||
}
|
||||
|
||||
// See #666
|
||||
#[derive(Copy)]
|
||||
struct Lt<'a> {
|
||||
a: &'a u8,
|
||||
}
|
||||
|
||||
impl<'a> Clone for Lt<'a> {
|
||||
//~^ ERROR you are implementing `Clone` explicitly on a `Copy` type
|
||||
fn clone(&self) -> Self { unimplemented!() }
|
||||
}
|
||||
|
||||
// Ok, `Clone` cannot be derived because of the big array
|
||||
#[derive(Copy)]
|
||||
struct BigArray {
|
||||
|
|
|
@ -1,24 +0,0 @@
|
|||
#![feature(plugin)]
|
||||
#![plugin(clippy)]
|
||||
|
||||
pub struct Lt<'a> {
|
||||
_foo: &'a u8,
|
||||
}
|
||||
|
||||
impl<'a> Copy for Lt<'a> {}
|
||||
impl<'a> Clone for Lt<'a> {
|
||||
fn clone(&self) -> Lt<'a> {
|
||||
unimplemented!();
|
||||
}
|
||||
}
|
||||
|
||||
pub struct Ty<A> {
|
||||
_foo: A,
|
||||
}
|
||||
|
||||
impl<A: Copy> Copy for Ty<A> {}
|
||||
impl<A> Clone for Ty<A> {
|
||||
fn clone(&self) -> Ty<A> {
|
||||
unimplemented!();
|
||||
}
|
||||
}
|
Loading…
Reference in a new issue