about summary refs log tree commit diff
path: root/src/rustllvm/RustWrapper.cpp
diff options
context:
space:
mode:
authorAaron Hill <aa1ronham@gmail.com>2020-05-26 14:26:11 -0400
committerAaron Hill <aa1ronham@gmail.com>2020-05-26 14:26:40 -0400
commit1c30c9e92bdae1814dbae9367f214b4819cdd0de (patch)
tree03d91c4d80aae7440820e279e4547ed4c444b7b0 /src/rustllvm/RustWrapper.cpp
parentaeca4d6428c52cbf2c8d1f28657b0bdf92e4ea7c (diff)
downloadrust-1c30c9e92bdae1814dbae9367f214b4819cdd0de.tar.gz
rust-1c30c9e92bdae1814dbae9367f214b4819cdd0de.zip
Don't bail out of trait selection when predicate references an error
Fixes #72590

With PR #70551, observing a `ty::Error` guarantees that compilation is
going to fail. Therefore, there are no soundness impliciations to
continuing on when we encounter a `ty::Error` - we can only affect
whether or not additional error messags are emitted.

By not bailing out, we avoid incorrectly determining that types are
`!Sized` when a type error is present, which allows us to avoid emitting
additional spurious error messages.

The original comment mentioned this code being shared by coherence -
howver, this change resulted in no diagnostic changes in any of the
existing tests.
Diffstat (limited to 'src/rustllvm/RustWrapper.cpp')
0 files changed, 0 insertions, 0 deletions