-error: consider using `Option<T>` instead of `Option<Option<T>>`
- --> $DIR/option_option.rs:1:13
- |
-1 | fn input(_: Option<Option<u8>>) {
- | ^^^^^^^^^^^^^^^^^^
- |
- = note: `-D option-option` implied by `-D warnings`
- = help: `Option<_>` is easier to use than `Option<Option<_>`
-
-error: consider using `Option<T>` instead of `Option<Option<T>>`
- --> $DIR/option_option.rs:4:16
- |
-4 | fn output() -> Option<Option<u8>> {
- | ^^^^^^^^^^^^^^^^^^
- |
- = help: `Option<_>` is easier to use than `Option<Option<_>`
-
-error: consider using `Option<T>` instead of `Option<Option<T>>`
- --> $DIR/option_option.rs:8:27
- |
-8 | fn output_nested() -> Vec<Option<Option<u8>>> {
- | ^^^^^^^^^^^^^^^^^^
- |
- = help: `Option<_>` is easier to use than `Option<Option<_>`
-
-error: consider using `Option<T>` instead of `Option<Option<T>>`
- --> $DIR/option_option.rs:13:30
- |
-13 | fn output_nested_nested() -> Option<Option<Option<u8>>> {
- | ^^^^^^^^^^^^^^^^^^^^^^^^^^
+error: consider using `Option<T>` instead of `Option<Option<T>>` or a custom enum if you need to distinguish all 3 cases
+ --> $DIR/option_option.rs:4:10
+ |
+LL | const C: Option<Option<i32>> = None;
+ | ^^^^^^^^^^^^^^^^^^^
+ |
+note: the lint level is defined here
+ --> $DIR/option_option.rs:1:9
+ |
+LL | #![deny(clippy::option_option)]
+ | ^^^^^^^^^^^^^^^^^^^^^
+
+error: consider using `Option<T>` instead of `Option<Option<T>>` or a custom enum if you need to distinguish all 3 cases
+ --> $DIR/option_option.rs:5:11
+ |
+LL | static S: Option<Option<i32>> = None;
+ | ^^^^^^^^^^^^^^^^^^^
+
+error: consider using `Option<T>` instead of `Option<Option<T>>` or a custom enum if you need to distinguish all 3 cases
+ --> $DIR/option_option.rs:7:13
+ |
+LL | fn input(_: Option<Option<u8>>) {}
+ | ^^^^^^^^^^^^^^^^^^
+
+error: consider using `Option<T>` instead of `Option<Option<T>>` or a custom enum if you need to distinguish all 3 cases
+ --> $DIR/option_option.rs:9:16
+ |
+LL | fn output() -> Option<Option<u8>> {
+ | ^^^^^^^^^^^^^^^^^^
+
+error: consider using `Option<T>` instead of `Option<Option<T>>` or a custom enum if you need to distinguish all 3 cases
+ --> $DIR/option_option.rs:13:27
|
- = help: `Option<_>` is easier to use than `Option<Option<_>`
+LL | fn output_nested() -> Vec<Option<Option<u8>>> {
+ | ^^^^^^^^^^^^^^^^^^
-error: consider using `Option<T>` instead of `Option<Option<T>>`
- --> $DIR/option_option.rs:18:8
+error: consider using `Option<T>` instead of `Option<Option<T>>` or a custom enum if you need to distinguish all 3 cases
+ --> $DIR/option_option.rs:18:30
|
-18 | x: Option<Option<u8>>,
+LL | fn output_nested_nested() -> Option<Option<Option<u8>>> {
+ | ^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+error: consider using `Option<T>` instead of `Option<Option<T>>` or a custom enum if you need to distinguish all 3 cases
+ --> $DIR/option_option.rs:23:8
+ |
+LL | x: Option<Option<u8>>,
| ^^^^^^^^^^^^^^^^^^
+
+error: consider using `Option<T>` instead of `Option<Option<T>>` or a custom enum if you need to distinguish all 3 cases
+ --> $DIR/option_option.rs:27:23
|
- = help: `Option<_>` is easier to use than `Option<Option<_>`
+LL | fn struct_fn() -> Option<Option<u8>> {
+ | ^^^^^^^^^^^^^^^^^^
-error: consider using `Option<T>` instead of `Option<Option<T>>`
- --> $DIR/option_option.rs:22:11
+error: consider using `Option<T>` instead of `Option<Option<T>>` or a custom enum if you need to distinguish all 3 cases
+ --> $DIR/option_option.rs:33:22
|
-22 | Tuple(Option<Option<u8>>),
- | ^^^^^^^^^^^^^^^^^^
+LL | fn trait_fn() -> Option<Option<u8>>;
+ | ^^^^^^^^^^^^^^^^^^
+
+error: consider using `Option<T>` instead of `Option<Option<T>>` or a custom enum if you need to distinguish all 3 cases
+ --> $DIR/option_option.rs:37:11
|
- = help: `Option<_>` is easier to use than `Option<Option<_>`
+LL | Tuple(Option<Option<u8>>),
+ | ^^^^^^^^^^^^^^^^^^
-error: consider using `Option<T>` instead of `Option<Option<T>>`
- --> $DIR/option_option.rs:23:15
+error: consider using `Option<T>` instead of `Option<Option<T>>` or a custom enum if you need to distinguish all 3 cases
+ --> $DIR/option_option.rs:38:17
|
-23 | Struct{x: Option<Option<u8>>},
- | ^^^^^^^^^^^^^^^^^^
+LL | Struct { x: Option<Option<u8>> },
+ | ^^^^^^^^^^^^^^^^^^
+
+error: consider using `Option<T>` instead of `Option<Option<T>>` or a custom enum if you need to distinguish all 3 cases
+ --> $DIR/option_option.rs:79:14
|
- = help: `Option<_>` is easier to use than `Option<Option<_>`
+LL | foo: Option<Option<Cow<'a, str>>>,
+ | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+error: aborting due to 12 previous errors