Hacker News new | past | comments | ask | show | jobs | submit login

But with this approach you arent able to provide e.g intellisense or other IDE hints for valid things within this node, right?



Things within the node are fine because errors propagate upwards. The problem is things like:

    Foo getFoo(int);
    getFoo().???; // want code completion!
`getFoo()` is missing an argument, but you still want to complete Foo's members. If you type `getFoo().getBar()` you want go-to-definition to work on `getBar`.

In clang, we use heuristics to preserve the type in high-confidence cases. (here overload resolution for `getFoo` failed, but there was only one candidate function). This means you can get cascading errors in those cases (but often that's a good thing, especially in an IDE - tradeoffs).


A hint can be provided where the original error is diagnosed. I doubt hints on cascaded errors would be of any use.


if you have function like

"public intd Test() { ... typing new line }"

then you will not provide hints when writing that new line due to "intd" being invalid type?


A function's declaration is not affected by its body, so that shouldn't be a problem.




Consider applying for YC's Fall 2025 batch! Applications are open till Aug 4

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: