TTT V1.2.0 generating errors under Arduino IDE 2.0.3. Also EncoderTool V3.1.0 are generating similar errors. Here is the compiler output.
`In file included from /home/bruce/Arduino/libraries/TeensyTimerTool/src/types.h:9,
from /home/bruce/Arduino/libraries/TeensyTimerTool/src/ITimerChannel.h:3,
from /home/bruce/Arduino/libraries/TeensyTimerTool/src/API/baseTimer.h:5,
from /home/bruce/Arduino/libraries/TeensyTimerTool/src/API/oneShotTimer.h:4,
from /home/bruce/Arduino/libraries/TeensyTimerTool/src/TeensyTimerTool.h:3,
from /home/bruce/Arduino/ELS_IDE2/ELS.h:15,
from /home/bruce/Arduino/ELS_IDE2/ELS_IDE2.ino:1:
/home/bruce/Arduino/libraries/TeensyTimerTool/src/inplace_function.h:10:13: error: redefinition of 'void panic()'
10 | inline void panic() // could be weak to be overriden by a user error handler?
| ^~~~~
In file included from /home/bruce/Arduino/libraries/EncoderTool/src/config.h:26,
from /home/bruce/Arduino/libraries/EncoderTool/src/EncoderBase.h:6,
from /home/bruce/Arduino/libraries/EncoderTool/src/Multiplexed/EncPlexBase.h:3,
from /home/bruce/Arduino/libraries/EncoderTool/src/Multiplexed/EncPlex74165.h:7,
from /home/bruce/Arduino/libraries/EncoderTool/src/EncoderTool.h:8,
from /home/bruce/Arduino/ELS_IDE2/ELS.h:14,
from /home/bruce/Arduino/ELS_IDE2/ELS_IDE2.ino:1:
/home/bruce/Arduino/libraries/EncoderTool/src/inplace_function.h:10:13: note: 'void panic()' previously defined here
10 | inline void panic() // could be weak to be overriden by a user error handler?
| ^~~~~
In file included from /home/bruce/Arduino/libraries/TeensyTimerTool/src/types.h:9,
from /home/bruce/Arduino/libraries/TeensyTimerTool/src/ITimerChannel.h:3,
from /home/bruce/Arduino/libraries/TeensyTimerTool/src/API/baseTimer.h:5,
from /home/bruce/Arduino/libraries/TeensyTimerTool/src/API/oneShotTimer.h:4,
from /home/bruce/Arduino/libraries/TeensyTimerTool/src/TeensyTimerTool.h:3,
from /home/bruce/Arduino/ELS_IDE2/ELS.h:15,
from /home/bruce/Arduino/ELS_IDE2/ELS_IDE2.ino:1:
/home/bruce/Arduino/libraries/TeensyTimerTool/src/inplace_function.h:100:33: error: redefinition of 'constexpr const size_t stdext::inplace_function_detail::InplaceFunctionDefaultCapacity'
100 | static constexpr size_t InplaceFunctionDefaultCapacity = 32;
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /home/bruce/Arduino/libraries/EncoderTool/src/config.h:26,
from /home/bruce/Arduino/libraries/EncoderTool/src/EncoderBase.h:6,
from /home/bruce/Arduino/libraries/EncoderTool/src/Multiplexed/EncPlexBase.h:3,
from /home/bruce/Arduino/libraries/EncoderTool/src/Multiplexed/EncPlex74165.h:7,
from /home/bruce/Arduino/libraries/EncoderTool/src/EncoderTool.h:8,
from /home/bruce/Arduino/ELS_IDE2/ELS.h:14,
from /home/bruce/Arduino/ELS_IDE2/ELS_IDE2.ino:1:
/home/bruce/Arduino/libraries/EncoderTool/src/inplace_function.h:100:33: note: 'constexpr const size_t stdext::inplace_function_detail::InplaceFunctionDefaultCapacity' previously defined here
100 | static constexpr size_t InplaceFunctionDefaultCapacity = 32;
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /home/bruce/Arduino/libraries/TeensyTimerTool/src/types.h:9,
from /home/bruce/Arduino/libraries/TeensyTimerTool/src/ITimerChannel.h:3,
from /home/bruce/Arduino/libraries/TeensyTimerTool/src/API/baseTimer.h:5,
from /home/bruce/Arduino/libraries/TeensyTimerTool/src/API/oneShotTimer.h:4,
from /home/bruce/Arduino/libraries/TeensyTimerTool/src/TeensyTimerTool.h:3,
from /home/bruce/Arduino/ELS_IDE2/ELS.h:15,
from /home/bruce/Arduino/ELS_IDE2/ELS_IDE2.ino:1:
/home/bruce/Arduino/libraries/TeensyTimerTool/src/inplace_function.h:107:15: error: redefinition of 'union stdext::inplace_function_detail::aligned_storage_helper'
107 | union aligned_storage_helper
| ^~~~~~~~~~~~~~~~~~~~~~
In file included from /home/bruce/Arduino/libraries/EncoderTool/src/config.h:26,
from /home/bruce/Arduino/libraries/EncoderTool/src/EncoderBase.h:6,
from /home/bruce/Arduino/libraries/EncoderTool/src/Multiplexed/EncPlexBase.h:3,
from /home/bruce/Arduino/libraries/EncoderTool/src/Multiplexed/EncPlex74165.h:7,
from /home/bruce/Arduino/libraries/EncoderTool/src/EncoderTool.h:8,
from /home/bruce/Arduino/ELS_IDE2/ELS.h:14,
from /home/bruce/Arduino/ELS_IDE2/ELS_IDE2.ino:1:
/home/bruce/Arduino/libraries/EncoderTool/src/inplace_function.h:107:15: note: previous definition of 'union stdext::inplace_function_detail::aligned_storage_helper'
107 | union aligned_storage_helper
| ^~~~~~~~~~~~~~~~~~~~~~
In file included from /home/bruce/Arduino/libraries/TeensyTimerTool/src/types.h:9,
from /home/bruce/Arduino/libraries/TeensyTimerTool/src/ITimerChannel.h:3,
from /home/bruce/Arduino/libraries/TeensyTimerTool/src/API/baseTimer.h:5,
from /home/bruce/Arduino/libraries/TeensyTimerTool/src/API/oneShotTimer.h:4,
from /home/bruce/Arduino/libraries/TeensyTimerTool/src/TeensyTimerTool.h:3,
from /home/bruce/Arduino/ELS_IDE2/ELS.h:15,
from /home/bruce/Arduino/ELS_IDE2/ELS_IDE2.ino:1:
/home/bruce/Arduino/libraries/TeensyTimerTool/src/inplace_function.h:131:16: error: redefinition of default argument for 'unsigned int Align'
131 | struct aligned_storage
| ^~~~~~~~~~~~~~~
In file included from /home/bruce/Arduino/libraries/EncoderTool/src/config.h:26,
from /home/bruce/Arduino/libraries/EncoderTool/src/EncoderBase.h:6,
from /home/bruce/Arduino/libraries/EncoderTool/src/Multiplexed/EncPlexBase.h:3,
from /home/bruce/Arduino/libraries/EncoderTool/src/Multiplexed/EncPlex74165.h:7,
from /home/bruce/Arduino/libraries/EncoderTool/src/EncoderTool.h:8,
from /home/bruce/Arduino/ELS_IDE2/ELS.h:14,
from /home/bruce/Arduino/ELS_IDE2/ELS_IDE2.ino:1:
/home/bruce/Arduino/libraries/EncoderTool/src/inplace_function.h:130:81: note: original definition appeared here
130 | template <size_t Cap, size_t Align = alignof(aligned_storage_helper)>
| ^
In file included from /home/bruce/Arduino/libraries/TeensyTimerTool/src/types.h:9,
from /home/bruce/Arduino/libraries/TeensyTimerTool/src/ITimerChannel.h:3,
from /home/bruce/Arduino/libraries/TeensyTimerTool/src/API/baseTimer.h:5,
from /home/bruce/Arduino/libraries/TeensyTimerTool/src/API/oneShotTimer.h:4,
from /home/bruce/Arduino/libraries/TeensyTimerTool/src/TeensyTimerTool.h:3,
from /home/bruce/Arduino/ELS_IDE2/ELS.h:15,
from /home/bruce/Arduino/ELS_IDE2/ELS_IDE2.ino:1:
/home/bruce/Arduino/libraries/TeensyTimerTool/src/inplace_function.h:149:16: error: redefinition of 'struct stdext::inplace_function_detail::wrapper'
149 | struct wrapper
| ^~~~~~~
In file included from /home/bruce/Arduino/libraries/EncoderTool/src/config.h:26,
from /home/bruce/Arduino/libraries/EncoderTool/src/EncoderBase.h:6,
from /home/bruce/Arduino/libraries/EncoderTool/src/Multiplexed/EncPlexBase.h:3,
from /home/bruce/Arduino/libraries/EncoderTool/src/Multiplexed/EncPlex74165.h:7,
from /home/bruce/Arduino/libraries/EncoderTool/src/EncoderTool.h:8,
from /home/bruce/Arduino/ELS_IDE2/ELS.h:14,
from /home/bruce/Arduino/ELS_IDE2/ELS_IDE2.ino:1:
/home/bruce/Arduino/libraries/EncoderTool/src/inplace_function.h:149:16: note: previous definition of 'struct stdext::inplace_function_detail::wrapper'
149 | struct wrapper
| ^~~~~~~
In file included from /home/bruce/Arduino/libraries/TeensyTimerTool/src/types.h:9,
from /home/bruce/Arduino/libraries/TeensyTimerTool/src/ITimerChannel.h:3,
from /home/bruce/Arduino/libraries/TeensyTimerTool/src/API/baseTimer.h:5,
from /home/bruce/Arduino/libraries/TeensyTimerTool/src/API/oneShotTimer.h:4,
from /home/bruce/Arduino/libraries/TeensyTimerTool/src/TeensyTimerTool.h:3,
from /home/bruce/Arduino/ELS_IDE2/ELS.h:15,
from /home/bruce/Arduino/ELS_IDE2/ELS_IDE2.ino:1:
/home/bruce/Arduino/libraries/TeensyTimerTool/src/inplace_function.h:155:16: error: redefinition of 'struct stdext::inplace_function_detail::vtable<R, Args>'
155 | struct vtable
| ^~~~~~
In file included from /home/bruce/Arduino/libraries/EncoderTool/src/config.h:26,
from /home/bruce/Arduino/libraries/EncoderTool/src/EncoderBase.h:6,
from /home/bruce/Arduino/libraries/EncoderTool/src/Multiplexed/EncPlexBase.h:3,
from /home/bruce/Arduino/libraries/EncoderTool/src/Multiplexed/EncPlex74165.h:7,
from /home/bruce/Arduino/libraries/EncoderTool/src/EncoderTool.h:8,
from /home/bruce/Arduino/ELS_IDE2/ELS.h:14,
from /home/bruce/Arduino/ELS_IDE2/ELS_IDE2.ino:1:
/home/bruce/Arduino/libraries/EncoderTool/src/inplace_function.h:155:16: note: previous definition of 'struct stdext::inplace_function_detail::vtable<R, Args>'
155 | struct vtable
| ^~~~~~
In file included from /home/bruce/Arduino/libraries/TeensyTimerTool/src/types.h:9,
from /home/bruce/Arduino/libraries/TeensyTimerTool/src/ITimerChannel.h:3,
from /home/bruce/Arduino/libraries/TeensyTimerTool/src/API/baseTimer.h:5,
from /home/bruce/Arduino/libraries/TeensyTimerTool/src/API/oneShotTimer.h:4,
from /home/bruce/Arduino/libraries/TeensyTimerTool/src/TeensyTimerTool.h:3,
from /home/bruce/Arduino/ELS_IDE2/ELS.h:15,
from /home/bruce/Arduino/ELS_IDE2/ELS_IDE2.ino:1:
/home/bruce/Arduino/libraries/TeensyTimerTool/src/inplace_function.h:202:9: error: redefinition of 'template<class R, class ... Args> stdext::inplace_function_detail::vtable<R, Args ...> stdext::inplace_function_detail::empty_vtable'
202 | empty_vtable{};
| ^~~~~~~~~~~~
In file included from /home/bruce/Arduino/libraries/EncoderTool/src/config.h:26,
from /home/bruce/Arduino/libraries/EncoderTool/src/EncoderBase.h:6,
from /home/bruce/Arduino/libraries/EncoderTool/src/Multiplexed/EncPlexBase.h:3,
from /home/bruce/Arduino/libraries/EncoderTool/src/Multiplexed/EncPlex74165.h:7,
from /home/bruce/Arduino/libraries/EncoderTool/src/EncoderTool.h:8,
from /home/bruce/Arduino/ELS_IDE2/ELS.h:14,
from /home/bruce/Arduino/ELS_IDE2/ELS_IDE2.ino:1:
/home/bruce/Arduino/libraries/EncoderTool/src/inplace_function.h:202:9: note: 'template<class R, class ... Args> stdext::inplace_function_detail::vtable<R, Args ...> stdext::inplace_function_detail::empty_vtable<R, Args ...>' previously declared here
202 | empty_vtable{};
| ^~~~~~~~~~~~
In file included from /home/bruce/Arduino/libraries/TeensyTimerTool/src/types.h:9,
from /home/bruce/Arduino/libraries/TeensyTimerTool/src/ITimerChannel.h:3,
from /home/bruce/Arduino/libraries/TeensyTimerTool/src/API/baseTimer.h:5,
from /home/bruce/Arduino/libraries/TeensyTimerTool/src/API/oneShotTimer.h:4,
from /home/bruce/Arduino/libraries/TeensyTimerTool/src/TeensyTimerTool.h:3,
from /home/bruce/Arduino/ELS_IDE2/ELS.h:15,
from /home/bruce/Arduino/ELS_IDE2/ELS_IDE2.ino:1:
/home/bruce/Arduino/libraries/TeensyTimerTool/src/inplace_function.h:205:8: error: redefinition of 'struct stdext::inplace_function_detail::is_valid_inplace_dst<DstCap, DstAlign, SrcCap, SrcAlign>'
205 | struct is_valid_inplace_dst : std::true_type
| ^~~~~~~~~~~~~~~~~~~~
In file included from /home/bruce/Arduino/libraries/EncoderTool/src/config.h:26,
from /home/bruce/Arduino/libraries/EncoderTool/src/EncoderBase.h:6,
from /home/bruce/Arduino/libraries/EncoderTool/src/Multiplexed/EncPlexBase.h:3,
from /home/bruce/Arduino/libraries/EncoderTool/src/Multiplexed/EncPlex74165.h:7,
from /home/bruce/Arduino/libraries/EncoderTool/src/EncoderTool.h:8,
from /home/bruce/Arduino/ELS_IDE2/ELS.h:14,
from /home/bruce/Arduino/ELS_IDE2/ELS_IDE2.ino:1:
/home/bruce/Arduino/libraries/EncoderTool/src/inplace_function.h:205:8: note: previous definition of 'struct stdext::inplace_function_detail::is_valid_inplace_dst<DstCap, DstAlign, SrcCap, SrcAlign>'
205 | struct is_valid_inplace_dst : std::true_type
| ^~~~~~~~~~~~~~~~~~~~
In file included from /home/bruce/Arduino/libraries/TeensyTimerTool/src/types.h:9,
from /home/bruce/Arduino/libraries/TeensyTimerTool/src/ITimerChannel.h:3,
from /home/bruce/Arduino/libraries/TeensyTimerTool/src/API/baseTimer.h:5,
from /home/bruce/Arduino/libraries/TeensyTimerTool/src/API/oneShotTimer.h:4,
from /home/bruce/Arduino/libraries/TeensyTimerTool/src/TeensyTimerTool.h:3,
from /home/bruce/Arduino/ELS_IDE2/ELS.h:15,
from /home/bruce/Arduino/ELS_IDE2/ELS_IDE2.ino:1:
/home/bruce/Arduino/libraries/TeensyTimerTool/src/inplace_function.h:220:8: error: redefinition of 'struct stdext::inplace_function_detail::is_invocable_r_impl< , R, F, Args>'
220 | struct is_invocable_r_impl : std::false_type
| ^~~~~~~~~~~~~~~~~~~
In file included from /home/bruce/Arduino/libraries/EncoderTool/src/config.h:26,
from /home/bruce/Arduino/libraries/EncoderTool/src/EncoderBase.h:6,
from /home/bruce/Arduino/libraries/EncoderTool/src/Multiplexed/EncPlexBase.h:3,
from /home/bruce/Arduino/libraries/EncoderTool/src/Multiplexed/EncPlex74165.h:7,
from /home/bruce/Arduino/libraries/EncoderTool/src/EncoderTool.h:8,
from /home/bruce/Arduino/ELS_IDE2/ELS.h:14,
from /home/bruce/Arduino/ELS_IDE2/ELS_IDE2.ino:1:
/home/bruce/Arduino/libraries/EncoderTool/src/inplace_function.h:220:8: note: previous definition of 'struct stdext::inplace_function_detail::is_invocable_r_impl< , R, F, Args>'
220 | struct is_invocable_r_impl : std::false_type
| ^~~~~~~~~~~~~~~~~~~
In file included from /home/bruce/Arduino/libraries/TeensyTimerTool/src/types.h:9,
from /home/bruce/Arduino/libraries/TeensyTimerTool/src/ITimerChannel.h:3,
from /home/bruce/Arduino/libraries/TeensyTimerTool/src/API/baseTimer.h:5,
from /home/bruce/Arduino/libraries/TeensyTimerTool/src/API/oneShotTimer.h:4,
from /home/bruce/Arduino/libraries/TeensyTimerTool/src/TeensyTimerTool.h:3,
from /home/bruce/Arduino/ELS_IDE2/ELS.h:15,
from /home/bruce/Arduino/ELS_IDE2/ELS_IDE2.ino:1:
/home/bruce/Arduino/libraries/TeensyTimerTool/src/inplace_function.h:225:8: error: redefinition of 'struct stdext::inplace_function_detail::is_invocable_r_impl<decltype ((declval()((declval)()...), void())), void, F, Args ...>'
225 | struct is_invocable_r_impl<
| ^~~~~~~~~~~~~~~~~~~~
226 | decltype(std::declval()(std::declval()...), void()),
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
227 | void,
| ~~~~~
228 | F,
| ~~
229 | Args...> : std::true_type
| ~~~~~~~~
In file included from /home/bruce/Arduino/libraries/EncoderTool/src/config.h:26,
from /home/bruce/Arduino/libraries/EncoderTool/src/EncoderBase.h:6,
from /home/bruce/Arduino/libraries/EncoderTool/src/Multiplexed/EncPlexBase.h:3,
from /home/bruce/Arduino/libraries/EncoderTool/src/Multiplexed/EncPlex74165.h:7,
from /home/bruce/Arduino/libraries/EncoderTool/src/EncoderTool.h:8,
from /home/bruce/Arduino/ELS_IDE2/ELS.h:14,
from /home/bruce/Arduino/ELS_IDE2/ELS_IDE2.ino:1:
/home/bruce/Arduino/libraries/EncoderTool/src/inplace_function.h:225:8: note: previous definition of 'struct stdext::inplace_function_detail::is_invocable_r_impl<decltype ((declval()((declval)()...), void())), void, F, Args ...>'
225 | struct is_invocable_r_impl<
| ^~~~~~~~~~~~~~~~~~~~
226 | decltype(std::declval()(std::declval()...), void()),
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
227 | void,
| ~~~~~
228 | F,
| ~~
229 | Args...> : std::true_type
| ~~~~~~~~
In file included from /home/bruce/Arduino/libraries/TeensyTimerTool/src/types.h:9,
from /home/bruce/Arduino/libraries/TeensyTimerTool/src/ITimerChannel.h:3,
from /home/bruce/Arduino/libraries/TeensyTimerTool/src/API/baseTimer.h:5,
from /home/bruce/Arduino/libraries/TeensyTimerTool/src/API/oneShotTimer.h:4,
from /home/bruce/Arduino/libraries/TeensyTimerTool/src/TeensyTimerTool.h:3,
from /home/bruce/Arduino/ELS_IDE2/ELS.h:15,
from /home/bruce/Arduino/ELS_IDE2/ELS_IDE2.ino:1:
/home/bruce/Arduino/libraries/TeensyTimerTool/src/inplace_function.h:234:8: error: redefinition of 'struct stdext::inplace_function_detail::is_invocable_r_impl<decltype ((declval()((declval)()...), void())), const void, F, Args ...>'
234 | struct is_invocable_r_impl<
| ^~~~~~~~~~~~~~~~~~~~
235 | decltype(std::declval()(std::declval()...), void()),
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
236 | const void,
| ~~~~~~~~~~~
237 | F,
| ~~
238 | Args...> : std::true_type
| ~~~~~~~~
In file included from /home/bruce/Arduino/libraries/EncoderTool/src/config.h:26,
from /home/bruce/Arduino/libraries/EncoderTool/src/EncoderBase.h:6,
from /home/bruce/Arduino/libraries/EncoderTool/src/Multiplexed/EncPlexBase.h:3,
from /home/bruce/Arduino/libraries/EncoderTool/src/Multiplexed/EncPlex74165.h:7,
from /home/bruce/Arduino/libraries/EncoderTool/src/EncoderTool.h:8,
from /home/bruce/Arduino/ELS_IDE2/ELS.h:14,
from /home/bruce/Arduino/ELS_IDE2/ELS_IDE2.ino:1:
/home/bruce/Arduino/libraries/EncoderTool/src/inplace_function.h:234:8: note: previous definition of 'struct stdext::inplace_function_detail::is_invocable_r_impl<decltype ((declval()((declval)()...), void())), const void, F, Args ...>'
234 | struct is_invocable_r_impl<
| ^~~~~~~~~~~~~~~~~~~~
235 | decltype(std::declval()(std::declval()...), void()),
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
236 | const void,
| ~~~~~~~~~~~
237 | F,
| ~~
238 | Args...> : std::true_type
| ~~~~~~~~
In file included from /home/bruce/Arduino/libraries/TeensyTimerTool/src/types.h:9,
from /home/bruce/Arduino/libraries/TeensyTimerTool/src/ITimerChannel.h:3,
from /home/bruce/Arduino/libraries/TeensyTimerTool/src/API/baseTimer.h:5,
from /home/bruce/Arduino/libraries/TeensyTimerTool/src/API/oneShotTimer.h:4,
from /home/bruce/Arduino/libraries/TeensyTimerTool/src/TeensyTimerTool.h:3,
from /home/bruce/Arduino/ELS_IDE2/ELS.h:15,
from /home/bruce/Arduino/ELS_IDE2/ELS_IDE2.ino:1:
/home/bruce/Arduino/libraries/TeensyTimerTool/src/inplace_function.h:243:8: error: redefinition of 'struct stdext::inplace_function_detail::is_invocable_r_impl<decltype (accept(declval()((declval)()...))), R, F, Args ...>'
243 | struct is_invocable_r_impl<
| ^~~~~~~~~~~~~~~~~~~~
244 | decltype(accept(std::declval()(std::declval()...))),
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
245 | R,
| ~~
246 | F,
| ~~
247 | Args...> : std::true_type
| ~~~~~~~~
In file included from /home/bruce/Arduino/libraries/EncoderTool/src/config.h:26,
from /home/bruce/Arduino/libraries/EncoderTool/src/EncoderBase.h:6,
from /home/bruce/Arduino/libraries/EncoderTool/src/Multiplexed/EncPlexBase.h:3,
from /home/bruce/Arduino/libraries/EncoderTool/src/Multiplexed/EncPlex74165.h:7,
from /home/bruce/Arduino/libraries/EncoderTool/src/EncoderTool.h:8,
from /home/bruce/Arduino/ELS_IDE2/ELS.h:14,
from /home/bruce/Arduino/ELS_IDE2/ELS_IDE2.ino:1:
/home/bruce/Arduino/libraries/EncoderTool/src/inplace_function.h:243:8: note: previous definition of 'struct stdext::inplace_function_detail::is_invocable_r_impl<decltype (accept(declval()((declval)()...))), R, F, Args ...>'
243 | struct is_invocable_r_impl<
| ^~~~~~~~~~~~~~~~~~~~
244 | decltype(accept(std::declval()(std::declval()...))),
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
245 | R,
| ~~
246 | F,
| ~~
247 | Args...> : std::true_type
| ~~~~~~~~
In file included from /home/bruce/Arduino/libraries/TeensyTimerTool/src/types.h:9,
from /home/bruce/Arduino/libraries/TeensyTimerTool/src/ITimerChannel.h:3,
from /home/bruce/Arduino/libraries/TeensyTimerTool/src/API/baseTimer.h:5,
from /home/bruce/Arduino/libraries/TeensyTimerTool/src/API/oneShotTimer.h:4,
from /home/bruce/Arduino/libraries/TeensyTimerTool/src/TeensyTimerTool.h:3,
from /home/bruce/Arduino/ELS_IDE2/ELS.h:15,
from /home/bruce/Arduino/ELS_IDE2/ELS_IDE2.ino:1:
/home/bruce/Arduino/libraries/TeensyTimerTool/src/inplace_function.h:263:7: error: redefinition of default argument for 'unsigned int Capacity'
263 | class inplace_function; // unspecified
| ^~~~~~~~~~~~~~~~
In file included from /home/bruce/Arduino/libraries/EncoderTool/src/config.h:26,
from /home/bruce/Arduino/libraries/EncoderTool/src/EncoderBase.h:6,
from /home/bruce/Arduino/libraries/EncoderTool/src/Multiplexed/EncPlexBase.h:3,
from /home/bruce/Arduino/libraries/EncoderTool/src/Multiplexed/EncPlex74165.h:7,
from /home/bruce/Arduino/libraries/EncoderTool/src/EncoderTool.h:8,
from /home/bruce/Arduino/ELS_IDE2/ELS.h:14,
from /home/bruce/Arduino/ELS_IDE2/ELS_IDE2.ino:1:
/home/bruce/Arduino/libraries/EncoderTool/src/inplace_function.h:261:49: note: original definition appeared here
261 | size_t Capacity = inplace_function_detail::InplaceFunctionDefaultCapacity,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /home/bruce/Arduino/libraries/TeensyTimerTool/src/types.h:9,
from /home/bruce/Arduino/libraries/TeensyTimerTool/src/ITimerChannel.h:3,
from /home/bruce/Arduino/libraries/TeensyTimerTool/src/API/baseTimer.h:5,
from /home/bruce/Arduino/libraries/TeensyTimerTool/src/API/oneShotTimer.h:4,
from /home/bruce/Arduino/libraries/TeensyTimerTool/src/TeensyTimerTool.h:3,
from /home/bruce/Arduino/ELS_IDE2/ELS.h:15,
from /home/bruce/Arduino/ELS_IDE2/ELS_IDE2.ino:1:
/home/bruce/Arduino/libraries/TeensyTimerTool/src/inplace_function.h:268:12: error: redefinition of 'struct stdext::inplace_function_detail::is_inplace_function< >'
268 | struct is_inplace_function : std::false_type
| ^~~~~~~~~~~~~~~~~~~
In file included from /home/bruce/Arduino/libraries/EncoderTool/src/config.h:26,
from /home/bruce/Arduino/libraries/EncoderTool/src/EncoderBase.h:6,
from /home/bruce/Arduino/libraries/EncoderTool/src/Multiplexed/EncPlexBase.h:3,
from /home/bruce/Arduino/libraries/EncoderTool/src/Multiplexed/EncPlex74165.h:7,
from /home/bruce/Arduino/libraries/EncoderTool/src/EncoderTool.h:8,
from /home/bruce/Arduino/ELS_IDE2/ELS.h:14,
from /home/bruce/Arduino/ELS_IDE2/ELS_IDE2.ino:1:
/home/bruce/Arduino/libraries/EncoderTool/src/inplace_function.h:268:12: note: previous definition of 'struct stdext::inplace_function_detail::is_inplace_function< >'
268 | struct is_inplace_function : std::false_type
| ^~~~~~~~~~~~~~~~~~~
In file included from /home/bruce/Arduino/libraries/TeensyTimerTool/src/types.h:9,
from /home/bruce/Arduino/libraries/TeensyTimerTool/src/ITimerChannel.h:3,
from /home/bruce/Arduino/libraries/TeensyTimerTool/src/API/baseTimer.h:5,
from /home/bruce/Arduino/libraries/TeensyTimerTool/src/API/oneShotTimer.h:4,
from /home/bruce/Arduino/libraries/TeensyTimerTool/src/TeensyTimerTool.h:3,
from /home/bruce/Arduino/ELS_IDE2/ELS.h:15,
from /home/bruce/Arduino/ELS_IDE2/ELS_IDE2.ino:1:
/home/bruce/Arduino/libraries/TeensyTimerTool/src/inplace_function.h:272:12: error: redefinition of 'struct stdext::inplace_function_detail::is_inplace_function<stdext::inplace_function<Sig, Cap, Align> >'
272 | struct is_inplace_function<inplace_function<Sig, Cap, Align>> : std::true_type
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /home/bruce/Arduino/libraries/EncoderTool/src/config.h:26,
from /home/bruce/Arduino/libraries/EncoderTool/src/EncoderBase.h:6,
from /home/bruce/Arduino/libraries/EncoderTool/src/Multiplexed/EncPlexBase.h:3,
from /home/bruce/Arduino/libraries/EncoderTool/src/Multiplexed/EncPlex74165.h:7,
from /home/bruce/Arduino/libraries/EncoderTool/src/EncoderTool.h:8,
from /home/bruce/Arduino/ELS_IDE2/ELS.h:14,
from /home/bruce/Arduino/ELS_IDE2/ELS_IDE2.ino:1:
/home/bruce/Arduino/libraries/EncoderTool/src/inplace_function.h:272:12: note: previous definition of 'struct stdext::inplace_function_detail::is_inplace_function<stdext::inplace_function<Sig, Cap, Align> >'
272 | struct is_inplace_function<inplace_function<Sig, Cap, Align>> : std::true_type
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /home/bruce/Arduino/libraries/TeensyTimerTool/src/types.h:9,
from /home/bruce/Arduino/libraries/TeensyTimerTool/src/ITimerChannel.h:3,
from /home/bruce/Arduino/libraries/TeensyTimerTool/src/API/baseTimer.h:5,
from /home/bruce/Arduino/libraries/TeensyTimerTool/src/API/oneShotTimer.h:4,
from /home/bruce/Arduino/libraries/TeensyTimerTool/src/TeensyTimerTool.h:3,
from /home/bruce/Arduino/ELS_IDE2/ELS.h:15,
from /home/bruce/Arduino/ELS_IDE2/ELS_IDE2.ino:1:
/home/bruce/Arduino/libraries/TeensyTimerTool/src/inplace_function.h:282:7: error: redefinition of 'class stdext::inplace_function<R(Args ...), Capacity, Alignment>'
282 | class inplace_function<R(Args...), Capacity, Alignment>
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /home/bruce/Arduino/libraries/EncoderTool/src/config.h:26,
from /home/bruce/Arduino/libraries/EncoderTool/src/EncoderBase.h:6,
from /home/bruce/Arduino/libraries/EncoderTool/src/Multiplexed/EncPlexBase.h:3,
from /home/bruce/Arduino/libraries/EncoderTool/src/Multiplexed/EncPlex74165.h:7,
from /home/bruce/Arduino/libraries/EncoderTool/src/EncoderTool.h:8,
from /home/bruce/Arduino/ELS_IDE2/ELS.h:14,
from /home/bruce/Arduino/ELS_IDE2/ELS_IDE2.ino:1:
/home/bruce/Arduino/libraries/EncoderTool/src/inplace_function.h:282:7: note: previous definition of 'class stdext::inplace_function<R(Args ...), Capacity, Alignment>'
282 | class inplace_function<R(Args...), Capacity, Alignment>
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
exit status 1
Compilation error: exit status 1`
I do have a customer that I need to support. I am setting up a github project and wish for the customer to use IDE2, but the project won't compile now. It was 100% functional under IDE1.8.19 and the countertype branch.