Latest commits to develop don't compile

Using Xcode 15.4

/Users/rrabien/dev.github/Gin/juce/modules/juce_graphics/detail/juce_Ranges.h:140:40: error: no matching constructor for initialization of 'Ops::Split'
        ops = withOperationsFrom (ops, Ops::Split { *elemIndex });
                                       ^          ~~~~~~~~~~~~~~
/Users/rrabien/dev.github/Gin/juce/modules/juce_graphics/detail/juce_Ranges.h:71:16: note: candidate constructor (the implicit copy constructor) not viable: no known conversion from 'const value_type' (aka 'const unsigned long') to 'const juce::detail::Ranges::Ops::Split' for 1st argument
        struct Split
               ^
/Users/rrabien/dev.github/Gin/juce/modules/juce_graphics/detail/juce_Ranges.h:71:16: note: candidate constructor (the implicit move constructor) not viable: no known conversion from 'const value_type' (aka 'const unsigned long') to 'juce::detail::Ranges::Ops::Split' for 1st argument
        struct Split
               ^
/Users/rrabien/dev.github/Gin/juce/modules/juce_graphics/detail/juce_Ranges.h:73:13: note: candidate constructor not viable: requires 0 arguments, but 1 was provided
            Split() = delete;
            ^
/Users/rrabien/dev.github/Gin/juce/modules/juce_graphics/detail/juce_Ranges.h:174:44: error: no matching constructor for initialization of 'Ops::Erase'
            ops = withOperationsFrom (ops, Ops::Erase { { getIndex (firstToDelete), getIndex (beyondLastToDelete) } });
                                           ^          ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/rrabien/dev.github/Gin/juce/modules/juce_graphics/detail/juce_Ranges.h:78:16: note: candidate constructor (the implicit copy constructor) not viable: cannot convert initializer list argument to 'const juce::detail::Ranges::Ops::Erase'
        struct Erase
               ^
/Users/rrabien/dev.github/Gin/juce/modules/juce_graphics/detail/juce_Ranges.h:78:16: note: candidate constructor (the implicit move constructor) not viable: cannot convert initializer list argument to 'juce::detail::Ranges::Ops::Erase'
        struct Erase
               ^
/Users/rrabien/dev.github/Gin/juce/modules/juce_graphics/detail/juce_Ranges.h:80:13: note: candidate constructor not viable: requires 0 arguments, but 1 was provided
            Erase() = delete;
            ^
/Users/rrabien/dev.github/Gin/juce/modules/juce_graphics/detail/juce_Ranges.h:206:44: error: no matching constructor for initialization of 'Ops::Change'
            ops = withOperationsFrom (ops, Ops::Change { getIndex (it) });
                                           ^           ~~~~~~~~~~~~~~~~~
/Users/rrabien/dev.github/Gin/juce/modules/juce_graphics/detail/juce_Ranges.h:85:16: note: candidate constructor (the implicit copy constructor) not viable: no known conversion from 'size_t' (aka 'unsigned long') to 'const juce::detail::Ranges::Ops::Change' for 1st argument
        struct Change
               ^
/Users/rrabien/dev.github/Gin/juce/modules/juce_graphics/detail/juce_Ranges.h:85:16: note: candidate constructor (the implicit move constructor) not viable: no known conversion from 'size_t' (aka 'unsigned long') to 'juce::detail::Ranges::Ops::Change' for 1st argument
        struct Change
               ^
/Users/rrabien/dev.github/Gin/juce/modules/juce_graphics/detail/juce_Ranges.h:87:13: note: candidate constructor not viable: requires 0 arguments, but 1 was provided
            Change() = delete;
            ^
/Users/rrabien/dev.github/Gin/juce/modules/juce_graphics/detail/juce_Ranges.h:227:40: error: no matching constructor for initialization of 'Ops::New'
        ops = withOperationsFrom (ops, Ops::New { getIndex (insertBefore) });
                                       ^        ~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/rrabien/dev.github/Gin/juce/modules/juce_graphics/detail/juce_Ranges.h:64:16: note: candidate constructor (the implicit copy constructor) not viable: no known conversion from 'size_t' (aka 'unsigned long') to 'const juce::detail::Ranges::Ops::New' for 1st argument
        struct New
               ^
