Remove base_ring
methods returning Union{}
#2144
Open
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This is certainly a breaking change, in that it changes an explicitly documented behavior. But I suspect it won't actually break anything ; and if it does, I am glad to learn about it.
Rationale for this:
Union{}
forbase_ring
never made sense to me. Besides not fitting logically (a type is not a ring...): When would it even be used, and why?base_ring_type
returnUnion{}
(a method which did not exist when the "base_ring
may returnUnion{}
" convention was introduced)Alas, I was not there when this was was designed and perhaps there are serious downsides I am not aware of -- well, as usual I am happy to learn :-).
If we merge this then of course Nemo, Hecke, ... need some changes (but I think mostly of the variety "drop
base_ring
method returningUnion{}
and adjust itsbase_ring_type
method" )