// @dart = 2.6
import "package:ffi/ffi.dart";
import 'dart:ffi';

class Coordinate extends Struct {
  @Double()
  double x;
  @Double()
  double y;
  Pointer<Coordinate> next;
  factory Coordinate.allocate(double x, double y, Pointer<Coordinate> next) {}
}

main() {}
