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
C++ variant converting constructor with bool Languages

C++ variant converting constructor with bool

On cppreference (4) the converting constructor is described as follows:Converting constructor. Constructs a variant holding the alternative type T_j that would be selected by overload resolution for the expression F(std::forward<T>(t)) if there was an overload of imaginary function F(T_i) for every T_i from Types... in scope at the same time,...
Read More