

All distros are equivalent, as far as software is concerned. They all have access to the same open source software, and Flatpak; AppImage; and Snap can be used for extra portability.
Think of a distro like a pre-configured image of linux. You can always change the configuration later, if you desire. For example, the Desktop Environment. All you have to do is just install a different DE package (usually via command line)
The DE has a major impact on user experience. Use KDE plasma for a more windows-familiar experience, or Gnome for a more Mac-familiar experience. Or experiment with others
The Linux Experiment is a good resource
To explain
There are 2
Error
struct / enum declarations, probably in separate filesTo the
?
, they are different types and cannot be converted from one to the other (because they are two disparate structs that happen to have the same name, but can have different bodies)To fix this
You can either use
.some_func_result().map_err(|err| /* conversion here/*)?;
+Or you can
impl From<Error1> for Error2
And you should also name it
ThingError
, so you can visually differentiate the two+ There are like 10 different mapping functions, depending on if you’re using an option or a result
I never remember which one specifically i need, (
unwrap_or
,map_or
,map_or_else
,ok
,ok_or
)I usually just hunt through the auto complete list until i find the function signature that gives me what i need