diff --git a/CHANGELOG.md b/CHANGELOG.md index fc72ffc..3801169 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,10 @@ and this project adheres to [Semantic Versioning](http://semver.org/). ## [Unreleased] +## [v0.7.1] -2023-10-21 +### Fixed +- Fixed the bug that constructors cannot be called + ## [v0.7.0] -2023-8-27 ### Added - `class` macro can now generate multiple constructors @@ -117,7 +121,8 @@ and this project adheres to [Semantic Versioning](http://semver.org/). ## v0.1.0 - 2021-8-1 - 🎉 First release! -[Unreleased]: https://github.com/Glasses-Neo/OOlib/compare/0.7.0...HEAD +[Unreleased]: https://github.com/Glasses-Neo/OOlib/compare/0.7.1...HEAD +[v0.7.1]: https://github.com/Glasses-Neo/OOlib/compare/0.7.0...0.7.1 [v0.7.0]: https://github.com/Glasses-Neo/OOlib/compare/0.6.1...0.7.0 [v0.6.1]: https://github.com/Glasses-Neo/OOlib/compare/0.6.0...0.6.1 [v0.6.0]: https://github.com/Glasses-Neo/OOlib/compare/0.5.0...0.6.0 diff --git a/oolib.nimble b/oolib.nimble index 712c97b..f595df5 100644 --- a/oolib.nimble +++ b/oolib.nimble @@ -1,6 +1,6 @@ # Package -version = "0.7.0" +version = "0.7.1" author = "Glasses-Neo" description = "A nimble package for object-oriented programming" license = "WTFPL" diff --git a/src/oolib/classes/distinct_class.nim b/src/oolib/classes/distinct_class.nim index 7241744..e725f41 100644 --- a/src/oolib/classes/distinct_class.nim +++ b/src/oolib/classes/distinct_class.nim @@ -1,4 +1,5 @@ import + std/algorithm, std/macros, ./class_util @@ -91,5 +92,5 @@ proc defineDistinctClass*( result = defineType(signature) defineConstructors(signature) - for constructor in signature.constructors: - result.add(constructor) + for constructor in signature.constructors.reversed: + result.insert 1, constructor diff --git a/src/oolib/classes/implement_class.nim b/src/oolib/classes/implement_class.nim index 9229a6c..f3ffed8 100644 --- a/src/oolib/classes/implement_class.nim +++ b/src/oolib/classes/implement_class.nim @@ -1,4 +1,5 @@ import + std/algorithm, std/macrocache, std/macros, std/sequtils, @@ -272,7 +273,7 @@ proc defineImplementClass*( result = defineType(signature) defineConstructors(signature) - for constructor in signature.constructors: - result.add(constructor) + for constructor in signature.constructors.reversed: + result.insert 1, constructor result.add defineConvertionProc(signature, tupleTy) diff --git a/src/oolib/classes/normal_class.nim b/src/oolib/classes/normal_class.nim index 9b25887..b29c80d 100644 --- a/src/oolib/classes/normal_class.nim +++ b/src/oolib/classes/normal_class.nim @@ -1,4 +1,5 @@ import + std/algorithm, std/macros, std/sequtils, ./class_util @@ -164,5 +165,5 @@ proc defineNormalClass*( result = defineType(signature) defineConstructors(signature) - for constructor in signature.constructors: - result.add(constructor) + for constructor in signature.constructors.reversed: + result.insert 1, constructor