diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 588cf873a7..5cb1578760 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -71,6 +71,7 @@ jobs: model: 32 name: ${{ matrix.job_name }} runs-on: ${{ matrix.os }} + continue-on-error: ${{ matrix.os == 'macos-13' }} timeout-minutes: 40 env: # for ci/run.sh: diff --git a/VERSION b/VERSION index 8463aee451..1880c9808c 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -v2.107.0 +v2.107.1-rc.1 diff --git a/compiler/src/dmd/semantic2.d b/compiler/src/dmd/semantic2.d index 58ef4123df..f5ce0c0ada 100644 --- a/compiler/src/dmd/semantic2.d +++ b/compiler/src/dmd/semantic2.d @@ -876,7 +876,7 @@ private extern(C++) final class StaticAAVisitor : SemanticTimeTransitiveVisitor hookFunc = new DotIdExp(aaExp.loc, hookFunc, Id.object); hookFunc = new DotIdExp(aaExp.loc, hookFunc, Id._aaAsStruct); auto arguments = new Expressions(); - arguments.push(aaExp.syntaxCopy()); + arguments.push(aaExp); Expression loweredExp = new CallExp(aaExp.loc, hookFunc, arguments); sc = sc.startCTFE(); diff --git a/compiler/test/runnable/staticaa.d b/compiler/test/runnable/staticaa.d index e5b25d1f66..089144c4fb 100644 --- a/compiler/test/runnable/staticaa.d +++ b/compiler/test/runnable/staticaa.d @@ -165,6 +165,22 @@ void testEnumInit() ///////////////////////////////////////////// +// https://issues.dlang.org/show_bug.cgi?id=24370 +immutable uint[3][string] test = [ + "oneTwoThree": [1,2,3], + "fourFiveSix": [4,5,6], + "sevenEightNine": [7,8,9], +]; + +void testStaticArray() +{ + assert(test["oneTwoThree"] == [1, 2, 3]); + assert(test["fourFiveSix"] == [4, 5, 6]); + assert(test["sevenEightNine"] == [7, 8, 9]); +} + +///////////////////////////////////////////// + void main() { testSimple(); @@ -175,4 +191,5 @@ void main() testImmutable(); testLocalStatic(); testEnumInit(); + testStaticArray(); }