Jextract deduplicates declarations using cursor positions. This works in most cases, but there are cases where this doesn't work, such as when declaration are introduced by a macro:
#define FIELDS \
int x; \
int y;
struct PointA {
FIELDS
};
struct PointB {
FIELDS
};
#define FIELDS \
int x; \
int y;
struct PointA {
FIELDS
};
struct PointB {
FIELDS
};