rust/compiler/rustc_data_structures/src
Nilstrieb 5830ca216d Add internal_features lint
It lints against features that are inteded to be internal to the
compiler and standard library. Implements MCP #596.

We allow `internal_features` in the standard library and compiler as those
use many features and this _is_ the standard library from the "internal to the compiler and
standard library" after all.

Marking some features as internal wasn't exactly the most scientific approach, I just marked some
mostly obvious features. While there is a categorization in the macro,
it's not very well upheld (should probably be fixed in another PR).

We always pass `-Ainternal_features` in the testsuite
About 400 UI tests and several other tests use internal features.
Instead of throwing the attribute on each one, just always allow them.
There's nothing wrong with testing internal features^^
2023-08-03 14:50:50 +02:00
..
base_n Adapt rustc_data_structures tests to run in strict miri 2022-06-04 17:46:29 +02:00
binary_search_util [rustc][data_structures] Simplify binary_search_slice. 2023-07-29 07:22:56 -07:00
fingerprint Store hashes in special types so they aren't accidentally encoded as numbers 2023-04-18 10:52:47 -04:00
flock migrate compiler, bootstrap, and compiletest to windows-rs 2023-03-20 13:19:35 -04:00
graph Re-format let-else per rustfmt update 2023-07-12 21:49:27 -04:00
intern Rename PtrKey as Interned and improve it. 2022-02-15 15:50:29 +11:00
obligation_forest Use Option::is_some_and and Result::is_ok_and in the compiler 2023-05-24 14:20:41 +00:00
owned_slice Don't leak the function that is called on drop 2023-05-23 14:53:36 +00:00
profiling Don't use serde_json to serialize a simple JSON object 2023-04-16 15:00:06 +02:00
sip128 Use SipHash-1-3 instead of SipHash-2-4 for StableHasher 2023-04-05 15:48:37 +00:00
small_c_str
snapshot_map Call the method fork instead of clone and add proper comments 2022-02-14 12:57:20 -03:00
sorted_map Split {Idx, IndexVec, IndexSlice} into their own modules 2023-04-24 13:53:35 +00:00
sso more clippy::style fixes: 2023-07-23 23:39:04 +02:00
stable_hasher Store hashes in special types so they aren't accidentally encoded as numbers 2023-04-18 10:52:47 -04:00
sync Rollup merge of #114283 - oli-obk:parkin_lot_rwlock, r=SparrowLii 2023-08-01 17:39:10 +02:00
tagged_ptr Rollup merge of #110814 - WaffleLapkin:sprinkle_#inline, r=Nilstrieb 2023-04-27 15:10:53 +02:00
tiny_list rustc_data_structures: remove ref patterns and other artifacts of the past 2023-01-17 07:48:19 +00:00
transitive_relation get rid of RefCell in TransitiveRelation 2022-08-22 18:08:46 +08:00
aligned.rs fix broken intradoclinks 2023-04-14 13:04:58 +00:00
atomic_ref.rs
base_n.rs [rustc_data_structures][perf] Simplify base_n::push_str. 2023-07-31 12:40:11 -07:00
captures.rs Remove #[allow(unused_lifetimes)] which is now unnecessary 2021-06-17 08:56:54 +09:00
fingerprint.rs Use the full Fingerprint when stringifying Svh 2023-04-30 14:28:30 -04:00
flat_map_in_place.rs Rename MapInPlace as FlatMapInPlace. 2023-03-08 15:53:56 +11:00
flock.rs migrate compiler, bootstrap, and compiletest to windows-rs 2023-03-20 13:19:35 -04:00
frozen.rs Remove double spaces after dots in comments 2023-01-17 08:09:33 +00:00
functor.rs Split {Idx, IndexVec, IndexSlice} into their own modules 2023-04-24 13:53:35 +00:00
fx.rs Use UnordMap instead of FxHashMap in define_id_collections!(). 2023-01-19 10:40:47 +01:00
hashes.rs Add #[inline] to some new functions 2023-04-18 14:13:19 -04:00
intern.rs Don't print Interned or PrivateZst 2023-06-09 00:20:37 +00:00
jobserver.rs Move/rename lazy::Sync{OnceCell,Lazy} to sync::{Once,Lazy}Lock 2022-06-16 19:54:42 +04:00
lib.rs Add internal_features lint 2023-08-03 14:50:50 +02:00
macros.rs Introduce ChunkedBitSet and use it for some dataflow analyses. 2022-02-23 10:18:49 +11:00
marker.rs add DynSend / DynSync for CopyTaggedPtr 2023-05-06 10:23:51 +08:00
memmap.rs deny(unsafe_op_in_unsafe_fn) in rustc_data_structures 2023-04-19 18:00:48 +00:00
owned_slice.rs Fixup comments 2023-05-16 12:09:24 +00:00
profiling.rs bump windows crate 0.46 -> 0.48 in workspace 2023-05-09 18:20:13 +03:00
sharded.rs Add some comments 2023-05-28 15:54:52 +02:00
sip128.rs deny(unsafe_op_in_unsafe_fn) in rustc_data_structures 2023-04-19 18:00:48 +00:00
small_c_str.rs Fix uninlined_format_args for some compiler crates 2023-01-05 19:01:12 +01:00
sorted_map.rs [rustc_data_structures] Simplify SortedMap::insert. 2023-07-31 16:58:04 -07:00
stable_hasher.rs Make closure_saved_names_of_captured_variables a query. 2023-06-19 16:50:52 +00:00
stack.rs Fix some clippy::complexity 2023-04-09 23:22:14 +02:00
steal.rs Harden the pre-tyctxt query system against accidental recomputation 2023-01-12 09:26:28 +00:00
svh.rs Use the full Fingerprint when stringifying Svh 2023-04-30 14:28:30 -04:00
sync.rs rustc_data_structures: sync and atomic consistency 2023-05-25 15:18:05 -07:00
tagged_ptr.rs Simplify bits_for_tags impl 2023-04-20 19:54:10 +00:00
temp_dir.rs Update dependencies with reported vulnerabilities 2023-06-02 12:34:01 -05:00
tiny_list.rs rustc_data_structures: remove ref patterns and other artifacts of the past 2023-01-17 07:48:19 +00:00
transitive_relation.rs Remove double spaces after dots in comments 2023-01-17 08:09:33 +00:00
unhash.rs Avoid rehashing Fingerprint as a map key 2020-09-01 18:27:02 -07:00
unord.rs Introduce ExtentUnord trait for collections that can safely consume UnordItems. 2023-07-14 10:10:15 +02:00
vec_linked_list.rs Split {Idx, IndexVec, IndexSlice} into their own modules 2023-04-24 13:53:35 +00:00
work_queue.rs Split {Idx, IndexVec, IndexSlice} into their own modules 2023-04-24 13:53:35 +00:00