ino's preprocessor places function prototypes at the very top of the file, right below the includes. This means that any function that returns a custom type (struct, typedef, etc.) defined lower in the file will fail to compile due to the type being undefined at the prototype declaration. It also pays no attention to whether the prototypes have been manually added, resulting in multiple declarations in cases when they have been.
ino's preprocessor places function prototypes at the very top of the file, right below the includes. This means that any function that returns a custom type (struct, typedef, etc.) defined lower in the file will fail to compile due to the type being undefined at the prototype declaration. It also pays no attention to whether the prototypes have been manually added, resulting in multiple declarations in cases when they have been.