0

This leads to difficulties when trying to control the ABI of a shared library: one must apply attributes to and export the whole class from the shared library, which is not an option some members of the class should not be exported.

Here how are "which is not an option" and "some members of the class should not be exported." connected? Is it grammatically correct?

Original source comes from https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p1263r0.pdf

I think it should be "which is not an option when some members of the class should not be exported." Is it right?

5
  • 2
    Something is not right with that clause. Where did you find it?
    – fev
    Commented Aug 8, 2023 at 15:34
  • 1
    Doesn't make sense. Without knowing what the author had in mind, one can use one's imagination to correct it. But that's off-topic here anyway.
    – fev
    Commented Aug 8, 2023 at 15:40
  • @fev So the above sentence is grammatically incorrect. right?
    – Edwin
    Commented Aug 8, 2023 at 15:42
  • 2
    'which is not an option X some members of the class should not be exported' X can be when/where/if, as/because/since (or a colon or semicolon or dash), depending on meaning, but not absent. Commented Aug 8, 2023 at 15:42
  • @Edwin Yes, no doubt.
    – fev
    Commented Aug 8, 2023 at 15:50

2 Answers 2

1

After reading "which is not an option some members of the class...", I would expect a transitive verb.

which is not an option
             ^object^^

some members of the class
^^^^subject^^^^^^^^^^^^^^
 
should not (be exported)
            ^^^^^^^^^^^intransitive verb

However, changing "be exported" to "export" would make a double negative, so that sentence is probably missing the word "if" after the word "option", as the comments point out.

In that case, the sentence makes perfect sense:

... one must apply attributes to and export the whole class from the shared library, which is not an option [if] some members of the class should not be exported.

1
  • 1
    Your answer could be improved with additional supporting information. Please edit to add further details, such as citations or documentation, so that others can confirm that your answer is correct. You can find more information on how to write good answers in the help center.
    – Community
    Commented Aug 8, 2023 at 18:18
0

You are correct; there is a missing word there, possibly when or if:

This leads to difficulties when trying to control the ABI of a shared library: one must apply attributes to and export the whole class from the shared library, which is not an option if some members of the class should not be exported.

Otherwise the relative clause would have two main verbs ("is" and "should").

You must log in to answer this question.