Marc Tiehuis
ffb089a9f5
Fix json parser comma after empty object case
2018-06-08 17:43:13 +12:00
Andrew Kelley
f0b6dac1f2
add implicit casts from *[N]T
...
* to `[]T`
* to `[*]T`
See #770
2018-06-07 22:41:58 -04:00
Andrew Kelley
b65203f573
remove @canImplicitCast builtin
...
nobody will miss it
2018-06-07 19:50:25 -04:00
Andrew Kelley
688ff2830d
langref: automatic update of builtin.zig
...
now the docs can't get out of date for this
See #367
2018-06-07 19:10:45 -04:00
Andrew Kelley
31aefa6a21
fix structs that contain types which require comptime
...
Now, if a struct has any fields which require comptime,
such as `type`, then the struct is marked as requiring
comptime as well. Same goes for unions.
This means that a function will implicitly be called
at comptime if the return type is a struct which contains
a field of type `type`.
closes #586
2018-06-07 18:07:30 -04:00
Andrew Kelley
b11c5d8f82
fix std.os.windows.PathFileExists specified in the wrong DLL ( #1066 )
...
closes #1054
2018-06-06 15:36:47 -04:00
isaachier
4fc601895b
Fix const-ness of buffer in replaceContents method ( #1065 )
2018-06-06 14:09:47 -04:00
Marc Tiehuis
e7f141b376
Add json.TokenStream ( #1062 )
...
This hides some of the low-level parsing details from the
StreamingParser. These don't need to be known when parsing a complete
slice at once (which is we can usually do).
Also, remove `Json` from Parser names. The namespace `json` is sufficient.
2018-06-06 11:24:36 -04:00
Braedon
f389e53735
Add newline to zig fmt error ( #1064 )
2018-06-06 10:45:19 -04:00
Marc Tiehuis
212449bc23
Fix Log2Int type construction
...
The following case for example, would previously fail:
const a = u24(1) << Log2Int(u24)(22);
2018-06-06 22:41:55 +12:00
Andrew Kelley
d3693dca73
Pointer Reform: update @typeInfo
...
* add assertion for trying to do @typeInfo on global error set
* remove TypeInfo.Slice
* add TypeInfo.Pointer.Size with possible values
- One
- Many
- Slice
See #770
2018-06-06 00:39:39 -04:00
Andrew Kelley
76c8efd56c
add test for not allowing implicit cast from T to [*]const T
...
See #770
2018-06-05 23:54:14 -04:00
Andrew Kelley
bd13e757e7
disable deref syntax for unknown length pointers
...
See #770
2018-06-05 23:26:43 -04:00
Andrew Kelley
0ccc186869
disable field access for unknown length pointers
...
See #770
2018-06-05 23:26:43 -04:00
Andrew Kelley
bbb565a21e
README: update support table
...
macosx does not run on some of these architectures
2018-06-05 21:56:19 -04:00
Andrew Kelley
652f4bdf62
disallow unknown-length pointer to opaque
...
This also means that translate-c has to detect when a pointer to
opaque is happening, and use `*` instead of `[*]`.
See #1059
2018-06-05 18:03:21 -04:00
Andrew Kelley
7a09482536
fix crash when evaluating return type has compile error
...
closes #1058
2018-06-05 10:48:53 -04:00
Andrew Kelley
677eaf29b1
Merge pull request #1057 from ziglang/comptime-int
...
Rename integer literal type and float literal type
2018-06-05 10:16:51 -04:00
Jimmi HC
a8146ade2a
Renamed UndefinedLiteral to Undefined
2018-06-05 11:54:11 +02:00
Jimmi HC
236c680f6b
Removed NullLiteral to Null
2018-06-05 11:30:01 +02:00
Jimmi HC
02cb220faf
Renamed "(int/float literal)" to "comptime_int/float"
2018-06-05 11:14:43 +02:00
Andrew Kelley
e53b683bd3
Pointer Reform: proper slicing and indexing ( #1053 )
...
* enable slicing for single-item ptr to arrays
* disable slicing for other single-item pointers
* enable indexing for single-item ptr to arrays
* disable indexing for other single-item pointers
see #770
closes #386
2018-06-04 22:11:14 -04:00
Andrew Kelley
32e0dfd4f0
never call malloc with size 0
...
instead we return nullptr. this makes the behavior consistent
across all platforms.
closes #1044
closes #1045
2018-06-04 14:09:31 -04:00
Andrew Kelley
d21a1922eb
support zig fmt: off
and zig fmt: on
between top level decls
...
closes #1030
closes #1033
2018-06-04 12:15:02 -04:00
Andrew Kelley
8dfa66fee3
Merge branch 'tgschultz-zig-custom-format'
2018-06-04 11:07:47 -04:00
Andrew Kelley
11e7e03139
Merge branch 'zig-custom-format' of https://github.com/tgschultz/zig into tgschultz-zig-custom-format
...
I removed the code that checks for type signature and type.
A function named `format` is enough for zig to give it a try.
2018-06-04 11:06:55 -04:00
Andrew Kelley
96164ce613
disallow single-item pointer indexing
...
add pointer arithmetic for unknown length pointer
2018-06-04 01:39:57 -04:00
Marc Tiehuis
4c273126df
Add context to zig_unreachable calls ( #1039 )
...
This greatly aids debugging on platforms with no stack-traces.
2018-06-03 02:30:43 -04:00
Andrew Kelley
b85b68a7fd
better compile error for error sets behind nullable
2018-06-02 15:20:51 -04:00
Marc Tiehuis
e514454c0e
Make zig fmt exit with error on any parse errors
...
This is required for proper detection in editor plugins. Other files may
have been formatted correctly, this only indicates that some failed.
2018-06-02 20:49:35 +12:00
Andrew Kelley
f06bce5dda
introduce [*] for unknown length pointers
...
See #770
Currently it does not have any different behavior than `*`
but it is now recommended to use `[*]` for unknown length
pointers to be future-proof.
Instead of [ * ] being separate tokens as the proposal
suggested, this commit implements `[*]` as a single token.
2018-06-02 04:04:23 -04:00
Andrew Kelley
7b386ea242
fix build file template
...
See #1035
2018-06-01 21:51:54 -04:00
Andrew Kelley
a3d7a807b7
appveyor: remove llvm 5.0.1 from cache
2018-06-01 12:22:53 -04:00
Andrew Kelley
081072d3b6
docs: add missing builtin to langref syntax coloring
2018-06-01 12:22:53 -04:00
Arthur Elliott
08693411d2
fix typo ( #1034 )
2018-06-01 12:23:07 -04:00
Andrew Kelley
3918e7699d
Merge pull request #1032 from ziglang/pointer-reform
...
use * for pointer type instead of &
2018-06-01 11:49:25 -04:00
Andrew Kelley
e29d12d821
fix incorrect address-of syntax on windows
2018-06-01 01:29:34 -04:00
Andrew Kelley
5f38a01ede
run zig fmt
2018-06-01 01:22:35 -04:00
Andrew Kelley
4d13ab07de
std.zig: update to new pointer syntax
2018-06-01 01:19:26 -04:00
Andrew Kelley
2a7c8c5b10
add test case for pointer to type and slice of type
...
closes #588
2018-06-01 00:18:10 -04:00
Andrew Kelley
019217d7a2
fix regressions
2018-06-01 00:17:31 -04:00
Andrew Kelley
2f614c42fe
ir: rip out special logic for using addr-of instruction for types
...
See #588
2018-05-31 18:23:39 -04:00
Andrew Kelley
fcbb7426fa
use * for pointer type instead of &
...
See #770
To help automatically translate code, see the
zig-fmt-pointer-reform-2 branch.
This will convert all & into *. Due to the syntax
ambiguity (which is why we are making this change),
even address-of & will turn into *, so you'll have
to manually fix thes instances. You will be guaranteed
to get compile errors for them - expected 'type', found 'foo'
2018-05-31 17:28:07 -04:00
Andrew Kelley
717ac85a5a
zig fmt: add --color option to CLI help text
2018-05-30 18:37:12 -04:00
Andrew Kelley
a05acaf9fd
Add --color CLI option to zig fmt
...
It doesn't actually do terminal color yet because we need to add
cross platform terminal color abstractions. But it toggles between
the single line error reporting and the multiline error reporting.
See #1026
2018-05-30 18:26:09 -04:00
Andrew Kelley
d8699ae57e
zig fmt: don't compute a sha-256 for no reason
...
I forgot to delete this code before pushing 2c96f19fd3
2018-05-30 16:45:32 -04:00
Andrew Kelley
ea58f4a5a9
run zig fmt on the codebase
2018-05-30 16:09:11 -04:00
Andrew Kelley
b082cd4580
zig fmt: field access does not cause spaces for slicing
...
See #1003
2018-05-30 16:08:40 -04:00
Andrew Kelley
84b1842026
zig fmt: space after fn in fn prototypes
...
See #1003
2018-05-30 15:50:01 -04:00
Andrew Kelley
93b51b0e40
spaces around slice operator if operands are infix
...
See #1003
2018-05-30 15:33:58 -04:00