stdcxx-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Travis Vitek (JIRA)" <j...@apache.org>
Subject [jira] Commented: (STDCXX-612) many iterator types do not work with types that implement unary operator&
Date Mon, 07 Jan 2008 23:34:34 GMT

    [ https://issues.apache.org/jira/browse/STDCXX-612?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12556768#action_12556768
] 

Travis Vitek commented on STDCXX-612:
-------------------------------------

I'm a little on the fence as to whether item 1 above really is forward compatible or not.
There may be some compiler that we aren't testing that requires it, and we would be breaking
compatibility there.

I don't really have a problem with letting this issue sit until 4.3 or later. I'm also open
to never fixing the issue if someone can provide a reasonable argument for why you would want
it to not work. Of course that may require someone to explain why the standards gurus decided
to require this interesting behavior in some places. That said, if we are intent on doing
something with this issue now, then I think the above is acceptable.

> many iterator types do not work with types that implement unary operator&
> -------------------------------------------------------------------------
>
>                 Key: STDCXX-612
>                 URL: https://issues.apache.org/jira/browse/STDCXX-612
>             Project: C++ Standard Library
>          Issue Type: Bug
>          Components: 24. Iterators
>    Affects Versions: 4.2.0
>            Reporter: Travis Vitek
>            Assignee: Farid Zaripov
>             Fix For: 4.2.1
>
>         Attachments: operator_arrow.patch
>
>
> Code that uses the macro _RWSTD_OPERATOR_ARROW will be affected by this issue. Code that
has '&*' is also very likely to be affected.
> #include <deque>
> #include <iterator>
> #include <list>
> #include <set>
> #include <vector>
> struct S
> {
>    void operator& () const {};
> };
> int main ()
> {
>    // this is just a compile test, it is not intended to run
>    std::reverse_iterator<S*>().operator->();
>    std::set<S>::iterator().operator->();
>    std::deque<S>::iterator().operator->();
>    std::list<S>::iterator().operator->();
>    return 0;
> }

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


Mime
View raw message