Skip to content

Releases: Seelengrab/RequiredInterfaces.jl

v0.1.6

09 May 10:19
bf4ed5c
Compare
Choose a tag to compare

New features:

  • The MIME string macro commonly used in Base.show signatures is now supported. E.g. @required MyInterface Base.show(::IO, ::MIME"text/plain", ::MyInterface) works as expected now, and designates that types implementing MyInterface must implement a show method for MIME"text/plain".

Bug fixes:

  • None

Full Changelog: v0.1.5...v0.1.6

v0.1.5

19 Feb 21:39
14dc3ab
Compare
Choose a tag to compare

New features:

  • None

Bug fixes:

  • Previously, trying to require a parametric type that wasn't the interface type in a function errored
  • Previously, adding more distinct specializations to a function that already fulfilled the interface caused an error, falsely claiming that the interface wasn't fully implemented. Now, as long as a fully-formed fallback definition is found, these will not cause an error anymore.

Full Changelog: v0.1.4...v0.1.5

v0.1.4

03 Oct 09:24
6644a95
Compare
Choose a tag to compare

New Features:

  • getInterface now lazily computes its result
  • Function signatures in @required can now use Type{MyInterface} to signal that subtypes of MyInterface should accept their own type in that position (#13)
  • @required now supports callable structs (#11)

Bug fixes:

  • check_interface_implemented can now correctly check for inherited interfaces (#6)
  • Equality & hashing of interfaces now respects a different number of required methods (#12)
  • Equality testing of interfaces now correctly works on all supported versions
  • @required now correctly takes in function requirements with qualified names such as Base.size or Base.getindex

Full Changelog: v0.1.3...v0.1.4

v0.1.3

11 Jul 11:28
f159df3
Compare
Choose a tag to compare
  • Fix an issue with overwriting method definitions -- #2
  • Better support for having interfaces spanning multiple functions -- #1
  • Add support for Julia versions 1.6, 1.7, 1.8 -- #3

Full Changelog: v0.1.2...v0.1.3

v0.1.2

07 Jul 14:21
af7bbcf
Compare
Choose a tag to compare

This is the initial release for RequiredInterfaces.jl 🎉