about summary refs log tree commit diff
path: root/src/rustllvm/RustWrapper.cpp
diff options
context:
space:
mode:
authorbors <bors@rust-lang.org>2014-11-25 22:36:59 +0000
committerbors <bors@rust-lang.org>2014-11-25 22:36:59 +0000
commiteedfc077964b811315589d9a70293d3ff2eb0e1d (patch)
tree3202a12380087f0b09f8483f539dd0617501546e /src/rustllvm/RustWrapper.cpp
parent689ef2dabfa3b2b379c953e5fb68ce2c805c2231 (diff)
parent729bf447ab51887a8775ebc544b51f5549424b73 (diff)
downloadrust-eedfc077964b811315589d9a70293d3ff2eb0e1d.tar.gz
rust-eedfc077964b811315589d9a70293d3ff2eb0e1d.zip
auto merge of #19011 : ricky26/rust/trait_supertraits, r=nikomatsakis
It looks like currently kinds required by traits are not propagated when they are wrapped in a TyTrait. Additionally, in SelectionContext::builtin_bound, no attempt is made to check whether the target trait or its supertraits require the kind specified.

This PR alters SelectionContext::builtin_bound to examine all supertraits in the target trait's bounds recursively for required kinds.

Alternatively, the kinds could be added to the TyTrait upon creation (by just setting its builtin_bounds to the union of the bounds requested in this instance and the bounds required by the trait), this option may have less overhead during compilation but information is lost about which kinds were explicitly requested for this instance (vs those specified by traits/supertraits) would be lost.
Diffstat (limited to 'src/rustllvm/RustWrapper.cpp')
0 files changed, 0 insertions, 0 deletions