Commit graph

28 commits

Author SHA1 Message Date
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