Proper auto-completions (like those for blocks) missing for C++11 lambda functions.

Originator:satsumac
Number:rdar://13409273 Date Originated:March 13th 2013
Status:open Resolved:
Product:Developer Tools Product Version:4.6
Classification:Enhancement Reproducible:n/a
 
Summary:

	C-Blocks have very nifty and helpful auto-completion:

	typedef int(^block_t)(int bar);
	void foo(block_t block) {}
	void bar() {
	
		// auto-completion when typing "foo(...":
		foo(<#^int(int bar)block#>);
	
		// after hitting enter on token:
		foo(^int(int bar) {
			<#code#>
		});
	}

	C++11-style lambda functions don't however.

Steps to Reproduce:

	Type this code snippet:

	typedef std_or_tr1::function<int(int bar)> lambda_t;
	void foo(lambda_t lambda) {}
	void bar() {
		
		// in here then type "foo(" (without quotes obviously) and wait for auto-completion

	}

Expected Results:

	typedef std_or_tr1::function<int(int bar)> lambda_t;
	void foo(lambda_t lambda) {}
	void bar() {
		// auto-completion when typing "foo(...":
		foo(<#[](int bar)lambda#>);
	
		// after hitting enter on token:
		foo([](int bar) {
			<#code#>
		});
	}

Actual Results:

	typedef std_or_tr1::function<int(int bar)> lambda_t;
	void foo(lambda_t lambda) {}
	void bar() {
		// auto-completion when typing "foo(...":
		foo(<#lambda_t lambda#>);
	
		// after hitting enter on token:
		foo(lambda_t lambda); // not helpful at all.
	}

Duplicates

Number Status Originator Product Title
rdar://15737608 Duplicate/13409273 kusterer Developer Tools Xcode 5.0.2: C++11's std::function should be expanded like blocks are

Comments


Please note: Reports posted here will not necessarily be seen by Apple. All problems should be submitted at bugreport.apple.com before they are posted here. Please only post information for Radars that you have filed yourself, and please do not include Apple confidential information in your posts. Thank you!