There is a newer version of the record available.

Published November 20, 2025 | Version v0.15.0
Software Open

Spade 0.15.0

  • 1. Linköping University

Description

A hardware description language inspired by modern software languages.

Changes in 0.15.0:

Added

Fixed

  • !469 (merged) Use N == 0 as base case for zip
  • !470 (merged) add_changelog now creates changelogs if it does not exist
  • !473 (merged) inout is now forbidden inside structs, enums and wires
  • !474 (merged) Fixed handling and codegen of inv clock
  • !483 (merged) Fix panic when unsafe is used as a keyword
  • !490 (merged) Fix a regression in typeinference with fully specified integer literals
  • !491 (merged) Fix panic when defining a closure in an entity that takes a bare generic T
  • !495 (merged) Fix panic when using generic non-types as tuple elements
  • !499 (merged) Lift restriction on fns on port types
  • !507 (merged) Fix a panic when error types are used in match statements
  • !510 (merged) Actually check the latency of unit arguments and pipelines
  • !517 (merged) Set on ports with both inv and non inv components now generates correct code
  • !395 (merged) Improve type errors in nested generics
  • !395 (merged) Improve error reporting for constraint errors
  • !395 (merged) Fix a panic when there are non-fatal AST errors that cause codegen problems
  • !395 (merged) Stop emitting errors for missing methods on unknown types

Changed

  • !476 (merged) Breaking change make set handle all port types, not only wires, which now need &
  • !477 (merged) Every std::MOD::unsafe::* method is now unsafe and lives in std::MOD
  • !477 (merged) std::conv::unsafe::unsafe_cast is now called std::conv::transmute and also is marked unsafe
  • !477 (merged) The safeness of trait definition and implementation must match
  • !477 (merged) Lambdas reset the safeness context
  • !479 (merged) Enum and struct initializers now can be used in const scenarios
  • !482 (merged) Save compiler state as bincode instead of RON. This requires updating swim to the latest version
  • !496 (merged) Improved the error messages when referring to unavailable pipeline variables
  • !501 (merged) Allow _ in pipeline inst(_)
  • !501 (merged) Improve error messages for incorrect or missing inst
  • !515 (merged) Breaking change Lambdas now use vertical bars to enclose parameters.
  • !515 (merged) Lambdas now may have a single expression body.
  • !518 (merged) Breaking change Renamed bit type to tri and bit_to_bool to tri_to_bool.

 

 

 

Files

spade-v0.15.0.zip

Files (2.3 MB)

Name Size Download all
md5:2a92ca4f7ecc16d9c906dbc5ba458488
2.3 MB Preview Download

Additional details

Software

Repository URL
https://gitlab.com/spade-lang/spade
Programming language
Rust
Development Status
Active