Add trybuild tests for the proc macros to ensure the correct error messages are emitted. These tests cover the cases where the build fails, while existing doctests cover the cases where the build succeeds. GitHub actions has also been added to run the macro tests.
Most of the export_name attributes have been replaced with no_mangle, because export_name causes the compiler to not emit a name conflict error when there are two functions using the same proc macro, at least until link time. no_mangle leads to error messages that are easier to test.
Add
trybuild
tests for the proc macros to ensure the correct error messages are emitted. These tests cover the cases where the build fails, while existing doctests cover the cases where the build succeeds. GitHub actions has also been added to run the macro tests.Most of the
export_name
attributes have been replaced withno_mangle
, becauseexport_name
causes the compiler to not emit a name conflict error when there are two functions using the same proc macro, at least until link time.no_mangle
leads to error messages that are easier to test.