Prerequisites
Description
When defining inductive propositions (probably for types as well, but I haven't checked), "invalid return type" error is not attached to the text range of the actual erroneous return type, making it harder to understand.
Steps to Reproduce
Here is a code that you can paste into a new file:
structure relation :=
(c : Type) -- c for "carrier"
(holds : c → c → Prop)
inductive trans_closure (r : relation) : r.c → r.c → Prop
| base : ∀ {x y : r.c}, r.holds x y → trans_closure x y
| step : ∀ {x y z : r.c}, r.holds x y → trans_closure y z → r.holds x z
Expected behavior: [What you expect to happen]
Red squiggly line in VSCode is under the r.holds x z
Actual behavior: [What actually happens]
Red squiggly line in VSCode is under the word inductive, which makes the actual mistake harder to spot:

Reproduces how often: [What percentage of the time does it reproduce?]
Reproduces consistently from limited testing.
Versions
Lean (version 3.50.3, commit 855e5b7, Release), Linux Mint.