From 296277802269383540
X-Google-Thread: f78e5,d9fe358a73c69991
X-Google-Attributes: gidf78e5,public
X-Google-Language: ENGLISH,ASCII-7-bit
Path: g2news1.google.com!news2.google.com!newsread.com!newsprint.newsread.com!newsfeed.stueberl.de!peer-uk.news.demon.net!kibo.news.demon.net!news.demon.co.uk!demon!stump.algebra.com!devnull
From: hinnant@metrowerks.com (Howard Hinnant)
Newsgroups: comp.std.c++
Subject: Re: Should failure to instantiate a function template abort compilation during overload resolution?
Date: Wed, 10 Aug 2005 14:47:24 GMT
Organization: Metrowerks
Lines: 25
Sender: mail2news@demon.net
Approved: fjh@cs.mu.oz.au (Fergus Henderson , moderator of comp.std.c++)
Message-ID: <hinnant-7A2DC8.09274510082005@syrcnyrdrs-03-ge0.nyroc.rr.com>
References: <1123485075.096196.242990@g44g2000cwa.googlegroups.com> <hinnant-6B7192.21000609082005@syrcnyrdrs-03-ge0.nyroc.rr.com> <1123642375.849913.19940@f14g2000cwb.googlegroups.com>
NNTP-Posting-Host: news.news.demon.net
X-Trace: news.demon.co.uk 1123685250 2055 158.152.254.254 (10 Aug 2005 14:47:30 GMT)
X-Complaints-To: abuse@demon.net
NNTP-Posting-Date: Wed, 10 Aug 2005 14:47:30 +0000 (UTC)
X-Robomod: STUMP, ichudov@algebra.com (Igor Chudov)
X-User-Agent: MT-NewsWatcher/3.4 (PPC Mac OS X)
X-Greylisting: NO DELAY (Relay+Sender autoqualified);
	processed by UCSD_GL-v2.1 on mailbox7.ucsd.edu;
	Wed, 10 August 2005 06:27:50 -0700 (PDT)
X-Virus-Scanned: amavisd-new at cs.mu.OZ.AU
X-Received: (from fjh@localhost)
	by mulga.cs.mu.OZ.AU (8.12.10+Sun/8.12.9/Submit) id j7AElO2O023444;
	Thu, 11 Aug 2005 00:47:24 +1000 (EST)
X-Path: comp-std-cpp-robomod!not-for-mail
X-NNTP-Posting-Date: Wed, 10 Aug 2005 09:27:45 EDT
X-Delivered-To: std-c++@ucar.edu
X-Spamscanner: mailbox7.ucsd.edu  (v1.6 Aug  4 2005 15:27:38, 0.0/5.0 3.0.4)
X-Authentication-Warning: mulga.cs.mu.OZ.AU: fjh set sender to devnull@stump.algebra.com using -f
X-Newsgroups: comp.std.c++
X-MailScanner: PASSED (v1.2.8 81693 j7ADRn1Z082465 mailbox7.ucsd.edu)
Xref: g2news1.google.com comp.std.c++:1746

In article <1123642375.849913.19940@f14g2000cwb.googlegroups.com>,
 "Wu Yongwei" <wuyongwei@gmail.com> wrote:

> My current opinion is that failure to instantiate a template function
> should automatically remove it from the candidates of overload
> resolution.

Compiler writers are understandably apprehensive of being required to 
back out of an arbitrarily complex function which generates an error.  
By "back out", I mean the compiler would have to put itself in the exact 
same state as it had before it began the function instantiation.  I'm 
not saying it is impossible to do so, just that this would be a new and 
non-trivial requirement on the compiler.

As mentioned in the c.l.c++.m thread, concepts (if accepted) may create 
this requirement and may resolve your issue.

-Howard

---
[ comp.std.c++ is moderated.  To submit articles, try just posting with ]
[ your news-reader.  If that fails, use mailto:std-c++@ncar.ucar.edu    ]
[              --- Please see the FAQ before posting. ---               ]
[ FAQ: http://www.jamesd.demon.co.uk/csc/faq.html                       ]



