Scott Schafer
0d62ae2fc3
feat: Add rustc
style errors for manifest parsing
2023-12-15 13:30:10 -07:00
Ed Page
6e86530ae2
fix(manifest): Provide unused key warnings for lints table
...
The use of `flatten` was getting in the way of `serde_ignored`.
A common workaround is to add our own `unused` tracking but that would
cause duplicates with `workspace.lints` (or we'd just ignore it).
Since the manual deserializer was relatively simple, I went that route.
Fixes #12917
2024-01-08 09:12:46 -06:00
Ed Page
4760ef7822
test(lints): Verify we can't un-inherit
2024-01-08 08:49:04 -06:00
Ed Page
ef6954cd01
test(lints): Check unused key status
2024-01-08 08:27:34 -06:00
Ed Page
e539380512
feat: Stabilize lints
...
Fixes #12115
2023-09-08 10:44:00 -05:00
Ed Page
6568e2c466
fix(lints): Improve error message on bad data
2023-08-28 20:55:29 -05:00
Ed Page
1c578b1a99
fix(lints): Error when overriding workspace lints
2023-08-28 20:34:19 -05:00
Ed Page
c63b51deeb
test(lints): Show existing package/workspace mix behavior
2023-08-28 13:59:40 -05:00
David Tolnay
3871aecf3e
Improve deserialization errors of untagged enums
2023-08-27 16:27:08 -07:00
David Tolnay
58d042516e
Fill in more configuration deserialization and manifest deserialization tests
2023-08-27 16:14:29 -07:00
Ed Page
9984855904
fix(lints): Doctest extraction should respect [lints]
...
Fixes #12497
2023-08-14 14:23:59 -05:00
Ed Page
a80dfae761
test(lints): Demo doctest bug
2023-08-14 14:21:25 -05:00
Ed Page
08fdd86d84
fix(lints): Switch to -Zlints
so stable projects can experiment
...
In rust-lang/cargo#12115 , we explored how we can let stable projects
experiment with `[lints]` to provide feedback. What we settled on is
switching from the `cargo-features` manifest key to the `-Z` flag as
`cargo-features` always requires nightly while `-Z` only requires it
when being passed in. This means a project can have a `[lints]` table
and have CI / contributors run `cargo +nightly check -Zlints` when they
care about warnings.
2023-05-22 13:45:20 -05:00
Ed Page
2c48b10ef0
test(lints): Remove unused cargo-features
2023-05-22 13:44:56 -05:00
Ed Page
e4b01367a1
test(lints): Simplify failure tests
2023-05-22 10:14:35 -05:00
Ed Page
be76a55358
test(lints): Verify precedence with build.rustflags
2023-05-22 10:06:57 -05:00
Ed Page
3cba0c1b52
test(lints): Verify dependency behavior
2023-05-22 09:59:23 -05:00
Ed Page
12bc06aaf2
test(lints): Clarify why verbose is used
2023-05-22 09:59:23 -05:00
Ed Page
66a9116f03
fix(lints): Put lints after profile.rustflags
...
This does involve a subtle change to `profile.rustflags` precedence but
its nightly and most likely people won't notice it? The benefit is its
in a location more like the rest of the rustflags.
2023-05-22 09:58:42 -05:00
Ed Page
e82fe885b5
test(lints): Verify precedence with profile.rustflags
2023-05-22 09:53:25 -05:00
Ed Page
1dfa101cd1
fix(lints): Tie into manifest warnings
...
This improves the messaging experience (sometimes showing manifest path)
and hiding the warning when not relevant).
2023-05-22 09:53:25 -05:00
Ed Page
a8d7c8a58f
fix(lints): Clean up warnings about lints feature
2023-05-22 09:53:25 -05:00
Ed Page
5072d9b789
fix(lints): Ignore lints table on stable
2023-05-22 09:53:25 -05:00
Ed Page
66038fad36
test(lints): Show bug with lints on stable
2023-05-22 09:53:25 -05:00
Ed Page
a7555f976e
fix(lints): Only warn when seeing lints on stable
...
This will make it easier for users to test this feature
2023-05-22 09:53:25 -05:00
Ed Page
4279d0d56c
feat(lints): Pass lints to tools
2023-05-22 09:53:25 -05:00
Ed Page
fad2ea5cfd
feat(lints): Error check the lints table
2023-05-22 09:53:22 -05:00
Ed Page
8de25292fd
feat(lints): Parse [lints]
table on nightly
2023-05-22 09:52:03 -05:00