Why isn't the one definition rule abandoned for C++17? Languages

Why isn't the one definition rule abandoned for C++17?

Citing C++ Draft N4713:Every program shall contain exactly one definition of every non-inline function or variable that is odr-used in that program outside of a discarded statement (9.4.1); no diagnostic required. The definition can appear explicitly in the program, it can be found in the standard or a user-defined library,...
Read More