Whole Tomato Software Forums
Whole Tomato Software Forums
Main Site | Profile | Register | Active Topics | Members | Search | FAQ
 All Forums
 Visual Assist
 Technical Support
 Bug in "Create implementation"

You must be registered to post a reply.
Click here to register.

Screensize:
UserName:
Password:
Format: BoldItalicizeUnderlineStrikethrough Align leftCenterAlign right Insert horizontal ruleUpload and insert imageInsert hyperlinkInsert email addressInsert codeInsert quoted textInsert listInsert Emoji
   
Message:

Forum code is on.
Html is off.

 
Check to subscribe to this topic.
   

T O P I C    R E V I E W
stefan_reinalter Posted - Sep 24 2021 : 04:52:40 AM
When using "Create implementation" on a function in a header file, VAX will fail to correctly scope return arguments whenever a macro is also used (e.g. for attributes).

The following code reproduces the problem:

Place the following into a header file:

#define LPP_NO_DISCARD [[no_discard]]

namespace Outer
{
  enum class Nested
  {
    Test
  };

  [[no_discard]] Nested Works(void);
  LPP_NO_DISCARD Nested Fails(void);
}


Using "Create implementation" on both Works and Fails yields the following in the .cpp file:


Outer::Nested Outer::Works(void)
{

}

LPP_NO_DISCARD Nested Outer::Fails(void)
{

}


Notice how with Works(), the return type Nested is properly scoped (Outer::Nested), whereas with Fails(), the return type is missing the scope operator Outer::.
1   L A T E S T    R E P L I E S    (Newest First)
feline Posted - Sep 24 2021 : 1:02:36 PM
I am seeing the same effect here. Thank you for the clear description.

case=146244

No simple work around for this one I am afraid.

© 2023 Whole Tomato Software, LLC Go To Top Of Page
Snitz Forums 2000