about summary refs log tree commit diff
path: root/src/rustllvm/RustWrapper.cpp
diff options
context:
space:
mode:
authorleonardo.yvens <leoyvens@gmail.com>2017-12-13 12:35:26 -0200
committerleonardo.yvens <leoyvens@gmail.com>2018-01-27 15:42:54 -0200
commit3d83fc914a0f116ad0e4412d5ccc0be24b3b7af2 (patch)
tree89b6902ac09c683ebb0231b214eccd713032f6f7 /src/rustllvm/RustWrapper.cpp
parentc01bfbd02b57a1aa9d8a39cd907f799d23c2a230 (diff)
downloadrust-3d83fc914a0f116ad0e4412d5ccc0be24b3b7af2.tar.gz
rust-3d83fc914a0f116ad0e4412d5ccc0be24b3b7af2.zip
Lazy numeric fallback.
This refactoring tries to make numeric fallback easier to reason about.
Instead of applying all fallbacks at an arbitrary point in the middle
of inference, we apply the fallback only when necessary and only for
the variable that requires it, which for numeric fallback turns out to
be just casts.

The only visible consequence seems to be some error messages where
instead of getting `i32` we get `{integer}` because we are less eager
about fallback.

The bigger goal is to make it easier to integrate user fallbacks into
inference, if we ever figure that out.
Diffstat (limited to 'src/rustllvm/RustWrapper.cpp')
0 files changed, 0 insertions, 0 deletions