Closed ericvergnaud closed 5 days ago
Thanks for catching that we're not catching exceptions thrown by _infer()
inside infer_from_values()
.
But re: the inconsistencies between raising and returning a partial string seem like something we should resolve in favor of not using partial strings, based on the decision we took in #2459.
Inference of JoinedStr is inconsistent. For example:
f"{unknown}" raises an InferenceError if unknown is not declared f"{unknown}" returns Uninferable (the instance) if unknown is declared f"a/{unknown}/b" raises an InferenceError if unknown is not declared f"a/{unknown}/b" returns "a/Uninferable/b" if unknown is declared
This pushes to the user a lot of unwanted responsibility
Additionally, there are usage scenarios where the user would rather have a composite string (such as the latter case above) than the Uninferable instance.