about summary refs log tree commit diff
path: root/src/test/codegen/src-hash-algorithm/src-hash-algorithm-sha1.rs
diff options
context:
space:
mode:
authorDorian Scheidt <dorian.scheidt@gmail.com>2022-04-30 12:29:55 -0500
committerDorian Scheidt <dorian.scheidt@gmail.com>2022-07-13 14:54:10 -0500
commit075ab03851d7b4304ddf563d75c4ee3d713f2583 (patch)
tree184f52f93df83f9ad7bebc121bb69b0f3b9efc13 /src/test/codegen/src-hash-algorithm/src-hash-algorithm-sha1.rs
parent794ecd58a32dfd9fdab0596b181133d4d2ae4b6f (diff)
downloadrust-075ab03851d7b4304ddf563d75c4ee3d713f2583.tar.gz
rust-075ab03851d7b4304ddf563d75c4ee3d713f2583.zip
fix: Support generics in extract_function assist
This change attempts to resolve issue #7636: Extract into Function does not
create a generic function with constraints when extracting generic code.

In `FunctionBody::analyze_container`, we now traverse the `ancestors` in search
of `AnyHasGenericParams`, and attach any `GenericParamList`s and `WhereClause`s
we find to the `ContainerInfo`.

Later, in `format_function`, we collect all the `GenericParam`s and
`WherePred`s from the container, and filter them to keep only types matching
`TypeParam`s used within the newly extracted function body or param list. We
can then include the new `GenericParamList` and `WhereClause` in the new
function definition.

This change only impacts `TypeParam`s. `LifetimeParam`s and `ConstParam`s are
out of scope for this change.
Diffstat (limited to 'src/test/codegen/src-hash-algorithm/src-hash-algorithm-sha1.rs')
0 files changed, 0 insertions, 0 deletions