[bug #53994] Can't set a value on keypath using NSValue containing a size

Ivan Vučica <[email protected]>
Newsgroups gmane.comp.lib.gnustep.bugs
Message-ID <[email protected]>
URL:
  <http://savannah.gnu.org/bugs/?53994>

                 Summary: Can't set a value on keypath using NSValue
containing a size
                 Project: GNUstep
            Submitted by: ivucica
            Submitted on: Sun 27 May 2018 05:49:56 PM UTC
                Category: Base/Foundation
                Severity: 3 - Normal
              Item Group: Bug
                  Status: None
                 Privacy: Public
             Assigned to: None
             Open/Closed: Open
         Discussion Lock: Any

    _______________________________________________________

Details:

```objective-c
#import <Foundation/Foundation.h>

@interface A : NSObject
{
  NSSize _s;
}
@end
@implementation A
- (NSSize) s {
  return self->_s;
}
- (void) setS: (NSSize) s {
  self->_s = s;
}
@end
int main() {
  NSSize in = NSMakeSize(1.0, 2.0);
  NSValue * v = [NSValue valueWithSize: in]; 
  /*
  originally observed with:
  NSValue * v = [NSValue valueWithBytes: &in
                               objCType: @encode(NSSize)];
  */
  A * a = [A new];
  [a setValue: v
       forKey: @"s"];

  return 0;  
}
```

Output:

```
$ clang `gnustep-config --objc-flags` `gnustep-config --objc-libs`
`gnustep-config --base-libs` repro.m -o repro && ./repro
clang: warning: argument unused during compilation: '-fobjc-nonfragile-abi'
clang: warning: argument unused during compilation: '-fobjc-nonfragile-abi'
2018-05-27 18:45:53.501 repro[14679:14679] match! point is {_NSPoint=dd}, type
is {_NSSize=dd}
./repro: Uncaught exception NSInvalidArgumentException, reason:
[GSSizeValue-pointValue] should be overridden by subclass
Aborted
```




    _______________________________________________________

Reply to this item at:

  <http://savannah.gnu.org/bugs/?53994>

_______________________________________________
  Message sent via Savannah
  https://savannah.gnu.org/
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.