Ayke van Laethem
6184a6cd35
Revert "Getting DeepEqual to work with maps whose key is an interface ( #4360 )"
...
This reverts commit 1fd75ffbda .
The change is not correct and allows code to continue while it should
panic. For details, see:
https://github.com/tinygo-org/tinygo/pull/4360#issuecomment-2252943012
2024-07-29 14:10:02 +02:00
Laurent Demailly
1fd75ffbda
Getting DeepEqual to work with maps whose key is an interface ( #4360 )
...
reflect: Getting DeepEqual to work with maps whose key is an interface
2024-07-24 00:30:02 +02:00
Damian Gryski
b6fd0c818e
src/reflect: uncomment more tests that pass
2024-05-29 13:56:04 -07:00
Ayke van Laethem
ee3106be98
reflect: update to Go 1.22 semantics
...
The IsZero function was changed slightly in Go 1.22, so we'll need to
update it.
While this could in theory break existing programs that rely on the old
behavior, they'd also break with the imminent Go 1.22 release so I don't
think this is a real problem.
2024-01-20 08:53:49 +01:00
Ayke van Laethem
fffad84a63
reflect: add SetZero
...
This was added in Go 1.20 and is required by encoding/json starting with
Go 1.21.
2023-07-07 18:12:57 +02:00
Ayke van Laethem
e98dfd6c46
reflect: implement Value.Grow
...
This was added in Go 1.20 and becomes necessary for encoding/json in Go
1.21.
2023-07-07 08:10:47 +02:00
Damian Gryski
9e7882b1b7
reflect: uncomment a another test the fails and doc some that don't
2023-04-01 22:46:46 +02:00
Damian Gryski
0c4f9d1f19
reflect; uncomment SetZero (but comment out the parts that fail)
2023-04-01 22:46:46 +02:00
Damian Gryski
a85cb22193
reflect: uncomment TestAppend and fix a bug it found
2023-04-01 22:46:46 +02:00
Damian Gryski
b39a982067
reflect: uncomment another test and fix RO logic issues it uncovered
2023-03-31 01:08:04 +02:00
Damian Gryski
5faff2e13a
reflect: add sipmlified strconv.Quote() implementation for struct tags
2023-03-30 21:10:54 +02:00
Damian Gryski
195de23d3b
reflect: Fix Kind(-1).String() and enable test
2023-03-30 21:10:54 +02:00
Damian Gryski
d4bdd836bc
reflect: implement and test Value.Comparable
2023-03-30 21:10:54 +02:00
Damian Gryski
a11f2436e3
reflect: TestAliasNames passes
2023-03-30 21:10:54 +02:00
Damian Gryski
181d2ad2b4
reflect: add CanInt() and friends and uncomments tests that pass
2023-03-30 21:10:54 +02:00
Damian Gryski
53b95cad08
reflect: uncomment Type.String() tests that pass
2023-03-30 21:10:54 +02:00
Damian Gryski
3612b7749e
reflect: uncomment all(?) the tests that pass
2023-03-25 13:57:00 +01:00
Damian Gryski
688a5dbf8d
reflct: reenable DeepEqual tests
2023-03-25 13:57:00 +01:00
Damian Gryski
35dcf135c0
reflect: comment out all tests but keep imports
2023-03-25 13:57:00 +01:00
Damian Gryski
c482d65397
reflect: replace all_test with copy from upstream
2023-03-25 13:57:00 +01:00
Damian Gryski
1cce1ea423
reflect: uncomment some DeepEqual tests that now pass
2023-02-28 13:10:40 -08:00
Julia Ogris
c759e6fc2d
reflect: Add Value.IsZero() method
...
Add Value.IsZero() with tests, largely copied from the Go source code.
The tests were altered to remove the parts calling `Zero()` as that is
still unimplemented in tinygo, and to remove a test that tries to catch
a panic which is not supported on wasi.
A new case for `UnsafePointer` in `Value.IsNil()` was required for
unsafe.Pointer tests to pass.
Link: https://cs.opensource.google/go/go/+/refs/tags/go1.19.3:src/reflect/value.go;l=1568
Link: https://cs.opensource.google/go/go/+/refs/tags/go1.19.3:src/reflect/all_test.go;l=1322
Co-authored-by: Cam Hutchison <camh@xdna.net >
2022-11-21 14:51:22 +01:00
Damian Gryski
ae1e7731a4
src/reflect: comment out a now-failing test
...
Keys() is unimplemented, which is required to compare
these two maps.
2021-12-18 10:02:36 +01:00
Ayke van Laethem
335fb71d2f
reflect: add support for DeepEqual
...
The implementation has been mostly copied from the Go reference
implementation with some small changes to fit TinyGo.
Source: https://github.com/golang/go/blob/77a11c05d6a6f766c75f804ea9b8796f9a9f85a3/src/reflect/deepequal.go
In addition, this commit also contains the following:
- A set of tests copied from the Go reflect package.
- An increased stack size for the riscv-qemu and hifive1-qemu targets
(because they otherwise fail to run the tests). Because these
targets are only used for testing, this seems fine to me.
2021-11-12 21:27:27 +01:00