﻿id	summary	reporter	owner	description	type	status	priority	component	version	resolution	keywords	cc
13	Default type arguments for generic types	Rob Schluntz	Rob Schluntz	"The current definition of vector contains two type parameters:
{{{
trait allocator_c(otype T, otype allocator_t)
{
	void realloc_storage(allocator_t*, size_t);
	T* data(allocator_t*);
};

forall(otype T, otype allocator_t | allocator_c(T, allocator_t))
struct vector;
}}}
Instances of vector, awkwardly require specifying both type parameters:
{{{
vector( int, heap_allocator(int) ) iv;
}}}
Most of the time, the second parameter will be heap_allocator(T), so we want to allow specifying a default value for type parameters, e.g.,
{{{
forall(otype T, otype allocator_t = heap_allocator(T) | allocator_c(T, allocator_t))
struct vector;
}}}"	enhancement	closed	minor	cfa-cc	1.0	fixed	default type arguments generic types	Thierry Delisle
