Skip to content

Commit 589f6b9

Browse files
committed
Fixing tests
1 parent c591c10 commit 589f6b9

23 files changed

+223
-238
lines changed

non-msrv-tests/tests/ui/default.rs

-2
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,3 @@
1-
use std::marker::PhantomData;
2-
31
use derive_where::derive_where;
42

53
#[derive_where(Debug)]
+17-18
Original file line numberDiff line numberDiff line change
@@ -1,38 +1,37 @@
11
error: unknown option
2-
--> tests/ui/default.rs:7:42
2+
--> tests/ui/default.rs:4:42
33
|
4-
7 | struct DefaultOnStruct<T>(#[derive_where(default)] PhantomData<T>);
4+
4 | struct DefaultOnStruct<T>(#[derive_where(default)] PhantomData<T>);
55
| ^^^^^^^
66

77
error: `default` is only supported if `Default` is being implemented
8-
--> tests/ui/default.rs:12:17
9-
|
10-
12 | #[derive_where(default)]
11-
| ^^^^^^^
8+
--> tests/ui/default.rs:8:17
9+
|
10+
8 | #[derive_where(default)]
11+
| ^^^^^^^
1212

1313
error: required `default` option on a variant if `Default` is being implemented
14-
--> tests/ui/default.rs:17:1
14+
--> tests/ui/default.rs:12:1
15+
|
16+
12 | #[derive_where(Default)]
17+
| ^^^^^^^^^^^^^^^^^^^^^^^^
1518
|
16-
17 | / #[derive_where(Default)]
17-
18 | | enum MissingDefault<T> {
18-
19 | | A(PhantomData<T>),
19-
20 | | }
20-
| |_^
19+
= note: this error originates in the attribute macro `derive_where` (in Nightly builds, run with -Z macro-backtrace for more info)
2120

2221
error: multiple `default` options in enum
23-
--> tests/ui/default.rs:27:17
22+
--> tests/ui/default.rs:21:17
2423
|
25-
27 | #[derive_where(default)]
24+
21 | #[derive_where(default)]
2625
| ^^^^^^^
2726

2827
error: duplicate `default` option
29-
--> tests/ui/default.rs:34:26
28+
--> tests/ui/default.rs:27:26
3029
|
31-
34 | #[derive_where(default, default)]
30+
27 | #[derive_where(default, default)]
3231
| ^^^^^^^
3332

3433
error: duplicate `default` option
35-
--> tests/ui/default.rs:42:17
34+
--> tests/ui/default.rs:34:17
3635
|
37-
42 | #[derive_where(default)]
36+
34 | #[derive_where(default)]
3837
| ^^^^^^^

non-msrv-tests/tests/ui/item.rs

-3
Original file line numberDiff line numberDiff line change
@@ -16,15 +16,12 @@ struct SemiColonAtTheEnd<T, U>(T, PhantomData<U>);
1616
#[derive_where(Clone; T,,)]
1717
struct DoubleColonAtTheEnd<T, U>(T, PhantomData<U>);
1818

19-
#[derive(derive_where::DeriveWhere)]
2019
#[derive_where(Clone; where)]
2120
struct InvalidGeneric<T>(PhantomData<T>);
2221

23-
#[derive(derive_where::DeriveWhere)]
2422
#[derive_where(Clone Debug)]
2523
struct MissingCommaBetweenTraits<T>(PhantomData<T>);
2624

27-
#[derive(derive_where::DeriveWhere)]
2825
#[derive_where(Clone; T U)]
2926
struct MissingCommaBetweenGenerics<T, U, V>(T, PhantomData<(U, V)>);
3027

non-msrv-tests/tests/ui/item.stderr

+22-24
Original file line numberDiff line numberDiff line change
@@ -1,53 +1,51 @@
1-
error: no traits found to implement, use `#[derive_where(..)` to specify some
2-
--> tests/ui/item.rs:6:1
1+
error: empty `derive_where` found
2+
--> tests/ui/item.rs:7:1
33
|
4-
6 | struct NoAttribute<T>(PhantomData<T>);
5-
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
6-
7-
error: unexpected option syntax
8-
--> tests/ui/item.rs:9:3
4+
7 | #[derive_where]
5+
| ^^^^^^^^^^^^^^^
96
|
10-
9 | #[derive_where]
11-
| ^^^^^^^^^^^^
7+
= note: this error originates in the attribute macro `derive_where` (in Nightly builds, run with -Z macro-backtrace for more info)
128

139
error: empty `derive_where` found
14-
--> tests/ui/item.rs:13:3
10+
--> tests/ui/item.rs:10:1
11+
|
12+
10 | #[derive_where()]
13+
| ^^^^^^^^^^^^^^^^^
1514
|
16-
13 | #[derive_where()]
17-
| ^^^^^^^^^^^^^^
15+
= note: this error originates in the attribute macro `derive_where` (in Nightly builds, run with -Z macro-backtrace for more info)
1816

1917
error: expected `,`
20-
--> tests/ui/item.rs:17:24
18+
--> tests/ui/item.rs:13:24
2119
|
22-
17 | #[derive_where(Clone; T;)]
20+
13 | #[derive_where(Clone; T;)]
2321
| ^
2422

2523
error: expected type to bind to, expected one of: `for`, parentheses, `fn`, `unsafe`, `extern`, identifier, `::`, `<`, square brackets, `*`, `&`, `!`, `impl`, `_`, lifetime
26-
--> tests/ui/item.rs:21:25
24+
--> tests/ui/item.rs:16:25
2725
|
28-
21 | #[derive_where(Clone; T,,)]
26+
16 | #[derive_where(Clone; T,,)]
2927
| ^
3028

3129
error: expected type to bind to, expected one of: `for`, parentheses, `fn`, `unsafe`, `extern`, identifier, `::`, `<`, square brackets, `*`, `&`, `!`, `impl`, `_`, lifetime
32-
--> tests/ui/item.rs:25:23
30+
--> tests/ui/item.rs:19:23
3331
|
34-
25 | #[derive_where(Clone; where)]
32+
19 | #[derive_where(Clone; where)]
3533
| ^^^^^
3634

3735
error: expected `;` or `,
38-
--> tests/ui/item.rs:29:22
36+
--> tests/ui/item.rs:22:22
3937
|
40-
29 | #[derive_where(Clone Debug)]
38+
22 | #[derive_where(Clone Debug)]
4139
| ^^^^^
4240

4341
error: expected `,`
44-
--> tests/ui/item.rs:33:25
42+
--> tests/ui/item.rs:25:25
4543
|
46-
33 | #[derive_where(Clone; T U)]
44+
25 | #[derive_where(Clone; T U)]
4745
| ^
4846

4947
error: unexpected option syntax
50-
--> tests/ui/item.rs:37:16
48+
--> tests/ui/item.rs:28:16
5149
|
52-
37 | #[derive_where("Clone")]
50+
28 | #[derive_where("Clone")]
5351
| ^^^^^^^

non-msrv-tests/tests/ui/item_option_syntax.rs

-3
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,3 @@
1-
use std::marker::PhantomData;
2-
31
use derive_where::derive_where;
42

53
// Rust itself already fails to parse this and will provide a separate error message.
@@ -18,7 +16,6 @@ struct WrongOptionSyntax<T>(PhantomData<T>);
1816
#[derive_where(Debug())]
1917
struct EmptyOption<T>(PhantomData<T>);
2018

21-
#[derive(derive_where::DeriveWhere)]
2219
#[derive_where(Debug(option))]
2320
struct UnsupportedOption<T>(PhantomData<T>);
2421

non-msrv-tests/tests/ui/item_option_syntax.stderr

+31-23
Original file line numberDiff line numberDiff line change
@@ -1,41 +1,49 @@
1-
error: expected parentheses: #[derive_where(...)]
2-
--> tests/ui/item_option_syntax.rs:7:16
1+
error: key-value macro attributes are not supported
2+
--> tests/ui/item_option_syntax.rs:4:1
33
|
4-
7 | #[derive_where = invalid]
5-
| ^
4+
4 | #[derive_where = invalid]
5+
| ^^^^^^^^^^^^^^^^^^^^^^^^^
6+
7+
error: unsupported trait, expected one of expected one of Clone, Copy, Debug, Default, Eq, Hash, Ord, PartialEq, PartialOrd, Zeroize, ZeroizeOnDrop
8+
--> tests/ui/item_option_syntax.rs:4:18
9+
|
10+
4 | #[derive_where = invalid]
11+
| ^^^^^^^
12+
13+
error: key-value macro attributes are not supported
14+
--> tests/ui/item_option_syntax.rs:7:1
15+
|
16+
7 | #[derive_where = "invalid"]
17+
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^
618

719
error: unexpected option syntax
8-
--> tests/ui/item_option_syntax.rs:11:3
9-
|
10-
11 | #[derive_where = "invalid"]
11-
| ^^^^^^^^^^^^^^^^^^^^^^^^
20+
--> tests/ui/item_option_syntax.rs:7:18
21+
|
22+
7 | #[derive_where = "invalid"]
23+
| ^^^^^^^^^
1224

1325
error: empty `derive_where` found
14-
--> tests/ui/item_option_syntax.rs:15:3
26+
--> tests/ui/item_option_syntax.rs:10:1
1527
|
16-
15 | #[derive_where()]
17-
| ^^^^^^^^^^^^^^
28+
10 | #[derive_where()]
29+
| ^^^^^^^^^^^^^^^^^
30+
|
31+
= note: this error originates in the attribute macro `derive_where` (in Nightly builds, run with -Z macro-backtrace for more info)
1832

1933
error: unexpected option syntax
20-
--> tests/ui/item_option_syntax.rs:19:16
34+
--> tests/ui/item_option_syntax.rs:13:16
2135
|
22-
19 | #[derive_where(Debug = "option")]
36+
13 | #[derive_where(Debug = "option")]
2337
| ^^^^^^^^^^^^^^^^
2438

2539
error: empty attribute option found
26-
--> tests/ui/item_option_syntax.rs:23:16
40+
--> tests/ui/item_option_syntax.rs:16:16
2741
|
28-
23 | #[derive_where(Debug())]
42+
16 | #[derive_where(Debug())]
2943
| ^^^^^^^
3044

3145
error: `Debug` doesn't support any options
32-
--> tests/ui/item_option_syntax.rs:27:16
46+
--> tests/ui/item_option_syntax.rs:19:16
3347
|
34-
27 | #[derive_where(Debug(option))]
48+
19 | #[derive_where(Debug(option))]
3549
| ^^^^^^^^^^^^^
36-
37-
error: unexpected token: `invalid`
38-
--> tests/ui/item_option_syntax.rs:7:18
39-
|
40-
7 | #[derive_where = invalid]
41-
| ^^^^^^^

non-msrv-tests/tests/ui/item_skip.rs

-2
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,3 @@
1-
use std::marker::PhantomData;
2-
31
use derive_where::derive_where;
42

53
#[derive_where(Debug)]
+20-20
Original file line numberDiff line numberDiff line change
@@ -1,59 +1,59 @@
11
error: enums don't support `skip_inner`, use it on a variant instead
2-
--> tests/ui/item_skip.rs:7:16
2+
--> tests/ui/item_skip.rs:4:16
33
|
4-
7 | #[derive_where(skip_inner)]
4+
4 | #[derive_where(skip_inner)]
55
| ^^^^^^^^^^
66

77
error: duplicate `skip_inner` option
8-
--> tests/ui/item_skip.rs:15:16
8+
--> tests/ui/item_skip.rs:11:16
99
|
10-
15 | #[derive_where(skip_inner)]
10+
11 | #[derive_where(skip_inner)]
1111
| ^^^^^^^^^^
1212

1313
error: empty attribute option found
14-
--> tests/ui/item_skip.rs:20:16
14+
--> tests/ui/item_skip.rs:15:16
1515
|
16-
20 | #[derive_where(skip_inner())]
16+
15 | #[derive_where(skip_inner())]
1717
| ^^^^^^^^^^^^
1818

1919
error: unexpected constraint on `skip` when unconstrained `skip` already used
20-
--> tests/ui/item_skip.rs:26:16
20+
--> tests/ui/item_skip.rs:20:16
2121
|
22-
26 | #[derive_where(skip_inner(Debug))]
22+
20 | #[derive_where(skip_inner(Debug))]
2323
| ^^^^^^^^^^^^^^^^^
2424

2525
error: duplicate `skip_inner` option
26-
--> tests/ui/item_skip.rs:32:16
26+
--> tests/ui/item_skip.rs:25:16
2727
|
28-
32 | #[derive_where(skip_inner)]
28+
25 | #[derive_where(skip_inner)]
2929
| ^^^^^^^^^^
3030

3131
error: no trait that can be skipped is being implemented
32-
--> tests/ui/item_skip.rs:37:16
32+
--> tests/ui/item_skip.rs:29:16
3333
|
34-
37 | #[derive_where(skip_inner)]
34+
29 | #[derive_where(skip_inner)]
3535
| ^^^^^^^^^^
3636

3737
error: unsupported `Clone` constraint on `skip`
38-
--> tests/ui/item_skip.rs:42:27
38+
--> tests/ui/item_skip.rs:33:27
3939
|
40-
42 | #[derive_where(skip_inner(Clone))]
40+
33 | #[derive_where(skip_inner(Clone))]
4141
| ^^^^^
4242

4343
error: duplicate `Debug` constraint on `skip`
44-
--> tests/ui/item_skip.rs:47:34
44+
--> tests/ui/item_skip.rs:37:34
4545
|
46-
47 | #[derive_where(skip_inner(Debug, Debug))]
46+
37 | #[derive_where(skip_inner(Debug, Debug))]
4747
| ^^^^^
4848

4949
error: duplicate `Debug` constraint on `skip`
50-
--> tests/ui/item_skip.rs:53:27
50+
--> tests/ui/item_skip.rs:42:27
5151
|
52-
53 | #[derive_where(skip_inner(Debug))]
52+
42 | #[derive_where(skip_inner(Debug))]
5353
| ^^^^^
5454

5555
error: trait to be skipped isn't being implemented
56-
--> tests/ui/item_skip.rs:58:27
56+
--> tests/ui/item_skip.rs:46:27
5757
|
58-
58 | #[derive_where(skip_inner(Debug))]
58+
46 | #[derive_where(skip_inner(Debug))]
5959
| ^^^^^

non-msrv-tests/tests/ui/not-zeroize/item.rs

-2
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,3 @@
1-
use std::marker::PhantomData;
2-
31
use derive_where::derive_where;
42

53
#[derive_where(skip_inner, Clone)]
Original file line numberDiff line numberDiff line change
@@ -1,35 +1,35 @@
11
error: unsupported trait, expected one of expected one of Clone, Copy, Debug, Default, Eq, Hash, Ord, PartialEq, PartialOrd
2-
--> tests/ui/not-zeroize/item.rs:6:16
2+
--> tests/ui/not-zeroize/item.rs:3:16
33
|
4-
6 | #[derive_where(skip_inner, Clone)]
4+
3 | #[derive_where(skip_inner, Clone)]
55
| ^^^^^^^^^^
66

77
error: unsupported trait syntax, expected one of expected one of Clone, Copy, Debug, Default, Eq, Hash, Ord, PartialEq, PartialOrd
8-
--> tests/ui/not-zeroize/item.rs:10:24
9-
|
10-
10 | #[derive_where(Debug = invalid; T)]
11-
| ^^^^^^^
8+
--> tests/ui/not-zeroize/item.rs:6:24
9+
|
10+
6 | #[derive_where(Debug = invalid; T)]
11+
| ^^^^^^^
1212

1313
error: unsupported trait syntax, expected one of expected one of Clone, Copy, Debug, Default, Eq, Hash, Ord, PartialEq, PartialOrd
14-
--> tests/ui/not-zeroize/item.rs:14:16
15-
|
16-
14 | #[derive_where(,)]
17-
| ^
14+
--> tests/ui/not-zeroize/item.rs:9:16
15+
|
16+
9 | #[derive_where(,)]
17+
| ^
1818

1919
error: unsupported trait syntax, expected one of expected one of Clone, Copy, Debug, Default, Eq, Hash, Ord, PartialEq, PartialOrd
20-
--> tests/ui/not-zeroize/item.rs:18:16
20+
--> tests/ui/not-zeroize/item.rs:12:16
2121
|
22-
18 | #[derive_where(,Clone)]
22+
12 | #[derive_where(,Clone)]
2323
| ^
2424

2525
error: unsupported trait syntax, expected one of expected one of Clone, Copy, Debug, Default, Eq, Hash, Ord, PartialEq, PartialOrd
26-
--> tests/ui/not-zeroize/item.rs:22:22
26+
--> tests/ui/not-zeroize/item.rs:15:22
2727
|
28-
22 | #[derive_where(Clone,,)]
28+
15 | #[derive_where(Clone,,)]
2929
| ^
3030

3131
error: unsupported trait, expected one of expected one of Clone, Copy, Debug, Default, Eq, Hash, Ord, PartialEq, PartialOrd
32-
--> tests/ui/not-zeroize/item.rs:26:16
32+
--> tests/ui/not-zeroize/item.rs:18:16
3333
|
34-
26 | #[derive_where(T)]
34+
18 | #[derive_where(T)]
3535
| ^

non-msrv-tests/tests/ui/option.rs

-3
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,8 @@
1-
use std::marker::PhantomData;
2-
31
use derive_where::derive_where;
42

53
#[derive_where(Default)]
64
struct StructNoOption<T>(#[derive_where] PhantomData<T>);
75

8-
#[derive(derive_where::DeriveWhere)]
96
#[derive_where(Default)]
107
struct StructWrongSyntax<T>(#[derive_where = "default"] PhantomData<T>);
118

0 commit comments

Comments
 (0)