Shadowing a function name by a variable results in a long traceback under xls::dslx::Deduce (example below). Shadowing a built-in by a variable results in another strange error (example at bottom).
PC: @ 0x55ec34aeaae0 (unknown) xls::dslx::(anonymous namespace)::DeduceInstantiation()
@ 0x55ec34fe40da 1152 FailureSignalHandler()
@ 0x7f2b4e17d1c0 (unknown) (unknown)
@ 0x55ec34aeaae0 112 xls::dslx::(anonymous namespace)::DeduceInstantiation()
@ 0x55ec34ad076a 480 xls::dslx::(anonymous namespace)::DeduceVisitor::HandleInvocation()
@ 0x55ec34c67e5b 32 xls::dslx::Invocation::Accept()
@ 0x55ec34ac7a6c 288 xls::dslx::Deduce()
@ 0x55ec34ac7814 32 std::__u::__function::__policy_invoker<>::__call_impl<>()
@ 0x55ec34abb382 112 xls::dslx::DeduceCtx::Deduce()
@ 0x55ec34ac7d02 96 xls::dslx::DeduceAndResolve()
@ 0x55ec34accbc7 480 xls::dslx::(anonymous namespace)::DeduceVisitor::HandleBinop()
@ 0x55ec34c6849b 32 xls::dslx::Binop::Accept()
@ 0x55ec34ac7a6c 288 xls::dslx::Deduce()
@ 0x55ec34ac7814 32 std::__u::__function::__policy_invoker<>::__call_impl<>()
@ 0x55ec34abb382 112 xls::dslx::DeduceCtx::Deduce()
@ 0x55ec34ac7d02 96 xls::dslx::DeduceAndResolve()
@ 0x55ec34aedc27 320 xls::dslx::(anonymous namespace)::ValidateStructMembersSubset()
@ 0x55ec34adabc8 752 xls::dslx::(anonymous namespace)::DeduceVisitor::HandleStructInstance()
@ 0x55ec34c681bb 32 xls::dslx::StructInstance::Accept()
@ 0x55ec34ac7a6c 288 xls::dslx::Deduce()
@ 0x55ec34ac7814 32 std::__u::__function::__policy_invoker<>::__call_impl<>()
@ 0x55ec34abb382 112 xls::dslx::DeduceCtx::Deduce()
@ 0x55ec34ac7d02 96 xls::dslx::DeduceAndResolve()
@ 0x55ec34ad1ad4 704 xls::dslx::(anonymous namespace)::DeduceVisitor::HandleLet()
@ 0x55ec34c698db 32 xls::dslx::Let::Accept()
@ 0x55ec34ac7a6c 288 xls::dslx::Deduce()
@ 0x55ec34ac7814 32 std::__u::__function::__policy_invoker<>::__call_impl<>()
@ 0x55ec34abb382 112 xls::dslx::DeduceCtx::Deduce()
@ 0x55ec34ad25da 704 xls::dslx::(anonymous namespace)::DeduceVisitor::HandleLet()
@ 0x55ec34c698db 32 xls::dslx::Let::Accept()
@ 0x55ec34ac7a6c 288 xls::dslx::Deduce()
@ 0x55ec34ac7814 32 std::__u::__function::__policy_invoker<>::__call_impl<>()
@ 0x55ec34abb382 112 xls::dslx::DeduceCtx::Deduce()
@ 0x55ec34ad25da 704 xls::dslx::(anonymous namespace)::DeduceVisitor::HandleLet()
@ 0x55ec34c698db 32 xls::dslx::Let::Accept()
@ 0x55ec34ac7a6c 288 xls::dslx::Deduce()
@ 0x55ec34ac7814 32 std::__u::__function::__policy_invoker<>::__call_impl<>()
@ 0x55ec34abb382 112 xls::dslx::DeduceCtx::Deduce()
@ 0x55ec34ad25da 704 xls::dslx::(anonymous namespace)::DeduceVisitor::HandleLet()
@ 0x55ec34c698db 32 xls::dslx::Let::Accept()
@ 0x55ec34ac7a6c 288 xls::dslx::Deduce()
@ 0x55ec34ac7814 32 std::__u::__function::__policy_invoker<>::__call_impl<>()
@ 0x55ec34abb382 112 xls::dslx::DeduceCtx::Deduce()
@ 0x55ec34ad25da 704 xls::dslx::(anonymous namespace)::DeduceVisitor::HandleLet()
@ 0x55ec34c698db 32 xls::dslx::Let::Accept()
@ 0x55ec34ac7a6c 288 xls::dslx::Deduce()
@ 0x55ec34ac7814 32 std::__u::__function::__policy_invoker<>::__call_impl<>()
@ 0x55ec34abb382 112 xls::dslx::DeduceCtx::Deduce()
@ 0x55ec34ad25da 704 xls::dslx::(anonymous namespace)::DeduceVisitor::HandleLet()
@ 0x55ec34c698db 32 xls::dslx::Let::Accept()
@ 0x55ec34ac7a6c 288 xls::dslx::Deduce()
@ 0x55ec34ac7814 32 std::__u::__function::__policy_invoker<>::__call_impl<>()
@ 0x55ec34abb382 112 xls::dslx::DeduceCtx::Deduce()
@ 0x55ec34ad25da 704 xls::dslx::(anonymous namespace)::DeduceVisitor::HandleLet()
@ 0x55ec34c698db 32 xls::dslx::Let::Accept()
@ 0x55ec34ac7a6c 288 xls::dslx::Deduce()
@ 0x55ec34ac7814 32 std::__u::__function::__policy_invoker<>::__call_impl<>()
@ 0x55ec34abb382 112 xls::dslx::DeduceCtx::Deduce()
@ 0x55ec34ad25da 704 xls::dslx::(anonymous namespace)::DeduceVisitor::HandleLet()
@ 0x55ec34c698db 32 xls::dslx::Let::Accept()
@ 0x55ec34ac7a6c 288 xls::dslx::Deduce()
@ 0x55ec34ac7814 32 std::__u::__function::__policy_invoker<>::__call_impl<>()
@ 0x55ec34abb382 112 xls::dslx::DeduceCtx::Deduce()
@ 0x55ec34acdf47 64 xls::dslx::(anonymous namespace)::DeduceVisitor::HandleBlock()
Could not extract a textual position from error message: NOT_FOUND: No N3xls4dslx8FunctionE in module foo with name "or_reduce"
=== Source Location Trace: ===
third_party/xls/dslx/ast.h:3059
: INVALID_ARGUMENT: Provided status is not in recognized error form: NOT_FOUND: No N3xls4dslx8FunctionE in module foo with name "or_reduce"
=== Source Location Trace: ===
third_party/xls/dslx/bindings.cc:36
Shadowing a function name by a variable results in a long traceback under xls::dslx::Deduce (example below). Shadowing a built-in by a variable results in another strange error (example at bottom).