diff options
author | Philip Herron <philip.herron@embecosm.com> | 2022-04-26 11:20:22 +0100 |
---|---|---|
committer | Philip Herron <philip.herron@embecosm.com> | 2022-04-26 21:43:59 +0100 |
commit | 40f2979b73b56e4ddc5ab5686d75164a8b664320 (patch) | |
tree | f1f03939460f0dd096cc24c2efd53dee9f2e4ea1 /gcc/rust/backend/rust-compile-resolve-path.cc | |
parent | d69dd650367fa7fcfac38001b6406c1bff2601e1 (diff) | |
download | gcc-40f2979b73b56e4ddc5ab5686d75164a8b664320.zip gcc-40f2979b73b56e4ddc5ab5686d75164a8b664320.tar.gz gcc-40f2979b73b56e4ddc5ab5686d75164a8b664320.tar.bz2 |
Fix bad name resolution of path with generic segments
When name-resolving paths we expect the name-resolver must resolve the
root of the path. Such that a path might be
module::type::associated_function
We expect that the name resolution step must be able to resolve the
module::type
Portion of the path, it is permissive to allow everything after that to
fail name resolution as this may require generic arguments of type
inferencing to figure out which associated items are required.
The issue in this referenced issue was that the generic arguments here were
wrongly canonicalized to be part of the root path which meant the segment
could not be name-resolved allowing the type resolution system to perform
the generic specialization.
Fixes #1173
Diffstat (limited to 'gcc/rust/backend/rust-compile-resolve-path.cc')
0 files changed, 0 insertions, 0 deletions