-
Notifications
You must be signed in to change notification settings - Fork 13.6k
Open
Labels
A-intrinsicsArea: IntrinsicsArea: IntrinsicsC-feature-requestCategory: A feature request, i.e: not implemented / a PR.Category: A feature request, i.e: not implemented / a PR.T-compilerRelevant to the compiler team, which will review and decide on the PR/issue.Relevant to the compiler team, which will review and decide on the PR/issue.T-dev-toolsRelevant to the dev-tools subteam, which will review and decide on the PR/issue.Relevant to the dev-tools subteam, which will review and decide on the PR/issue.T-langRelevant to the language teamRelevant to the language team
Description
For gdb to be able to index things like hashmaps, we need to ensure that the index implementation is monomorphized correctly.
I would like to have an intrinsic, which when found in a monomorphized function, will force monomorphization of the provided argument. For example, in Vec::new()
, we can include force_monomorphization(<Vec<T> as Index>::index)
.
Alternatively, we could specially mark methods (index and deref? all of std::ops
? has to be parametric over self
but not parametric over other non-Self
args.) that are always monomorphized if the corresponding concrete self type already exists. Perhaps only in debug mode. This may bloat binary size, but eh, debug mode.
cc @rust-lang/compiler @tromey
Metadata
Metadata
Assignees
Labels
A-intrinsicsArea: IntrinsicsArea: IntrinsicsC-feature-requestCategory: A feature request, i.e: not implemented / a PR.Category: A feature request, i.e: not implemented / a PR.T-compilerRelevant to the compiler team, which will review and decide on the PR/issue.Relevant to the compiler team, which will review and decide on the PR/issue.T-dev-toolsRelevant to the dev-tools subteam, which will review and decide on the PR/issue.Relevant to the dev-tools subteam, which will review and decide on the PR/issue.T-langRelevant to the language teamRelevant to the language team