Clay McClure <c...@daemons.net> added the comment: On Mon, Jun 1, 2009 at 5:02 PM, R. David Murray <rep...@bugs.python.org> wrote:
>> >>> ipaddr.IPv4('192.168.1.1') == ipaddr.IPv4('192.168.1.1/32') >> True > > As a network engineer I don't see any inherent problem with that equality. > In fact I make use of that conceptual equality on a regular basis. For an example of why 192.168.1.1 != 192.168.1.1/32, look no further than ifconfig: # ifconfig en0 192.168.1.1/32 # ifconfig en0 en0: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500 inet 192.168.1.1 netmask 0xffffffff broadcast 192.168.1.1 ... # ifconfig en0 192.168.1.1 # ifconfig en0 en0: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500 inet 192.168.1.1 netmask 0xffffff00 broadcast 192.168.1.255 ... Can you provide an example of when 192.168.1.1 does in fact equal 192.168.1.1/32? > Further, if you were to add a specifically 'address-without-netmask' > type, the above equality would still be true, because then the above > would be comparing two addresses-with-netmasks and you would want to > apply the hostmask to a bare address for convenience. To get inequality, > you'd be comparing two different object types...which comparison would > be False by default. I don't follow. Assuming hypothetical Address and Network classes, as accurately models the problem domain, we would have: False That seems to me the correct behavior, since an address is in fact not the same thing as a network. Clay ---------- _______________________________________ Python tracker <rep...@bugs.python.org> <http://bugs.python.org/issue3959> _______________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com