tokio-async-utils 0.1.3

Async utils such as TaskHandle type that aborts task on handle drop.
Documentation
{
  description = "Rust project flake";
  inputs = {
    nixpkgs.url = "nixpkgs/nixpkgs-unstable";
    flake-parts.url = "github:hercules-ci/flake-parts";
    fenix = {
      url = "github:nix-community/fenix";
      inputs.nixpkgs.follows = "nixpkgs";
    };
  };

  outputs = { flake-parts, ... }@inputs:
    flake-parts.lib.mkFlake { inherit inputs; } {
      imports = [
        (_: {
          perSystem = { config, self', inputs', pkgs, system, ... }:
            let
              rustToolchain =
                inputs.fenix.packages.${system}.complete.toolchain;
              overlays = [
                inputs.fenix.overlays.default
                (final: prev: {
                  rustToolchain = rustToolchain;
                  buildRustPackage = (prev.makeRustPlatform {
                    cargo = rustToolchain;
                    rustc = rustToolchain;
                  }).buildRustPackage;
                })
              ];
            in {
              _module.args = {
                pkgs = import inputs.nixpkgs {
                  inherit system overlays;
                  config.allowUnfree = true;
                };
              };
            };
        })
      ];

      systems = [ "x86_64-linux" ];
      perSystem = { config, system, pkgs, ... }: {
        devShells.default = pkgs.mkShell {
          packages = with pkgs; [
            rustToolchain
            cargo-nextest
            cargo-watch
            just
          ];
          shellHook = ''
            export PKG_CONFIG_PATH="${pkgs.openssl.dev}/lib/pkgconfig"
          '';
        };

      };
    };
}