diff options
author | Philip Herron <philip.herron@embecosm.com> | 2022-09-30 13:41:09 +0100 |
---|---|---|
committer | Arthur Cohen <arthur.cohen@embecosm.com> | 2023-02-21 12:36:31 +0100 |
commit | 543ba35905b948a6cd0cf39832a020597068570d (patch) | |
tree | b68b7b8997d8a65511c7120ba73630eb34f49dbd /gcc/rust/resolve/rust-ast-resolve-expr.cc | |
parent | 1e8eb102200902e12c1b00e867e338be0a92c292 (diff) | |
download | gcc-543ba35905b948a6cd0cf39832a020597068570d.zip gcc-543ba35905b948a6cd0cf39832a020597068570d.tar.gz gcc-543ba35905b948a6cd0cf39832a020597068570d.tar.bz2 |
gccrs: Add catch for recusive type queries
When we have a type query where by generic substitution occurs we can hit
the case where we need to Probe the bounds of the substited item to
determine whether the the bounds are compatible this can cause us to
end up querying the same type recursively.
Fixes #1550
gcc/rust/ChangeLog:
* typecheck/rust-hir-type-check-base.cc (TypeCheckBase::query_type):
Check for recursive queries.
* typecheck/rust-hir-type-check.h: New functions: `query_completed`,
`query_in_progress`, `insert_query`.
* typecheck/rust-tyty-bounds.cc (TypeBoundsProbe::scan): Use `query_type` API.
Diffstat (limited to 'gcc/rust/resolve/rust-ast-resolve-expr.cc')
0 files changed, 0 insertions, 0 deletions