]> git.lizzy.rs Git - rust.git/commit
Point at the call spawn when overflow occurs during monomorphization
authorAaron Hill <aa1ronham@gmail.com>
Mon, 22 Jun 2020 02:32:35 +0000 (22:32 -0400)
committerAaron Hill <aa1ronham@gmail.com>
Mon, 22 Jun 2020 18:35:42 +0000 (14:35 -0400)
commit3ed96a6d638f8dc8aa081ca1ad82e61caa8930ca
treec9e61e21031dd995975cb1fe073ab7bf0cc8ba01
parent1a4e2b6f9c75a0e21722c88a0e3b610d6ffc3ae3
Point at the call spawn when overflow occurs during monomorphization

This improves the output for issue #72577, but there's still more work
to be done.

Currently, an overflow error during monomorphization results in an error
that points at the function we were unable to monomorphize. However, we
don't point at the call that caused the monomorphization to happen. In
the overflow occurs in a large recursive function, it may be difficult
to determine where the issue is.

This commit tracks and `Span` information during collection of
`MonoItem`s, which is used when emitting an overflow error. `MonoItem`
itself is unchanged, so this only affects
`src/librustc_mir/monomorphize/collector.rs`
src/librustc_mir/monomorphize/collector.rs
src/test/ui/infinite/infinite-instantiation.rs
src/test/ui/infinite/infinite-instantiation.stderr
src/test/ui/issues/issue-67552.rs
src/test/ui/issues/issue-67552.stderr
src/test/ui/issues/issue-8727.rs
src/test/ui/issues/issue-8727.stderr
src/test/ui/recursion/issue-38591-non-regular-dropck-recursion.stderr
src/test/ui/recursion/recursion.rs
src/test/ui/recursion/recursion.stderr