In programming languages, type erasure is the load-time process by which explicit type annotations are removed from a program, before it is executed at run-time.
Type-erasure semantics is an abstraction principle, ensuring that the run-time execution of a program doesn't depend on type information.
In the context of generic programming, the opposite of type erasure is named reification.
[1] The reverse operation is named type inference.
This computer science article is a stub.