]> git.lizzy.rs Git - rust.git/commitdiff
Revert "Remove all `union` stuffs"
authormcarton <cartonmartin+git@gmail.com>
Sun, 4 Sep 2016 15:39:48 +0000 (17:39 +0200)
committermcarton <cartonmartin+git@gmail.com>
Sun, 4 Sep 2016 15:45:36 +0000 (17:45 +0200)
This reverts commit 888c34ad70e9f4491a404c4f0cb5a6241e4a12c1.
This rustups to rustc 1.13.0-nightly (70598e04f 2016-09-03).

clippy_lints/src/derive.rs
clippy_lints/src/len_zero.rs
clippy_lints/src/missing_doc.rs
tests/compile-fail/derive.rs
tests/compile-fail/no_effect.rs

index 2311df424562023e2b467f235f7622af1f633d60..17d17a445afd53e09b4751e941a4678f054fe69c 100644 (file)
@@ -141,7 +141,7 @@ fn check_copy_clone<'a, 'tcx>(cx: &LateContext<'a, 'tcx>, item: &Item, trait_ref
         }
 
         match ty.sty {
-            //FIXME:unions: TypeVariants::TyUnion(..) => return,
+            TypeVariants::TyUnion(..) => return,
 
             // Some types are not Clone by default but could be cloned “by hand” if necessary
             TypeVariants::TyEnum(def, substs) |
index fbcae08783682bbc2cab8b323c10ff1796e4ca35..f574e6b7f388e42b0024bec131372d498a6735a1 100644 (file)
@@ -215,8 +215,8 @@ fn has_is_empty_impl(cx: &LateContext, id: &DefId) -> bool {
         }
         ty::TyProjection(_) => ty.ty_to_def_id().map_or(false, |id| has_is_empty_impl(cx, &id)),
         ty::TyEnum(id, _) |
-        ty::TyStruct(id, _) /*FIXME:unions: |
-        ty::TyUnion(id, _)*/ => has_is_empty_impl(cx, &id.did),
+        ty::TyStruct(id, _) |
+        ty::TyUnion(id, _) => has_is_empty_impl(cx, &id.did),
         ty::TyArray(..) | ty::TyStr => true,
         _ => false,
     }
index bd6354ad93235a37e8d14b44a20ed2cdcd7fdedb..454f591756bb5d878f171636f7c9e229d6f5b7a3 100644 (file)
@@ -123,7 +123,7 @@ fn check_item(&mut self, cx: &LateContext, it: &hir::Item) {
             hir::ItemStruct(..) => "a struct",
             hir::ItemTrait(..) => "a trait",
             hir::ItemTy(..) => "a type alias",
-            //FIXME:unions: hir::ItemUnion(..) => "a union",
+            hir::ItemUnion(..) => "a union",
             hir::ItemDefaultImpl(..) |
             hir::ItemExternCrate(..) |
             hir::ItemForeignMod(..) |
index 39d9dde288195fd93fbe87acd974abbb33ae1201..cf4467f30a59271abe40ea019cf4efdf1890db6f 100644 (file)
@@ -1,7 +1,7 @@
 #![feature(plugin)]
 #![plugin(clippy)]
 
-//FIXME:unions: #![feature(untagged_unions)]
+#![feature(untagged_unions)]
 
 #![deny(warnings)]
 #![allow(dead_code)]
@@ -47,7 +47,6 @@ impl Clone for Qux {
     fn clone(&self) -> Self { Qux }
 }
 
-/* FIXME:unions
 // looks like unions don't support deriving Clone for now
 #[derive(Copy)]
 union Union {
@@ -61,7 +60,6 @@ fn clone(&self) -> Self {
         }
     }
 }
-*/
 
 // See #666
 #[derive(Copy)]
index 39b59a599073e45230e53a8afcc3ef90e4ec8133..6616f7bdc86c03a4ee2a0f95fdc2521056768068 100644 (file)
@@ -4,7 +4,7 @@
 #![deny(no_effect, unnecessary_operation)]
 #![allow(dead_code)]
 #![allow(path_statements)]
-//FIXME:unions #![feature(untagged_unions)]
+#![feature(untagged_unions)]
 
 struct Unit;
 struct Tuple(i32);
@@ -16,12 +16,10 @@ enum Enum {
     Struct { field: i32 },
 }
 
-/*FIXME:unions:
 union Union {
     a: u8,
     b: f64,
 }
-*/
 
 fn get_number() -> i32 { 0 }
 fn get_struct() -> Struct { Struct { field: 0 } }
@@ -38,7 +36,7 @@ fn main() {
     Tuple(0); //~ERROR statement with no effect
     Struct { field: 0 }; //~ERROR statement with no effect
     Struct { ..s }; //~ERROR statement with no effect
-    //FIXME:unions: Union { a: 0 }; // /**FIXME*~***/ ERROR statement with no effect
+    Union { a: 0 }; //~ERROR statement with no effect
     Enum::Tuple(0); //~ERROR statement with no effect
     Enum::Struct { field: 0 }; //~ERROR statement with no effect
     5 + 6; //~ERROR statement with no effect