rust/tests/ui/rfcs
bors aadb5718dd Auto merge of #116001 - fmease:validate-crate-name-extern-cli-opt, r=est31
[breaking change] Validate crate name in `--extern` [MCP 650]

Reject non-ASCII-identifier crate names passed to the CLI option `--extern` (`rustc`, `rustdoc`).
Implements [MCP 650](https://github.com/rust-lang/compiler-team/issues/650) (except that we only allow ASCII identifiers not arbitrary Rust identifiers).
Fixes #113035.

[As mentioned on Zulip](https://rust-lang.zulipchat.com/#narrow/stream/233931-t-compiler.2Fmajor-changes/topic/Disallow.20non-identifier-valid.20--extern.20cr.E2.80.A6.20compiler-team.23650/near/376826988), doing a crater run probably doesn't make sense since it wouldn't yield anything. Most users don't interact with `rustc` directly but only ever through Cargo which always passes a valid crate name to `--extern` when it invokes `rustc` and `rustdoc`. In any case, the user wouldn't be able to use such a crate name in the source code anyway.

Note that I'm not using [`rustc_session::output::validate_crate_name`](https://doc.rust-lang.org/nightly/nightly-rustc/rustc_session/output/fn.validate_crate_name.html) (used for `--crate-name` and `#![crate_name]`) since the latter doesn't reject non-ASCII crate names and ones that start with a digit.

As an aside, I've also thought about getting rid of `validate_crate_name` entirely in a separate PR (with another MCP) in favor of `is_ascii_ident` to reject more weird `--crate-name`s, `#![crate_name]`s and file names but I think that would lead to a lot of actual breakage, namely because of file names starting with a digit. In `tests/ui` 9 tests would be impacted for example.

CC `@estebank`
r? `@est31`
2023-09-22 19:57:07 +00:00
..
rfc-0107-bind-by-move-pattern-guards Better group RFC ui tests together 2023-06-05 16:09:46 +00:00
rfc-1014-stdout-existential-crisis Better group RFC ui tests together 2023-06-05 16:09:46 +00:00
rfc-1445-restrict-constants-in-patterns Better group RFC ui tests together 2023-06-05 16:09:46 +00:00
rfc-1623-static Better group RFC ui tests together 2023-06-05 16:09:46 +00:00
rfc-1717-dllimport Better group RFC ui tests together 2023-06-05 16:09:46 +00:00
rfc-1789-as-cell
rfc-1857-stabilize-drop-order Better group RFC ui tests together 2023-06-05 16:09:46 +00:00
rfc-1937-termination-trait Replace RPITIT current impl with new strategy that lowers as a GAT 2023-07-08 18:21:34 -03:00
rfc-2005-default-binding-mode Do not set up wrong span for adjustments 2023-07-10 20:09:26 +00:00
rfc-2008-non-exhaustive Improve clarity of diagnostic message on non-exhaustive matches 2023-09-03 19:55:11 +08:00
rfc-2027-object-safe-for-dispatch Only consider object candidates for object-safe dyn types 2023-08-15 01:01:44 +00:00
rfc-2091-track-caller Better group RFC ui tests together 2023-06-05 16:09:46 +00:00
rfc-2093-infer-outlives Better group RFC ui tests together 2023-06-05 16:09:46 +00:00
rfc-2126-crate-paths Better group RFC ui tests together 2023-06-05 16:09:46 +00:00
rfc-2126-extern-absolute-paths Better group RFC ui tests together 2023-06-05 16:09:46 +00:00
rfc-2151-raw-identifiers
rfc-2175-or-if-while-let
rfc-2294-if-let-guard Add more if let guard tests 2023-09-19 12:48:40 +00:00
rfc-2302-self-struct-ctor Better group RFC ui tests together 2023-06-05 16:09:46 +00:00
rfc-2306-convert-id Better group RFC ui tests together 2023-06-05 16:09:46 +00:00
rfc-2361-dbg-macro Better group RFC ui tests together 2023-06-05 16:09:46 +00:00
rfc-2396-target_feature-11 Test and note unsafe ctor to fn ptr coercion 2023-08-30 15:09:40 -07:00
rfc-2397-do-not-recommend Better group RFC ui tests together 2023-06-05 16:09:46 +00:00
rfc-2421-unreserve-pure-offsetof-sizeof-alignof Better group RFC ui tests together 2023-06-05 16:09:46 +00:00
rfc-2457-non-ascii-idents Validate crate name in CLI option --extern 2023-09-20 18:50:40 +02:00
rfc-2497-if-let-chains Address review comments 2023-09-13 15:00:31 +00:00
rfc-2528-type-changing-struct-update Modify primary span label for E0308 2023-01-30 20:12:19 +00:00
rfc-2565-param-attrs Adjust UI tests for unit_bindings 2023-06-12 20:24:48 +08:00
rfc-2627-raw-dylib Rollup merge of #113754 - cjgillot:simplify-foreign, r=petrochenkov 2023-07-19 22:37:07 +05:30
rfc-2632-const-trait-impl bless the known-bug tests 2023-09-20 03:02:14 +00:00
rfc-3348-c-string-literals add proc macro test 2023-07-23 10:09:43 +00:00