-
Notifications
You must be signed in to change notification settings - Fork 13.7k
Handle ReEarlyParam
in type_name
.
#145700
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
|
Not printing the |
I really dislike that we're printing the path with generic arguments in typenum/during symbol mangling :< @bors r+ rollup |
What output would you prefer for the new example? |
I don't have a strong opinion about the output. I would like printing type names (and more importantly symbol mangling), to not support generic parameters. This may allow us to accidentally print/mangle generic symbols which is very :< We do this only for items defined in impls, and i feel like just printing use std::any::Any;
use std::any::type_name_of_val;
fn main() {
struct Wrap<T>(T);
impl Wrap<&()> {
fn get(&self) -> impl Any {
let c_0 = || {
struct Info;
Info
};
let c_1 = || {
struct Info;
Info
};
(c_0(), c_1())
}
}
let a = Wrap(&()).get();
println!("{}", type_name_of_val(&a));
} I feel like ideally this would print
|
Rollup of 16 pull requests Successful merges: - #137494 (libstd: init(): dup() subsequent /dev/nulls instead of opening them again) - #144541 (c-variadic: multiple ABIs in the same program for arm) - #144613 (aarch64-nintendo-switch-freestanding - Enable CPU features that are always available in a live system (crypto instructions, plus explicit NEON).) - #144780 (Add a method to dump MIR in the middle of MIR building) - #145137 (Consolidate panicking functions in `slice/index.rs`) - #145507 (Refactor attribute parsing to improve ergonomics and some diagnostics) - #145604 (Gate static closures behind a parser feature) - #145648 (Add two tidy dependency checks) - #145661 (update some s390x codegen tests) - #145672 (Instantiate higher-ranked binder with erased when checking `IntoIterator` predicate for query instability) - #145689 (Migrate `panic_unwind` to use `cfg_select!`) - #145700 (Handle `ReEarlyParam` in `type_name`.) - #145703 (Remove MIPS targets from CI LLVM platforms) - #145704 (ci: don't cleanup windows disk) - #145705 (remove an `as` cast in prefetch codegen) - #145712 (Update outdated link in bound region comments) r? `@ghost` `@rustbot` modify labels: rollup
Rollup of 16 pull requests Successful merges: - rust-lang/rust#137494 (libstd: init(): dup() subsequent /dev/nulls instead of opening them again) - rust-lang/rust#144541 (c-variadic: multiple ABIs in the same program for arm) - rust-lang/rust#144613 (aarch64-nintendo-switch-freestanding - Enable CPU features that are always available in a live system (crypto instructions, plus explicit NEON).) - rust-lang/rust#144780 (Add a method to dump MIR in the middle of MIR building) - rust-lang/rust#145137 (Consolidate panicking functions in `slice/index.rs`) - rust-lang/rust#145507 (Refactor attribute parsing to improve ergonomics and some diagnostics) - rust-lang/rust#145604 (Gate static closures behind a parser feature) - rust-lang/rust#145648 (Add two tidy dependency checks) - rust-lang/rust#145661 (update some s390x codegen tests) - rust-lang/rust#145672 (Instantiate higher-ranked binder with erased when checking `IntoIterator` predicate for query instability) - rust-lang/rust#145689 (Migrate `panic_unwind` to use `cfg_select!`) - rust-lang/rust#145700 (Handle `ReEarlyParam` in `type_name`.) - rust-lang/rust#145703 (Remove MIPS targets from CI LLVM platforms) - rust-lang/rust#145704 (ci: don't cleanup windows disk) - rust-lang/rust#145705 (remove an `as` cast in prefetch codegen) - rust-lang/rust#145712 (Update outdated link in bound region comments) r? `@ghost` `@rustbot` modify labels: rollup
Fixes #145696.
r? @lcnr