diff options
| author | Dorian Scheidt <dorian.scheidt@gmail.com> | 2022-04-30 12:29:55 -0500 |
|---|---|---|
| committer | Dorian Scheidt <dorian.scheidt@gmail.com> | 2022-07-13 14:54:10 -0500 |
| commit | 075ab03851d7b4304ddf563d75c4ee3d713f2583 (patch) | |
| tree | 184f52f93df83f9ad7bebc121bb69b0f3b9efc13 /src/test/codegen/src-hash-algorithm/src-hash-algorithm-sha1.rs | |
| parent | 794ecd58a32dfd9fdab0596b181133d4d2ae4b6f (diff) | |
| download | rust-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
