rust/compiler
Josh Triplett a5a60d75a8 Add size_of, size_of_val, align_of, and align_of_val to the prelude
Many, many projects use `size_of` to get the size of a type. However,
it's also often equally easy to hardcode a size (e.g. `8` instead of
`size_of::<u64>()`). Minimizing friction in the use of `size_of` helps
ensure that people use it and make code more self-documenting.

The name `size_of` is unambiguous: the name alone, without any prefix or
path, is self-explanatory and unmistakeable for any other functionality.
Adding it to the prelude cannot produce any name conflicts, as any local
definition will silently shadow the one from the prelude. Thus, we don't
need to wait for a new edition prelude to add it.

Add `size_of_val`, `align_of`, and `align_of_val` as well, with similar
justification: widely useful, self-explanatory, unmistakeable for
anything else, won't produce conflicts.
2024-05-13 15:11:28 +02:00
..
rustc Change SIGPIPE ui from #[unix_sigpipe = "..."] to -Zon-broken-pipe=... 2024-05-02 19:48:29 +02:00
rustc_abi Make index_by_increasing_offset return one item for primitives 2024-05-11 21:22:51 -07:00
rustc_arena rename ptr::invalid -> ptr::without_provenance 2024-02-21 20:15:52 +01:00
rustc_ast Add classify::expr_is_complete 2024-05-11 18:18:20 -07:00
rustc_ast_ir Remove extern crate rustc_macros from numerous crates. 2024-04-29 10:21:54 +10:00
rustc_ast_lowering Add ErrorGuaranteed to Recovered::Yes and use it more. 2024-05-09 20:12:07 +10:00
rustc_ast_passes Stabilize exclusive_range 2024-05-02 19:42:31 -04:00
rustc_ast_pretty Auto merge of #125055 - nnethercote:Comment-FIXME, r=compiler-errors 2024-05-13 06:30:25 +00:00
rustc_attr Remove extern crate rustc_macros from numerous crates. 2024-04-29 10:21:54 +10:00
rustc_baked_icu_data
rustc_borrowck Consolidate obligation cause codes for where clauses 2024-05-11 02:10:45 -04:00
rustc_builtin_macros Rollup merge of #124919 - nnethercote:Recovered-Yes-ErrorGuaranteed, r=compiler-errors 2024-05-09 19:09:30 +02:00
rustc_codegen_cranelift Rollup merge of #124957 - compiler-errors:builtin-deref, r=michaelwoerister 2024-05-10 16:10:47 +02:00
rustc_codegen_gcc Auto merge of #124972 - matthiaskrgr:rollup-3fablim, r=matthiaskrgr 2024-05-10 16:04:26 +00:00
rustc_codegen_llvm Auto merge of #124972 - matthiaskrgr:rollup-3fablim, r=matthiaskrgr 2024-05-10 16:04:26 +00:00
rustc_codegen_ssa Make index_by_increasing_offset return one item for primitives 2024-05-11 21:22:51 -07:00
rustc_const_eval Remove extern crate rustc_middle from rustc_const_eval. 2024-05-13 08:02:14 +10:00
rustc_data_structures Rollup merge of #124818 - compiler-errors:ena, r=Mark-Simulacrum 2024-05-11 08:00:15 +02:00
rustc_driver
rustc_driver_impl compiler: upgrade time from 0.3.34 to 0.3.36 2024-05-04 21:18:41 -07:00
rustc_error_codes Remove a stray backtick in an error explanation. 2024-05-13 07:53:38 +10:00
rustc_error_messages Rename SubdiagnosticMessage as SubdiagMessage. 2024-03-05 12:14:49 +11:00
rustc_errors Uplift NormalizesTo, CoercePredicate, and SubtypePredicate 2024-05-11 18:20:00 -04:00
rustc_expand Add ErrorGuaranteed to Recovered::Yes and use it more. 2024-05-09 20:12:07 +10:00
rustc_feature Auto merge of #124747 - MasterAwesome:master, r=davidtwco 2024-05-06 00:55:49 +00:00
rustc_fluent_macro Rename SubdiagnosticMessage as SubdiagMessage. 2024-03-05 12:14:49 +11:00
rustc_fs_util Stabilize std::path::absolute 2024-04-24 14:35:02 +00:00
rustc_graphviz Invert diagnostic lints. 2024-02-06 13:12:33 +11:00
rustc_hir Rollup merge of #124919 - nnethercote:Recovered-Yes-ErrorGuaranteed, r=compiler-errors 2024-05-09 19:09:30 +02:00
rustc_hir_analysis Remove extern crate rustc_middle from rustc_hir_analysis. 2024-05-13 08:04:47 +10:00
rustc_hir_pretty Make handling of Comments more iterator-like. 2024-05-13 10:11:29 +10:00
rustc_hir_typeck Auto merge of #124914 - nnethercote:rm-extern-crate-rustc_middle, r=saethlin 2024-05-13 00:13:34 +00:00
rustc_incremental Auto merge of #123441 - saethlin:fixed-len-file-names, r=oli-obk 2024-05-03 17:41:48 +00:00
rustc_index Simplify static_assert_sizes. 2024-04-18 15:36:25 +10:00
rustc_index_macros rustc_index: Add a ZERO constant to index types 2024-04-03 19:06:22 +03:00
rustc_infer Remove extern crate rustc_middle from rustc_infer. 2024-05-13 08:20:18 +10:00
rustc_interface Improve check-cfg CLI errors with more structured diagnostics 2024-05-06 07:44:41 +02:00
rustc_lexer Improved the compiler code with clippy 2024-04-24 09:41:44 +02:00
rustc_lint Auto merge of #119427 - dtolnay:maccall, r=compiler-errors 2024-05-12 04:18:20 +00:00
rustc_lint_defs Match ergonomics 2024: migration lint 2024-05-12 11:13:33 -04:00
rustc_llvm Update cc crate to v1.0.97 2024-05-08 15:06:35 +00:00
rustc_log Construct SourceMap at the same time as SessionGlobals. 2024-04-16 13:02:53 +10:00
rustc_macros Lift Lift 2024-05-10 15:44:03 -04:00
rustc_metadata Remove extern crate rustc_middle from rustc_metadata. 2024-05-13 08:20:18 +10:00
rustc_middle Add size_of, size_of_val, align_of, and align_of_val to the prelude 2024-05-13 15:11:28 +02:00
rustc_mir_build Auto merge of #124914 - nnethercote:rm-extern-crate-rustc_middle, r=saethlin 2024-05-13 00:13:34 +00:00
rustc_mir_dataflow Inline & delete Ty::new_unit, since it's just a field access 2024-05-02 17:49:23 +02:00
rustc_mir_transform Remove extern crate rustc_middle from rustc_mir_transform. 2024-05-13 08:20:18 +10:00
rustc_monomorphize Lift TraitRef into rustc_type_ir 2024-05-10 15:44:03 -04:00
rustc_next_trait_solver Lift TraitRef into rustc_type_ir 2024-05-10 15:44:03 -04:00
rustc_parse Add classify::expr_is_complete 2024-05-11 18:18:20 -07:00
rustc_parse_format Simplify static_assert_sizes. 2024-04-18 15:36:25 +10:00
rustc_passes Rollup merge of #124904 - RalfJung:reachable, r=tmiasko 2024-05-11 01:15:10 +01:00
rustc_pattern_analysis Stabilize exclusive_range 2024-05-02 19:42:31 -04:00
rustc_privacy Lift TraitRef into rustc_type_ir 2024-05-10 15:44:03 -04:00
rustc_query_impl Remove extern crate rustc_middle from rustc_query_impl. 2024-05-13 08:20:18 +10:00
rustc_query_system Remove some unneeded Cargo.toml dependencies. 2024-05-03 15:33:52 +10:00
rustc_resolve Rollup merge of #123344 - pietroalbini:pa-unused-imports, r=Nilstrieb 2024-05-08 23:33:24 +02:00
rustc_sanitizers Apply nits, uplift ExistentialPredicate too 2024-05-11 18:20:00 -04:00
rustc_serialize Step bootstrap cfgs 2024-05-01 22:19:11 -04:00
rustc_session Add rustfmt cfg to well known cfgs list 2024-05-05 14:30:35 +02:00
rustc_smir Rollup merge of #124797 - beetrees:primitive-float, r=davidtwco 2024-05-10 16:10:46 +02:00
rustc_span Auto merge of #124747 - MasterAwesome:master, r=davidtwco 2024-05-06 00:55:49 +00:00
rustc_symbol_mangling Make builtin_deref just return a Ty 2024-05-09 22:55:00 -04:00
rustc_target Auto merge of #124762 - madsmtm:refactor-apple-target-abi, r=lcnr,BlackHoleFox 2024-05-11 08:32:35 +00:00
rustc_trait_selection Remove extern crate rustc_middle from rustc_trait_selection. 2024-05-13 08:20:18 +10:00
rustc_traits Apply nits, make some bounds into supertraits on inherent traits 2024-05-10 15:44:03 -04:00
rustc_transmute Align: add bytes_usize and bits_usize 2024-05-01 15:57:33 +02:00
rustc_ty_utils Remove extern crate rustc_middle from rustc_ty_utils. 2024-05-13 08:20:18 +10:00
rustc_type_ir And ImplPolarity too 2024-05-11 19:29:26 -04:00
rustc_type_ir_macros Uplift TraitPredicate 2024-05-11 18:20:00 -04:00
stable_mir Use generic NonZero. 2024-05-08 21:37:55 +02:00