Remove all `union` stuffs
The rustc's PR wasn't merged. Hopefully this commit can simply be reverted when it's time.
This commit is contained in:
parent
01424f5622
commit
888c34ad70
|
@ -141,7 +141,7 @@ fn check_copy_clone<'a, 'tcx>(cx: &LateContext<'a, 'tcx>, item: &Item, trait_ref
|
||||||
}
|
}
|
||||||
|
|
||||||
match ty.sty {
|
match ty.sty {
|
||||||
TypeVariants::TyUnion(..) => return,
|
//FIXME:unions: TypeVariants::TyUnion(..) => return,
|
||||||
|
|
||||||
// Some types are not Clone by default but could be cloned “by hand” if necessary
|
// Some types are not Clone by default but could be cloned “by hand” if necessary
|
||||||
TypeVariants::TyEnum(def, substs) |
|
TypeVariants::TyEnum(def, substs) |
|
||||||
|
|
|
@ -209,8 +209,8 @@ fn has_is_empty(cx: &LateContext, expr: &Expr) -> bool {
|
||||||
}
|
}
|
||||||
ty::TyProjection(_) => ty.ty_to_def_id().map_or(false, |id| has_is_empty_impl(cx, &id)),
|
ty::TyProjection(_) => ty.ty_to_def_id().map_or(false, |id| has_is_empty_impl(cx, &id)),
|
||||||
ty::TyEnum(id, _) |
|
ty::TyEnum(id, _) |
|
||||||
ty::TyStruct(id, _) |
|
ty::TyStruct(id, _) /*FIXME:unions: |
|
||||||
ty::TyUnion(id, _) => has_is_empty_impl(cx, &id.did),
|
ty::TyUnion(id, _)*/ => has_is_empty_impl(cx, &id.did),
|
||||||
ty::TyArray(..) | ty::TyStr => true,
|
ty::TyArray(..) | ty::TyStr => true,
|
||||||
_ => false,
|
_ => false,
|
||||||
}
|
}
|
||||||
|
|
|
@ -123,7 +123,7 @@ impl LateLintPass for MissingDoc {
|
||||||
hir::ItemStruct(..) => "a struct",
|
hir::ItemStruct(..) => "a struct",
|
||||||
hir::ItemTrait(..) => "a trait",
|
hir::ItemTrait(..) => "a trait",
|
||||||
hir::ItemTy(..) => "a type alias",
|
hir::ItemTy(..) => "a type alias",
|
||||||
hir::ItemUnion(..) => "a union",
|
//FIXME:unions: hir::ItemUnion(..) => "a union",
|
||||||
hir::ItemDefaultImpl(..) |
|
hir::ItemDefaultImpl(..) |
|
||||||
hir::ItemExternCrate(..) |
|
hir::ItemExternCrate(..) |
|
||||||
hir::ItemForeignMod(..) |
|
hir::ItemForeignMod(..) |
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
#![feature(plugin)]
|
#![feature(plugin)]
|
||||||
#![plugin(clippy)]
|
#![plugin(clippy)]
|
||||||
|
|
||||||
#![feature(untagged_unions)]
|
//FIXME:unions: #![feature(untagged_unions)]
|
||||||
|
|
||||||
#![deny(warnings)]
|
#![deny(warnings)]
|
||||||
#![allow(dead_code)]
|
#![allow(dead_code)]
|
||||||
|
@ -47,6 +47,7 @@ impl Clone for Qux {
|
||||||
fn clone(&self) -> Self { Qux }
|
fn clone(&self) -> Self { Qux }
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* FIXME:unions
|
||||||
// looks like unions don't support deriving Clone for now
|
// looks like unions don't support deriving Clone for now
|
||||||
#[derive(Copy)]
|
#[derive(Copy)]
|
||||||
union Union {
|
union Union {
|
||||||
|
@ -60,6 +61,7 @@ impl Clone for Union {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
*/
|
||||||
|
|
||||||
// See #666
|
// See #666
|
||||||
#[derive(Copy)]
|
#[derive(Copy)]
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
#![deny(no_effect, unnecessary_operation)]
|
#![deny(no_effect, unnecessary_operation)]
|
||||||
#![allow(dead_code)]
|
#![allow(dead_code)]
|
||||||
#![allow(path_statements)]
|
#![allow(path_statements)]
|
||||||
#![feature(untagged_unions)]
|
//FIXME:unions #![feature(untagged_unions)]
|
||||||
|
|
||||||
struct Unit;
|
struct Unit;
|
||||||
struct Tuple(i32);
|
struct Tuple(i32);
|
||||||
|
@ -16,10 +16,12 @@ enum Enum {
|
||||||
Struct { field: i32 },
|
Struct { field: i32 },
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*FIXME:unions:
|
||||||
union Union {
|
union Union {
|
||||||
a: u8,
|
a: u8,
|
||||||
b: f64,
|
b: f64,
|
||||||
}
|
}
|
||||||
|
*/
|
||||||
|
|
||||||
fn get_number() -> i32 { 0 }
|
fn get_number() -> i32 { 0 }
|
||||||
fn get_struct() -> Struct { Struct { field: 0 } }
|
fn get_struct() -> Struct { Struct { field: 0 } }
|
||||||
|
@ -36,7 +38,7 @@ fn main() {
|
||||||
Tuple(0); //~ERROR statement with no effect
|
Tuple(0); //~ERROR statement with no effect
|
||||||
Struct { field: 0 }; //~ERROR statement with no effect
|
Struct { field: 0 }; //~ERROR statement with no effect
|
||||||
Struct { ..s }; //~ERROR statement with no effect
|
Struct { ..s }; //~ERROR statement with no effect
|
||||||
Union { a: 0 }; //~ERROR statement with no effect
|
//FIXME:unions: Union { a: 0 }; // /**FIXME*~***/ ERROR statement with no effect
|
||||||
Enum::Tuple(0); //~ERROR statement with no effect
|
Enum::Tuple(0); //~ERROR statement with no effect
|
||||||
Enum::Struct { field: 0 }; //~ERROR statement with no effect
|
Enum::Struct { field: 0 }; //~ERROR statement with no effect
|
||||||
5 + 6; //~ERROR statement with no effect
|
5 + 6; //~ERROR statement with no effect
|
||||||
|
|
Loading…
Reference in New Issue