-
Notifications
You must be signed in to change notification settings - Fork 1.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Remove Introspection #8273
Remove Introspection #8273
Conversation
Introspection (to provide better error messages + automatic var/func/etc names) has always been kinda handy but kinda fragile, and with the evolution of the DWARF standard it's become broken for newer compilers. We don't have the bandwidth to fix it, and many large customers (e.g. Google) have never been able to rely on it, and given that it can cause crashes in some unusual situations (e.g. when embedded inside a Go app), it's time to say goodbye. Alas! Poor Introspection. I knew him, Horatio. A feature of infinite jest, of most excellent fancy. It hath borne me on his back a thousand times.
src/Deserialization.cpp
Outdated
@@ -1057,8 +1057,9 @@ Definition Deserializer::deserialize_definition(const Serialize::Definition *def | |||
const std::vector<Specialization> specializations = | |||
deserialize_vector<Serialize::Specialization, Specialization>(definition->specializations(), | |||
&Deserializer::deserialize_specialization); | |||
// Desaerialize and ignore this value. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Typo
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
it's a perfectly cromulent spaeling
Finally green, PTAL |
I think we should update the tutorials to add explicit naming now, and teach how to use stmt and conceptual stmt files. |
Introspection (to provide better error messages + automatic var/func/etc names) has always been kinda handy but kinda fragile, and with the evolution of the DWARF standard it's become broken for newer compilers. We don't have the bandwidth to fix it, and many large customers (e.g. Google) have never been able to rely on it, and given that it can cause crashes in some unusual situations (e.g. when embedded inside a Go app), it's time to say goodbye.
Alas! Poor Introspection. I knew him, Horatio. A feature of infinite jest, of most excellent fancy. It hath borne me on his back a thousand times.