6928 Commits

Author SHA1 Message Date
Yihai Lin
fa7712da82 feat: Make no target found hint more clear. 2025-02-28 10:03:59 +08:00
Yihai Lin
5ad084c3b0 feat(workspace): Search other crates if the default-members doesn't have the Target 2025-02-28 10:00:28 +08:00
Yihai Lin
8b9dc21a24 test(workspace): Add test about workspace 2025-02-25 20:06:19 +08:00
Ed Page
19d307170f fix(package): Fix lookups to capitalized workspace member's index entry 2025-02-21 08:25:23 -06:00
Ed Page
258db04176 test(package): Show behavior with capitalized member 2025-02-21 08:25:23 -06:00
Maurice Wangleng Tan
dbd64ec81f fix: mention "3" as a valid value for "resolver" field in error message 2025-02-21 21:46:22 +08:00
Ed Page
7e0da417c0 test(gc): Update tests for latest stable 2025-02-20 15:47:19 -06:00
Samuel Moelius
8e1931f3a4
Typo: "togother" -> "together"
In test name, `nonexistence_package_togother_with_workspace`.
2025-02-19 06:33:21 -05:00
Ed Page
524d123332 fix(add): Focus on error, rather than large feature lists
Inspired by #11100 and previous work to collapse feature lists down.
2025-02-18 12:44:13 -06:00
Ed Page
1f34b007e8 test(add): Show behavior with unrecognized feature with large list 2025-02-18 12:42:43 -06:00
brian m. carlson
7cd88900d3
util: provide a better error message for invalid SSH URLs
It's very common for users to attempt to use the pseudo-URLs that GitHub
or other providers provide in the form
`git@github.com:rust-lang/rust.git` as a source in Cargo.toml, which are
the default format accepted by OpenSSH. Unfortunately, these are not
actually URLs, and unsurprisingly, the `url` crate doesn't accept them.

However, our error message is unhelpful and looks like this:

    invalid url `git@github.com:rust-lang/rust.git`: relative URL without a base

This is technically true, but we can do better.  The user actually wants
to write a real SSH URL, so if the non-URL starts with `git@`, let's
rewrite it into a real URL for them to help them and include that in the
error message.

`git@` is the prefix used by all major forges, as well as the default
configuration for do-it-yourself implementations like Gitolite.  While
other options are possible, they are much less common, and this is an
extremely easy and cheap heuristic that does not necessitate complicated
parsing, but which we can change in the future should that be necessary.

