ggstd 0.1.0

Partial implementation of Go standard library
Documentation
name: Rust

on:
  push:
    branches: [ "main", "dev" ]
  pull_request:
    branches: [ "main" ]

env:
  CARGO_TERM_COLOR: always

jobs:
  test-on-min-supported-version:
    runs-on: ubuntu-latest
    steps:
    - uses: actions/checkout@v3
    - run: rustup update 1.70.0 --no-self-update && rustup default 1.70.0
    - { name: "cargo build",          run: "cargo build --verbose" }
    - { name: "cargo test",           run: "cargo test --verbose" }
    - { name: "cargo test --release", run: "cargo test --verbose --release" }

  test-on-linux:
    runs-on: ubuntu-latest
    steps:
    - uses: actions/checkout@v3
    - { name: "cargo build",          run: "cargo build --verbose" }
    - { name: "cargo test",           run: "cargo test --verbose" }
    - { name: "cargo test --release", run: "cargo test --verbose --release" }
    - { name: "cargo clippy",         run: "cargo clippy" }
    - { name: "example user",         run: "cargo run --example user" }

  crosscompile-for-linux-32bit:
    runs-on: ubuntu-latest
    steps:
    - uses: actions/checkout@v3
    - { name: "print target list",    run: "rustc --print target-list" }
    - { name: "add 32bit target",     run: "rustup target add i686-unknown-linux-gnu" }
    - { name: "add gcc-multilib",     run: "sudo apt install -y gcc-multilib" }
    - { name: "cargo build",          run: "cargo build  --target i686-unknown-linux-gnu --verbose" }
    - { name: "cargo test",           run: "cargo test   --target i686-unknown-linux-gnu --verbose" }
    - { name: "cargo test --release", run: "cargo test   --target i686-unknown-linux-gnu --verbose --release" }
    - { name: "cargo clippy",         run: "cargo clippy --target i686-unknown-linux-gnu" }

  crosscompile-for-windows:
    runs-on: ubuntu-latest
    steps:
    - uses: actions/checkout@v3
    - { name: "add x86_64-pc-windows-gnu target", run: "rustup target add x86_64-pc-windows-gnu" }
    - { name: "add i686-pc-windows-gnu target",   run: "rustup target add i686-pc-windows-gnu" }
    - { name: "cross-compile for win-x86_64",     run: "cargo build --target x86_64-pc-windows-gnu" }
    - { name: "cross-compile for win-i686",       run: "cargo build --target i686-pc-windows-gnu" }

  test-on-windows:
    runs-on: windows-latest
    steps:
    - uses: actions/checkout@v3
    - run: rustup update stable --no-self-update && rustup default stable
    - { name: "cargo build",          run: "cargo build --verbose" }
    - { name: "cargo test",           run: "cargo test --verbose" }
    - { name: "cargo test --release", run: "cargo test --verbose --release" }
    - { name: "cargo clippy",         run: "cargo clippy" }
    - { name: "example user",         run: "cargo run --example user" }
    - { name: "add 32bit target",     run: "rustup target add i686-pc-windows-msvc" }
    - { name: "cargo clippy 32bit",   run: "cargo clippy --target i686-pc-windows-msvc" }