Go to file
sin-ack 032c722d20
Sema: Fix many-pointer array concatenation at comptime (#11512)
* Sema: Correctly determine whether array_cat lhs and rhs are single ptrs

Many-pointers are also not single-pointers and wouldn't be considered
here. This commit makes the conditions use the appropriately-named
isSinglePointer instead.

* Sema: Correctly obtain ArrayInfo for many-pointer concatenation

Many-pointers at comptime have a known size like slices and can be used
in array concatenation. This fixes a stage1 regression.

* test: Add comptime manyptr concatenation test

Co-authored-by: sin-ack <sin-ack@users.noreply.github.com>
2022-04-29 22:53:06 -04:00
.builds
.github
ci ci: ignore fmt errors in test/incremental/ 2022-04-28 18:35:01 +02:00
cmake
deps Do not detect byte-order using _BIG/_LITTLE_ENDIAN 2022-04-12 11:14:33 -07:00
doc add new builtin function @tan 2022-04-27 16:45:23 -07:00
lib std.MultiArrayList: add functions addOne, pop, and popOrNull (#11553) 2022-04-29 22:51:53 -04:00
src Sema: Fix many-pointer array concatenation at comptime (#11512) 2022-04-29 22:53:06 -04:00
test Sema: Fix many-pointer array concatenation at comptime (#11512) 2022-04-29 22:53:06 -04:00
tools
.gitattributes
.gitignore
build.zig
CMakeLists.txt compiler-rt: math functions reorg 2022-04-27 12:20:44 -07:00
LICENSE
README.md

ZIG

A general-purpose programming language and toolchain for maintaining robust, optimal, and reusable software.

Resources

Installation

License

The ultimate goal of the Zig project is to serve users. As a first-order effect, this means users of the compiler, helping programmers to write better software. Even more important, however, are the end-users.

Zig is intended to be used to help end-users accomplish their goals. Zig should be used to empower end-users, never to exploit them financially, or to limit their freedom to interact with hardware or software in any way.

However, such problems are best solved with social norms, not with software licenses. Any attempt to complicate the software license of Zig would risk compromising the value Zig provides.

Therefore, Zig is available under the MIT (Expat) License, and comes with a humble request: use it to make software better serve the needs of end-users.

This project redistributes code from other projects, some of which have other licenses besides MIT. Such licenses are generally similar to the MIT license for practical purposes. See the subdirectories and files inside lib/ for more details.