This also avoids the problem where users try to turn the pseudo-URL into
a real URL by just prepending `ssh://`, which causes an error message
about the invalid port number due to the colon which they have not
changed.  Since they can just copy and paste the proposed answer,
they'll be less likely to attempt this invalid approach.
2025-02-14 19:43:16 +00:00
Eric Huss
b64750d83d
refactor(embedded): Integrate cargo-script logic into main parser (#15168)
### What does this PR try to resolve?

This is a part of #12207

Now that the experiment is over and we can be intrusive, this merges all
of the permanent cargo-script manifest logic into the regular manifest
loading code path with the goal of reducing the number of places people
need to be aware to check to know how things work so we're less likely
to overlook them (e.g. `package.name`s being optional). This should also
make error reporting better as we will eventually only use the real
manifest users specify, instead of one with a lot of edits by us.

This comes at the cost of some uglier code needed to check some of these
cases.

### How should we test and review this PR?

### Additional information
2025-02-11 14:54:56 +00:00
Andrew Liu
a471adbd2c feat: implement workspace feature unification 2025-02-11 15:10:39 +09:00
Andrew Liu
91e83d70ed test: verify feature unification behavior in workspaces 2025-02-11 12:15:12 +09:00
Eric Huss
be6598b7f0 Fix race condition in panic_abort_tests 2025-02-10 13:15:15 -08:00
Ed Page
6ec8da96f4 fix(schema): Mark package.name as optional 2025-02-10 14:29:15 -06:00
Ed Page
b7db1833b8 test(embedded): Verify fields are unsupported 2025-02-10 14:28:27 -06:00
Eric Huss
b5394da406 Update annotate-snippets from 0.11.4 to 0.11.5
Changelog: https://github.com/rust-lang/annotate-snippets-rs/blob/master/CHANGELOG.md#0115---2024-12-09

Looks to have some minor rendering differences.
2025-02-09 12:46:36 -08:00
Ed Page
5f529f792d test(toml): Verify missing package.name 2025-02-06 14:54:30 -06:00
Ed Page
027b415b52
feat: emit error if package not found within workspace (#15071)
### What does this PR try to resolve?

Fixes https://github.com/rust-lang/cargo/issues/12978

currently, if `--package `and `--workspace` passe in the same time, the
`--package` will be ignore even the package doesnt exist in the
workspace, this PR regards this behavior as an error

### How should we test and review this PR?

one commit add test, one commit fixes the issue.

### Additional information
2025-02-06 02:47:38 +00:00
Yihai Lin
23ab2afc25 feat: package doesnt exist in workspace is regarded as an error 2025-02-06 10:07:22 +08:00
Eric Huss
39cc418c04 Make cache tracking resilient to unexpected files
This makes the cache tracking synchronization code resilient to
unexpected files in the cache directory. Previously the code was
assuming that all entries in paths like `registry/index/*` are
directories. However, in circumstances like opening the directories in
macOS's finder, that can create files called `.DS_Store`. This caused it
to fail to scan within that path, since it isn't a directory.

This could in theory be made stricter, such as expecting directories to
have a particular pattern for its name. However, it seems like we never
enacted restrictions on what names are used for the git directories, so
it wouldn't work very well for that. Though that is something we could
consider in the future.
2025-02-05 14:39:47 -08:00
Eric Huss
dffa757620 Add test for unexpected stray files in the caches 2025-02-05 14:10:43 -08:00
Yihai Lin
69a3e0acac test: Add test to show --package nonexistence --workspace didn't warn. 2025-02-05 19:14:41 +08:00
Ed Page
f6514977ef
feat: add cargo pkgid support for cargo-script (#14961)
### What does this PR try to resolve?

close https://github.com/rust-lang/cargo/issues/14831

In this PR, we added the `cargo pkgid` support for the cargo-script.

For the package itself:

```console
cargo pkgid --manifest-path foo.rs
path+file:///my-project/foo.rs/foo#0.86.0
```

For its dependence:

```console
cargo pkgid --manifest-path foo.rs -p sqlx
registry+https://github.com/rust-lang/crates.io-index#sqlx@0.7.4
```

### How should we test and review this PR?

I have updated the unit tests and also added more test cases for it.

### Additional information

None
2025-02-04 19:52:07 +00:00
Daniel McNab
378f021a34 Suggest relevant feature names on the CLI
The left-aligned error message is there to
workaround rustfmt refusing to format files
which contain string literals which are too
wide. I have not found a consistent way to
fix this behaviour, but left-aligning does
resolve it in this case. I believe that this
should have an explanatory comment, but code
review determined that to be "noise" and so
I removed it.
2025-02-04 18:33:15 +00:00
Daniel McNab
b0dc18d158 Add new tests 2025-02-04 18:24:48 +00:00
Ed Page
e78a8a19db fix: Align new help messages with their error 2025-02-04 10:46:09 -06:00
Rustin170506
9fe45b2010 test: add a test for error handling in script installation
Signed-off-by: Rustin170506 <techregister@pm.me>
2025-02-04 22:57:12 +08:00
Rustin170506
91da8dba0d fix: better error message for using the script as a dep
Signed-off-by: Rustin170506 <techregister@pm.me>
2025-02-04 22:57:06 +08:00
Ed Page
5408bd9f52 fix: Update generic 'did you meann' reports to not say that 2025-02-03 13:07:47 -06:00
Ed Page
c2023a14e1 fix(cli): Don't use 'did you mean' on unknown command errors 2025-02-03 12:58:53 -06:00
Ed Page
e090b6fcd6 fix(spec): Don't use 'did you mean' for PackageIdSpec errors 2025-02-03 12:26:47 -06:00
Ed Page
759178e42b fix(cli): Don't use 'did you mean' for +toolchain errors 2025-02-03 10:37:53 -06:00
Ed Page
6d1f6be115
chore(deps): update rust crate rand to 0.9.0 (#15129)
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [rand](https://rust-random.github.io/book)
([source](https://redirect.github.com/rust-random/rand)) |
workspace.dependencies | minor | `0.8.5` -> `0.9.0` |

---

### Release Notes

<details>
<summary>rust-random/rand (rand)</summary>

###
[`v0.9.0`](https://redirect.github.com/rust-random/rand/blob/HEAD/CHANGELOG.md#090---2025-01-27)

[Compare
Source](https://redirect.github.com/rust-random/rand/compare/0.8.5...0.9.0)

##### Security and unsafe

- Policy: "rand is not a crypto library"
([#&#8203;1514](https://redirect.github.com/rust-random/rand/issues/1514))
- Remove fork-protection from `ReseedingRng` and `ThreadRng`. Instead,
it is recommended to call `ThreadRng::reseed` on fork.
([#&#8203;1379](https://redirect.github.com/rust-random/rand/issues/1379))
- Use `zerocopy` to replace some `unsafe` code
([#&#8203;1349](https://redirect.github.com/rust-random/rand/issues/1349),
[#&#8203;1393](https://redirect.github.com/rust-random/rand/issues/1393),
[#&#8203;1446](https://redirect.github.com/rust-random/rand/issues/1446),
[#&#8203;1502](https://redirect.github.com/rust-random/rand/issues/1502))

##### Dependencies

- Bump the MSRV to 1.63.0
([#&#8203;1207](https://redirect.github.com/rust-random/rand/issues/1207),
[#&#8203;1246](https://redirect.github.com/rust-random/rand/issues/1246),
[#&#8203;1269](https://redirect.github.com/rust-random/rand/issues/1269),
[#&#8203;1341](https://redirect.github.com/rust-random/rand/issues/1341),
[#&#8203;1416](https://redirect.github.com/rust-random/rand/issues/1416),
[#&#8203;1536](https://redirect.github.com/rust-random/rand/issues/1536));
note that 1.60.0 may work for dependents when using
`--ignore-rust-version`
- Update to `rand_core` v0.9.0
([#&#8203;1558](https://redirect.github.com/rust-random/rand/issues/1558))

##### Features

- Support `std` feature without `getrandom` or `rand_chacha`
([#&#8203;1354](https://redirect.github.com/rust-random/rand/issues/1354))
- Enable feature `small_rng` by default
([#&#8203;1455](https://redirect.github.com/rust-random/rand/issues/1455))
- Remove implicit feature `rand_chacha`; use `std_rng` instead.
([#&#8203;1473](https://redirect.github.com/rust-random/rand/issues/1473))
- Rename feature `serde1` to `serde`
([#&#8203;1477](https://redirect.github.com/rust-random/rand/issues/1477))
- Rename feature `getrandom` to `os_rng`
([#&#8203;1537](https://redirect.github.com/rust-random/rand/issues/1537))
- Add feature `thread_rng`
([#&#8203;1547](https://redirect.github.com/rust-random/rand/issues/1547))

##### API changes: rand_core traits

- Add fn `RngCore::read_adapter` implementing `std::io::Read`
([#&#8203;1267](https://redirect.github.com/rust-random/rand/issues/1267))
- Add trait `CryptoBlockRng: BlockRngCore`; make `trait CryptoRng:
RngCore`
([#&#8203;1273](https://redirect.github.com/rust-random/rand/issues/1273))
- Add traits `TryRngCore`, `TryCryptoRng`
([#&#8203;1424](https://redirect.github.com/rust-random/rand/issues/1424),
[#&#8203;1499](https://redirect.github.com/rust-random/rand/issues/1499))
- Rename `fn SeedableRng::from_rng` -> `try_from_rng` and add infallible
variant `fn from_rng`
([#&#8203;1424](https://redirect.github.com/rust-random/rand/issues/1424))
- Rename `fn SeedableRng::from_entropy` -> `from_os_rng` and add
fallible variant `fn try_from_os_rng`
([#&#8203;1424](https://redirect.github.com/rust-random/rand/issues/1424))
- Add bounds `Clone` and `AsRef` to associated type `SeedableRng::Seed`
([#&#8203;1491](https://redirect.github.com/rust-random/rand/issues/1491))

##### API changes: Rng trait and top-level fns

- Rename fn `rand::thread_rng()` to `rand::rng()` and remove from the
prelude
([#&#8203;1506](https://redirect.github.com/rust-random/rand/issues/1506))
- Remove fn `rand::random()` from the prelude
([#&#8203;1506](https://redirect.github.com/rust-random/rand/issues/1506))
- Add top-level fns `random_iter`, `random_range`, `random_bool`,
`random_ratio`, `fill`
([#&#8203;1488](https://redirect.github.com/rust-random/rand/issues/1488))
- Re-introduce fn `Rng::gen_iter` as `random_iter`
([#&#8203;1305](https://redirect.github.com/rust-random/rand/issues/1305),
[#&#8203;1500](https://redirect.github.com/rust-random/rand/issues/1500))
- Rename fn `Rng::gen` to `random` to avoid conflict with the new `gen`
keyword in Rust 2024
([#&#8203;1438](https://redirect.github.com/rust-random/rand/issues/1438))
- Rename fns `Rng::gen_range` to `random_range`, `gen_bool` to
`random_bool`, `gen_ratio` to `random_ratio`
([#&#8203;1505](https://redirect.github.com/rust-random/rand/issues/1505))
- Annotate panicking methods with `#[track_caller]`
([#&#8203;1442](https://redirect.github.com/rust-random/rand/issues/1442),
[#&#8203;1447](https://redirect.github.com/rust-random/rand/issues/1447))

##### API changes: RNGs

- Fix `<SmallRng as SeedableRng>::Seed` size to 256 bits
([#&#8203;1455](https://redirect.github.com/rust-random/rand/issues/1455))
- Remove first parameter (`rng`) of `ReseedingRng::new`
([#&#8203;1533](https://redirect.github.com/rust-random/rand/issues/1533))

##### API changes: Sequences

- Split trait `SliceRandom` into `IndexedRandom`, `IndexedMutRandom`,
`SliceRandom`
([#&#8203;1382](https://redirect.github.com/rust-random/rand/issues/1382))
- Add `IndexedRandom::choose_multiple_array`, `index::sample_array`
([#&#8203;1453](https://redirect.github.com/rust-random/rand/issues/1453),
[#&#8203;1469](https://redirect.github.com/rust-random/rand/issues/1469))

##### API changes: Distributions: renames

- Rename module `rand::distributions` to `rand::distr`
([#&#8203;1470](https://redirect.github.com/rust-random/rand/issues/1470))
- Rename distribution `Standard` to `StandardUniform`
([#&#8203;1526](https://redirect.github.com/rust-random/rand/issues/1526))
- Move `distr::Slice` -> `distr::slice::Choose`, `distr::EmptySlice` ->
`distr::slice::Empty`
([#&#8203;1548](https://redirect.github.com/rust-random/rand/issues/1548))
- Rename trait `distr::DistString` -> `distr::SampleString`
([#&#8203;1548](https://redirect.github.com/rust-random/rand/issues/1548))
- Rename `distr::DistIter` -> `distr::Iter`, `distr::DistMap` ->
`distr::Map`
([#&#8203;1548](https://redirect.github.com/rust-random/rand/issues/1548))

##### API changes: Distributions

- Relax `Sized` bound on `Distribution<T> for &D`
([#&#8203;1278](https://redirect.github.com/rust-random/rand/issues/1278))
- Remove impl of `Distribution<Option<T>>` for `StandardUniform`
([#&#8203;1526](https://redirect.github.com/rust-random/rand/issues/1526))
- Let distribution `StandardUniform` support all `NonZero*` types
([#&#8203;1332](https://redirect.github.com/rust-random/rand/issues/1332))
- Fns `{Uniform, UniformSampler}::{new, new_inclusive}` return a
`Result` (instead of potentially panicking)
([#&#8203;1229](https://redirect.github.com/rust-random/rand/issues/1229))
- Distribution `Uniform` implements `TryFrom` instead of `From` for
ranges
([#&#8203;1229](https://redirect.github.com/rust-random/rand/issues/1229))
- Add `UniformUsize`
([#&#8203;1487](https://redirect.github.com/rust-random/rand/issues/1487))
- Remove support for generating `isize` and `usize` values with
`StandardUniform`, `Uniform` (except via `UniformUsize`) and `Fill` and
usage as a `WeightedAliasIndex` weight
([#&#8203;1487](https://redirect.github.com/rust-random/rand/issues/1487))
- Add impl `DistString` for distributions `Slice<char>` and
`Uniform<char>`
([#&#8203;1315](https://redirect.github.com/rust-random/rand/issues/1315))
- Add fn `Slice::num_choices`
([#&#8203;1402](https://redirect.github.com/rust-random/rand/issues/1402))
- Add fn `p()` for distribution `Bernoulli` to access probability
([#&#8203;1481](https://redirect.github.com/rust-random/rand/issues/1481))

##### API changes: Weighted distributions

- Add `pub` module `rand::distr::weighted`, moving `WeightedIndex` there
([#&#8203;1548](https://redirect.github.com/rust-random/rand/issues/1548))
- Add trait `weighted::Weight`, allowing `WeightedIndex` to trap
overflow
([#&#8203;1353](https://redirect.github.com/rust-random/rand/issues/1353))
- Add fns `weight, weights, total_weight` to distribution
`WeightedIndex`
([#&#8203;1420](https://redirect.github.com/rust-random/rand/issues/1420))
- Rename enum `WeightedError` to `weighted::Error`, revising variants
([#&#8203;1382](https://redirect.github.com/rust-random/rand/issues/1382))
and mark as `#[non_exhaustive]`
([#&#8203;1480](https://redirect.github.com/rust-random/rand/issues/1480))

##### API changes: SIMD

- Switch to `std::simd`, expand SIMD & docs
([#&#8203;1239](https://redirect.github.com/rust-random/rand/issues/1239))

##### Reproducibility-breaking changes

- Make `ReseedingRng::reseed` discard remaining data from the last block
generated
([#&#8203;1379](https://redirect.github.com/rust-random/rand/issues/1379))
- Change fn `SmallRng::seed_from_u64` implementation
([#&#8203;1203](https://redirect.github.com/rust-random/rand/issues/1203))
- Allow `UniformFloat::new` samples and `UniformFloat::sample_single` to
yield `high`
([#&#8203;1462](https://redirect.github.com/rust-random/rand/issues/1462))
- Fix portability of distribution `Slice`
([#&#8203;1469](https://redirect.github.com/rust-random/rand/issues/1469))
- Make `Uniform` for `usize` portable via `UniformUsize`
([#&#8203;1487](https://redirect.github.com/rust-random/rand/issues/1487))
- Fix `IndexdRandom::choose_multiple_weighted` for very small seeds and
optimize for large input length / low memory
([#&#8203;1530](https://redirect.github.com/rust-random/rand/issues/1530))

##### Reproducibility-breaking optimisations

- Optimize fn `sample_floyd`, affecting output of
`rand::seq::index::sample` and `rand::seq::SliceRandom::choose_multiple`
([#&#8203;1277](https://redirect.github.com/rust-random/rand/issues/1277))
- New, faster algorithms for `IteratorRandom::choose` and
`choose_stable`
([#&#8203;1268](https://redirect.github.com/rust-random/rand/issues/1268))
- New, faster algorithms for `SliceRandom::shuffle` and
`partial_shuffle`
([#&#8203;1272](https://redirect.github.com/rust-random/rand/issues/1272))
- Optimize distribution `Uniform`: use Canon's method (single sampling)
/ Lemire's method (distribution sampling) for faster sampling (breaks
value stability;
[#&#8203;1287](https://redirect.github.com/rust-random/rand/issues/1287))
- Optimize fn `sample_single_inclusive` for floats (+~20% perf)
([#&#8203;1289](https://redirect.github.com/rust-random/rand/issues/1289))

##### Other optimisations

- Improve `SmallRng` initialization performance
([#&#8203;1482](https://redirect.github.com/rust-random/rand/issues/1482))
- Optimise SIMD widening multiply
([#&#8203;1247](https://redirect.github.com/rust-random/rand/issues/1247))

##### Other

- Add `Cargo.lock.msrv` file
([#&#8203;1275](https://redirect.github.com/rust-random/rand/issues/1275))
- Reformat with `rustfmt` and enforce
([#&#8203;1448](https://redirect.github.com/rust-random/rand/issues/1448))
- Apply Clippy suggestions and enforce
([#&#8203;1448](https://redirect.github.com/rust-random/rand/issues/1448),
[#&#8203;1474](https://redirect.github.com/rust-random/rand/issues/1474))
- Move all benchmarks to new `benches` crate
([#&#8203;1329](https://redirect.github.com/rust-random/rand/issues/1329),
[#&#8203;1439](https://redirect.github.com/rust-random/rand/issues/1439))
and migrate to Criterion
([#&#8203;1490](https://redirect.github.com/rust-random/rand/issues/1490))

##### Documentation

- Improve `ThreadRng` related docs
([#&#8203;1257](https://redirect.github.com/rust-random/rand/issues/1257))
- Docs: enable experimental `--generate-link-to-definition` feature
([#&#8203;1327](https://redirect.github.com/rust-random/rand/issues/1327))
- Better doc of crate features, use `doc_auto_cfg`
([#&#8203;1411](https://redirect.github.com/rust-random/rand/issues/1411),
[#&#8203;1450](https://redirect.github.com/rust-random/rand/issues/1450))

</details>

---

### Configuration

📅 **Schedule**: Branch creation - "before 5am on the first day of the
month" (UTC), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/rust-lang/cargo).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOS4xNDUuMCIsInVwZGF0ZWRJblZlciI6IjM5LjE0NS4wIiwidGFyZ2V0QnJhbmNoIjoibWFzdGVyIiwibGFiZWxzIjpbXX0=-->
2025-02-03 22:19:09 +00:00
Ed Page
08055a443c refactor: Resolve deprecations 2025-02-03 15:07:36 -06:00
Weihang Lo
e79dae5bec
Revert "Conditionally mark the test cfg as a well known cfg (#15007)"
This reverts commit 26ce02737ae4b74a008355d302ef283375032cf6, reversing
changes made to 730d9977f1d0b6967f473d93f4034c6580d33a35.
2025-02-01 14:14:05 -05:00
Kornel
aa6c48ffea
Don't suggest cargo login for other credential providers 2025-01-30 13:39:10 +00:00
Kornel
8f12fe581a
Test login error with non-token provider 2025-01-30 13:38:58 +00:00
Ed Page
26ce02737a
Conditionally mark the test cfg as a well known cfg (#15007)
### What does this PR try to resolve?

This PR conditionally mark the `test` cfg as a well known cfg depending
on the target unit "test" field (ie `lib.test = false`, `[[bin]] test =
false` and others).

This is related to https://github.com/rust-lang/rust/issues/117778 and
https://users.rust-lang.org/t/cargo-what-is-the-purpose-of-lib-test-false/102361.

When defining `lib.test = false` (and others), any use of `cfg(test)`
will trigger the `unexpected_cfgs` lint.
```toml
[lib]
test = false  # will now warn on cfg(test)
```

### How should we test and review this PR?

Best reviewed commit by commit. Second commit removes the `test` cfg
from the `--check-cfg` args.

### Additional information

T-compiler
[MCP#785](https://github.com/rust-lang/compiler-team/issues/785) and
https://github.com/rust-lang/cargo/pull/14963 were of preparatory work.

r? @epage
2025-01-28 19:55:00 +00:00
Eric Huss
f71f565bbd
Fix shared_std_dependency_rebuild running on Windows (#15111)
This fixes the `standard_lib::shared_std_dependency_rebuild` test while
running on Windows. On my system, `CARGO_MANIFEST_DIR` is a normal
windows-style path (`D:\rust\cargo`) with backslashes. That is not valid
TOML syntax. I don't know why this doesn't fail on CI (maybe CI sets a
unix-style current dir?).
2025-01-28 03:39:35 +00:00
Eric Huss
f62525d31b
Fix warnings on Windows (#15112)
This fixes some warnings that show up on Windows:

```
warning: unused variable: `path`
    --> tests\testsuite\registry.rs:3146:24
     |
3146 |     fn set_permissions(path: &Path, permissions: u32) {
     |                        ^^^^ help: if this is intentional, prefix it with an underscore: `_path`
     |
     = note: `#[warn(unused_variables)]` on by default

warning: unused variable: `permissions`
    --> tests\testsuite\registry.rs:3146:37
     |
3146 |     fn set_permissions(path: &Path, permissions: u32) {
     |                                     ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_permissions`
```
2025-01-28 03:34:33 +00:00
Eric Huss
caff80d7f5 Fix shared_std_dependency_rebuild running on Windows 2025-01-27 19:06:22 -08:00
Eric Huss
e722344620 Fix warnings on Windows 2025-01-27 19:05:28 -08:00
Weihang Lo
9eda47ee04
fix(login): Deprecate CLI token (#15057)
### What does this PR try to resolve?

This came up in #13623 to avoid putting tokens into shell history.

### How should we test and review this PR?

The exact approach to deprecation can vary
- Include `<token>` in at least some docs for discovery (most likely the
man page)
- Don't warn yet

etc

I also suspect we could reorganize `cargo help login` but wanted to
decouple that from this change.

### Additional information
2025-01-28 02:53:08 +00:00
Eric Huss
c35cb56d32 Update tests to deal with linker warnings
Nightly recently introduced the `linker-messages` lint which prints any
messages from linkers. These tests were triggering that lint because
they were passing missing directories to the linker. This fixes it by
creating empty directories to pass to the linker.

Note that this lint will be downgraded soon via
https://github.com/rust-lang/rust/pull/136098, but it seemed worthwhile
to fix the underlying problem.

This also fixes a problem where build_script_needed_for_host_and_target
was not testing for the correct command-line flags. These got lost
in https://github.com/rust-lang/cargo/pull/14132.
2025-01-26 13:25:17 -08:00
Eric Huss
2c6338b856 Update test message for E0433
The text of the message was changed in https://github.com/rust-lang/rust/pull/133154
2025-01-26 12:43:34 -08:00
Weihang Lo
cecde95c11
Remove unused -C link-arg=-fuse-ld=lld (#15097)
That's a gcc flag. lld is a linker, not a C compiler, and doesn't accept
a `use-ld` flag. `-C linker=rust-lld` (which is already present in the
test) is enough.

This fixes the following warning found in rust-lang/rust#119286:
```
---- expected: tests\testsuite\freshness.rs:2822:27
++++ actual:   stderr
   1    1 | [FRESH] foo v0.1.0 ([ROOT]/foo)
        2 + [WARNING] linker stderr: rust-lld: ignoring unknown argument '-fuse-ld=lld'␍
        3 +   |
        4 +   = [NOTE] `#[warn(linker_messages)]` on by default
        5 +
        6 + [WARNING] `foo` (lib) generated 1 warning
   2    7 | [FINISHED] `dev` profile [unoptimized + debuginfo] target(s) in [ELAPSED]s
```

<!--
Thanks for submitting a pull request 🎉! Here are some tips for you:

* If this is your first contribution, read "Cargo Contribution Guide"
first:
  https://doc.crates.io/contrib/
* Run `cargo fmt --all` to format your code changes.
* Small commits and pull requests are always preferable and easy to
review.
* If your idea is large and needs feedback from the community, read how:
  https://doc.crates.io/contrib/process/#working-on-large-features
* Cargo takes care of compatibility. Read our design principles:
  https://doc.crates.io/contrib/design.html
* When changing help text of cargo commands, follow the steps to
generate docs:

https://github.com/rust-lang/cargo/tree/master/src/doc#building-the-man-pages
* If your PR is not finished, set it as "draft" PR or add "WIP" in its
title.
* It's ok to use the CI resources to test your PR, but please don't
abuse them.

### What does this PR try to resolve?

Explain the motivation behind this change.
A clear overview along with an in-depth explanation are helpful.

You can use `Fixes #<issue number>` to associate this PR to an existing
issue.

### How should we test and review this PR?

Demonstrate how you test this change and guide reviewers through your
PR.
With a smooth review process, a pull request usually gets reviewed
quicker.

If you don't know how to write and run your tests, please read the
guide:
https://doc.crates.io/contrib/tests

### Additional information

Other information you want to mention in this PR, such as prior arts,
future extensions, an unresolved problem, or a TODO list.
-->
2025-01-24 17:15:24 +00:00
jyn
00d4e3d1ad Remove unused -C link-arg=-fuse-ld=lld
That's a gcc flag. lld is a linker, not a C compiler, and doesn't accept
a `use-ld` flag. `-C linker` (which is already present in the test) is
enough.

This fixes the following warning found in rust-lang/rust#119286:
```
---- expected: tests\testsuite\freshness.rs:2822:27
++++ actual:   stderr
   1    1 | [FRESH] foo v0.1.0 ([ROOT]/foo)
        2 + [WARNING] linker stderr: rust-lld: ignoring unknown argument '-fuse-ld=lld'␍
        3 +   |
        4 +   = [NOTE] `#[warn(linker_messages)]` on by default
        5 +
        6 + [WARNING] `foo` (lib) generated 1 warning
   2    7 | [FINISHED] `dev` profile [unoptimized + debuginfo] target(s) in [ELAPSED]s
```
2025-01-24 11:44:49 -05:00
Kornel
9b3146432d Print globs when workspace members can't be found 2025-01-23 20:43:12 +00:00