/Users/rrabien/dev.github/Gin/juce/modules/juce_graphics/detail/juce_Ranges.h:64:16: note: candidate constructor (the implicit move constructor) not viable: no known conversion from 'size_t' (aka 'unsigned long') to 'juce::detail::Ranges::Ops::New' for 1st argument
        struct New
               ^
/Users/rrabien/dev.github/Gin/juce/modules/juce_graphics/detail/juce_Ranges.h:66:13: note: candidate constructor not viable: requires 0 arguments, but 1 was provided
            New() = delete;
            ^
/Users/rrabien/dev.github/Gin/juce/modules/juce_graphics/detail/juce_Ranges.h:252:40: error: no matching constructor for initialization of 'Ops::New'
        ops = withOperationsFrom (ops, Ops::New { insertBeforeIndex });
                                       ^        ~~~~~~~~~~~~~~~~~~~~~
/Users/rrabien/dev.github/Gin/juce/modules/juce_graphics/detail/juce_Ranges.h:64:16: note: candidate constructor (the implicit copy constructor) not viable: no known conversion from 'const size_t' (aka 'const unsigned long') to 'const juce::detail::Ranges::Ops::New' for 1st argument
        struct New
               ^
/Users/rrabien/dev.github/Gin/juce/modules/juce_graphics/detail/juce_Ranges.h:64:16: note: candidate constructor (the implicit move constructor) not viable: no known conversion from 'const size_t' (aka 'const unsigned long') to 'juce::detail::Ranges::Ops::New' for 1st argument
        struct New
               ^
/Users/rrabien/dev.github/Gin/juce/modules/juce_graphics/detail/juce_Ranges.h:66:13: note: candidate constructor not viable: requires 0 arguments, but 1 was provided
            New() = delete;
            ^
/Users/rrabien/dev.github/Gin/juce/modules/juce_graphics/detail/juce_Ranges.h:289:40: error: no matching constructor for initialization of 'Ops::Change'
        ops = withOperationsFrom (ops, Ops::Change { start });
                                       ^           ~~~~~~~~~
/Users/rrabien/dev.github/Gin/juce/modules/juce_graphics/detail/juce_Ranges.h:85:16: note: candidate constructor (the implicit copy constructor) not viable: no known conversion from 'const size_t' (aka 'const unsigned long') to 'const juce::detail::Ranges::Ops::Change' for 1st argument
        struct Change
               ^
/Users/rrabien/dev.github/Gin/juce/modules/juce_graphics/detail/juce_Ranges.h:85:16: note: candidate constructor (the implicit move constructor) not viable: no known conversion from 'const size_t' (aka 'const unsigned long') to 'juce::detail::Ranges::Ops::Change' for 1st argument
        struct Change
               ^
/Users/rrabien/dev.github/Gin/juce/modules/juce_graphics/detail/juce_Ranges.h:87:13: note: candidate constructor not viable: requires 0 arguments, but 1 was provided
            Change() = delete;
            ^
/Users/rrabien/dev.github/Gin/juce/modules/juce_graphics/detail/juce_Ranges.h:292:40: error: no matching constructor for initialization of 'Ops::Erase'
        ops = withOperationsFrom (ops, Ops::Erase { { end, end + 1 } });
                                       ^          ~~~~~~~~~~~~~~~~~~~~
/Users/rrabien/dev.github/Gin/juce/modules/juce_graphics/detail/juce_Ranges.h:78:16: note: candidate constructor (the implicit copy constructor) not viable: cannot convert initializer list argument to 'const juce::detail::Ranges::Ops::Erase'
        struct Erase
               ^
/Users/rrabien/dev.github/Gin/juce/modules/juce_graphics/detail/juce_Ranges.h:78:16: note: candidate constructor (the implicit move constructor) not viable: cannot convert initializer list argument to 'juce::detail::Ranges::Ops::Erase'
        struct Erase
               ^
/Users/rrabien/dev.github/Gin/juce/modules/juce_graphics/detail/juce_Ranges.h:80:13: note: candidate constructor not viable: requires 0 arguments, but 1 was provided
            Erase() = delete;
            ^
7 errors generated.

Is nobody else seeing this? I can’t build on any platform.

I can see this issue, it’s affecting C++20 builds. We’ll address this first thing.

Yes, I am seeing the same thing. I was just waiting for a “fixed” release to appear because this happens right away. I figured the devs already knew.

This seems like something CI should catch?

2 Likes

A fix has been released on the develop branch

2 Likes