# ddoc10

struct Foo(T);
struct Foo(T, U);
  The foo
int func1(T)(T x);
  This basic case doesn't work very well. The template signature is documented twice, but the function signature (argument names and return type) is not documented at all. This comment is also repeated twice.
int func2(T, U)(T x, U y);
int func2(T)(T x);
  This comment is also repeated twice, and the second function signature is not very well documented.
int func2()();
  Separate overload item.
int func3(T, U)(T x, U y);
int func3(T, U = int, V : long)(T x);
  This used to work adequately and documented both func3 templates simultaneously. Now, it documents the first template twice and no longer documents the function argument and return types.
void map(char rs);
void map(int rs);
  blah
void map2()(char rs);
void map2()(int rs);
  blah
void map3(char rs);
  blah http://www.map3.com map3
void map4(string s)(char rs);
  blah http://www.map.com map
template map5(string s)
  blah http://www.map.com map
struct bar6;
  blah
struct Foo7(T);
  template bodies
  void bar();
    Attempt two: Inside.
    Attempt one: Doc outside static if.
  static void abc();
    the abc function should be static
abstract class Foo8;
  show abstract
void bug4878(string a = ")");
  a stray ) mustn't foul the macros
struct S;
  const pure nothrow this(long ticks);
  const pure nothrow void foo(long ticks);
float f10(float a, float b);
  Produces something in (a;b]
float h10(float a, float b);
  Produces something in [a;b)
void bug6090(string f = "$(B b)", char g = ')')(string h = "$(", string i = "$)");
struct T;
  this(A...)(A args);
  this(int);
int x14547;
enum int y14547;
  doc-comment
enum auto isInt14547(T);
enum bool isString14547(T);
static immutable typeName14547(T);
int storageFor14547(T);
  doc-comment
enum int foo14547(T);
template bar14547(T) if (is(T == int))
  doc-comment

Page generated by Ddoc.