Interfaces and compiler compatibility ===================================== It would be nice to be able to: 1. allow compilation of older interface versions with older compilers (and require newer compiler versions for later interface versions) 2. optionally use functionality from the compiler, if the compiler supports it. These are tricky problem, given that: - We want to ensure that compilation will either fail or succeed on ALL supported platforms (the "upto" directive is an exception to this rule, since there might be deprecations in the "upto" version which an old compiler cannot possibly know about) - We want to keep source code reasonably clean (without things like #ifdef) These problem could instead be solved by the package manager, which would install only packages that the compiler supports. --> We need to be able to request the latest supported interface file for a given compiler version. - But it is even trickier than that. We also need to take any \interface_depends attributes into account! Additionally, we need to be able to exclude unstable/pre-release versions in the package manager (but it would also be nice to be able to incldue them).