▲ | kriops 4 days ago | |
Optional::map returns an empty optional if the passed function returns null. This is incorrect and can be especially hurtful in intermediate operations. Allowing Optional::map to return an Optional<void> would have been correct. Alternatively, just don't call it 'map'. I agree implementing your Option<T> type is better. The problem is that people will use whatever is available in the standard library—I am not working in isolation. |