]> git.lizzy.rs Git - rust.git/blobdiff - tests/ui/option_option.rs
Auto merge of #68717 - petrochenkov:stabexpat, r=varkor
[rust.git] / tests / ui / option_option.rs
index 88232c3b23fe8be1c67e82f82f000ca0db11c6ae..904c50e14039a4067cce2899b7b1f5a7e7232fb0 100644 (file)
@@ -1,5 +1,6 @@
-fn input(_: Option<Option<u8>>) {
-}
+#![deny(clippy::option_option)]
+
+fn input(_: Option<Option<u8>>) {}
 
 fn output() -> Option<Option<u8>> {
     None
@@ -18,9 +19,19 @@ struct Struct {
     x: Option<Option<u8>>,
 }
 
+impl Struct {
+    fn struct_fn() -> Option<Option<u8>> {
+        None
+    }
+}
+
+trait Trait {
+    fn trait_fn() -> Option<Option<u8>>;
+}
+
 enum Enum {
     Tuple(Option<Option<u8>>),
-    Struct{x: Option<Option<u8>>},
+    Struct { x: Option<Option<u8>> },
 }
 
 // The lint allows this
@@ -31,6 +42,13 @@ fn output_type_alias() -> OptionOption {
     None
 }
 
+// The line allows this
+impl Trait for Struct {
+    fn trait_fn() -> Option<Option<u8>> {
+        None
+    }
+}
+
 fn main() {
     input(None);
     output();
@@ -42,5 +60,3 @@ fn main() {
     // The lint allows this
     let expr = Some(Some(true));
 }
-
-