diff options
author | Philip Herron <philip.herron@embecosm.com> | 2021-12-16 10:32:47 +0000 |
---|---|---|
committer | Philip Herron <philip.herron@embecosm.com> | 2021-12-16 11:37:40 +0000 |
commit | c81eb149048938e2e795e015b69bf601a930f799 (patch) | |
tree | 9612ddcdf4381a28762ad694b4e233e4c3dda4e3 /gcc/rust/backend/rust-compile-var-decl.h | |
parent | 83a984b1a12694d8e06eb139089429b61e236fdd (diff) | |
download | gcc-c81eb149048938e2e795e015b69bf601a930f799.zip gcc-c81eb149048938e2e795e015b69bf601a930f799.tar.gz gcc-c81eb149048938e2e795e015b69bf601a930f799.tar.bz2 |
BugFix NodeId skew on AST::Patterns
The AST constructors implicitly generate new NodeId's, their associated
copy/move constructors ensure that they preserve the NodeId correctly.
The AST::Pattern's here incorrectly had a constructor in the abstract
base class which was generating the NodeId's but when this is used
within AST::MatchArms the fields contain these patterns which can get
copied/moved causing new NodeId's to be generated which then throws off
typechecking as the NodeId changes during HIR lowering and thus each of the
ID's are all of by one during typechecking.
Diffstat (limited to 'gcc/rust/backend/rust-compile-var-decl.h')
0 files changed, 0 insertions, 0 deletions